CAD设计论坛

 找回密码
 立即注册
论坛新手常用操作帮助系统等待验证的用户请看获取社区币方法的说明新注册会员必读(必修)
查看: 3886|回复: 0

[资源下载] AutoCAD二次开发配置入门1-生成Arx文件步骤

[复制链接]
发表于 2009-8-6 16:07 | 显示全部楼层 |阅读模式
ObjetArx2004+VS2002
+ A& W' B5 m- }1 H/ C+ s& Z前提:安装好以上两种软件  q+ R. m! w/ d6 W- a; {
创建步骤:& \: @0 {1 e; }) ]6 o
1. 新建项目1 f+ q! X' K( m1 Y% e' Y' j) f
Visual C++项目->选择ObjectARX/DBX/OMF->键入"Demo"项目名称
  c( i& I6 J: i8 `  Z9 s3 cMFC Support中勾选Enxtension Dll->using MFC Shared DLL,其他取默认值
4 T) g. H$ d) \+ z2. 删除文件
/ ^, L' ?8 A6 k+ @在“解决方案资源管理器”中删除向导生成的acrxEntryPoint.cpp,DocData.cpp,DocData.h文件
  ]0 X. P2 N  A; N# v同时可以在文件夹下彻底删除文件,后续步骤并不需要用到这3个文件。 如果删除的话,注意需要修改StdAfx.h文件代码,在此文件最末尾:
- O- b& G, y7 Z" J6 i#include "DocData.h" //----- Your document specific data# v( u' F6 |2 l% a2 f) }
extern AcApDataManager DocVars ;1 g5 V, O( j. P& A7 x
注释掉上面两行代码。
  f1 U! t7 J  ?5 j. V3. 添加Demo.h文件
4 l$ [( B1 w+ U# o同时在Demo.h文件中加入代码$ n* a6 l# _$ u- x* J. L
#pragma once; x! e- M: r& ?: K( x
#include"resource.h"
4 w5 L5 r8 V/ k9 T4 y$ S' q3. 创建一个普通对话框,基于CDialog类,并生成类CDlgDemo  f* e3 D" F3 t3 C1 [9 a
4. 打开Demo.cpp文件,对这个文件要进行比较多的操作" _* s4 F  R3 j5 ~3 d
注释掉"AFX_EXTENSION_MODULE DemoExtDLL ={ NULL, NULL };"这一句
" P8 S8 J( ~% v·添加#include "DlgDemo.h"头文件
0 S, U: n9 k" M; a9 j( L·添加函数DlgDemo(),具体见附件源文件代码  V$ R, D9 h3 D3 Z. T, \
·添加initApp(),unloadApp()
2 d  a1 M' X! Y  p( I: x: w注释掉DllMain中的"_hdllInstance =hInstance ;. A( T+ t$ O) t# f9 Z
·在文件的末尾添加acrxEntryPoint(). d( z/ R! j' ?) ]$ V* }) L
这里需要提醒一下的是关于AC_IMPLEMENT_EXTENSION_MODULE(DemoDLL)的使用
1 n: j% T2 A+ x7 E. z" p涉及到了Dll资源的使用,所以DemoDLL在这里相当于一个连接AutoCAD和MFC的纽带,2 w& D( h# }4 ]* r
保持整个Demo.cpp中,DemoDLL的一致" T; ' z& j. f$ ?& }  T' d5 e' ~: A- A
5. 项目设置  b0 g; ?) ]) u, p( \
菜单"工具"->"选项"->"项目"->"包含文件"->添加ObjectARX2004的inc目录) w: p5 R- C& f2 H9 \
->"库文件"->添加ObjectARX2004的lib目录* J8 x% `% f0 z! ^
6. 生成解决方案) J2 T, M7 N  }3 \8 ?! }! X( c7 u
一切pass,有2个警告rxapi.lib(libinit.obj) : warning LNK4099: 未发现 PDB“msvc.pdb
! H& n0 g% M* X* {# [7 X9 F, P1 facedapi.lib(acedstub.obj) : warning LNK4099: 未发现 PDB“corehdr.pdb1 Z$ G6 Y/ A$ e- X3 Y1 w
不用去管它,ObjectARX开发文档已经说明了这个问题的存在,不影响使用)
$ k5 ~+ J0 ?* r& {) V7 ?: O8 u, x$ [4 A+ c' F% N% D
至此为止,我们已经生成了MarkDemo.arx,在Debug目录下可以找到,下面将继续介绍如何在
! F5 L* J2 \. b! ~AutoCAD2004菜单中自动加载Demo对话框

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于|免责|隐私|版权|广告|联系|手机版|CAD设计论坛

GMT+8, 2025-5-30 13:12

CAD设计论坛,为工程师增加动力。

© 2005-2025 askcad.com. All rights reserved.

快速回复 返回顶部 返回列表