- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ObjectArx自定义实体入门
[资料]ObjectArx自定义实体入门(C++)及注意事项收藏本文介绍了构造自定义实体的步骤、必须继承的函数和必须注意的事项??H; m; ?6 A: Z8 j- t! k/ \ e8 T1.新建一个从AcDbEntity继承的类,如EntTest,必须添加的头文件: stdarx.h,acadstrc.h, geassign.h。. S0 P: ?# S% S l r U# S2.在该类头文件的类声明中添加宏:ACRX_DECLARE_MEMBERS(EntTest);, o, Y. O* x% G. a v. d3.在该类的cpp文件中,类的前面添加宏: O p ~( r9 w+ k. H2 V. p0 U: rACRX_DXF_DEFINE_MEMBERS(EntTest, AcDbEntity,AcDb::kDHL_CURRENT, AcDb::kMReleaseCurrent,0,平面实体,autoCAD);//第5个参数为在CAD中该实体类的名称,$ b4 y1 N5 h0 |MAKE_ACDBOPENOBJECT_FUNCTION(EntTest);0 D( Y4 V* ` j* R/ V. T( Y4.从AcDbEntity类中重载几个必须的虚函数:8 T! u% f! s p( [ x; `? ?? ?virtual Adesk::Boolean worldDraw(AcGiWorldDraw* mode);; `* o/ h1 Z* c? ???virtual Acad::ErrorStatusdwgInFields(AcDbDwgFiler*);??]7 c, f7 g, B$ r, O: C- a? ? virtual Acad::ErrorStatusdwgOutFields(AcDbDwgFiler*) const;! k; l; l( q% a) P D/ r+ Qvirtual Acad::ErrorStatusgetGripPoints(AcGePoint3dArray gripPoints,AcDbIntArrayosnapModes,AcDbIntArray geomIds) const;??t h( Q; m( v9 d2 a B? ? virtual Acad::ErrorStatusmoveGripPointsAt(const AcDbIntArray indices,const AcGeVector3d offset);: t* V5 O7 I4 {% f0 ` [5.实现第4步中几个虚函数必须注意:5 | b+ s9 Q5 t1 r6 m# Z??在dwgInFields函数的开始处必须有:1 I, O5 t# m( j. E? ?assertWriteEnabled();$ t7 K h. t$ l* ]6 \ H) o! x* GAcDbObject::dwgInFields(pFiler);, [8 u+ Q6 [3 @% X( ]% Sif(pFiler-filerType()==AcDb::kWblockCloneFiler)! @0 w U# g g8 {1 ?+ z3 |{ _( \+ ~8 `- {2 n4 T??AcDbHardPointerId Id;5 X3 Z7 E! S2 R??}( Z??pFiler-readItem(Id);??7 Z: P% _2 @$ U% ?% R4 \}0 r/ g/ t! Y E! s$ f4 r! G( g??e在dwgOutFields函数的开始处必须有:6 _4 k??O; C+ o? ???assertReadEnabled();# r0 g, h: n2 s6 q+ F. P* {??AcDbObject::dwgOutFields(pFiler);( G q1 `: D! O0 u, a$ j0 A??if (pFiler-filerType()==AcDb::kWblockCloneFiler) h2 {8 K2 ]$ @4 K N1 B? ?pFiler-writeHardPointerId((AcDbHardPointerId)ownerId());7 e# r$ R/ l k6 S- \! A/ j上叙两个函数是用来写入写出自定义实体的成员变量的,以保证在拖动夹点的过程中这些变量是实时变化的(可以在worldDraw或moveGripPointsAt中改变这些值)。成员变量不能为指针,在要用数组指针的场合可用Carray数组来实现。$ R% C( D4 H??W- f6.这一步很重要,少了它就不是自定义实体了,呵呵。) s6 h+ i) K7 O在InitApplication()函数中添加:8 m.
您可能关注的文档
- 784句英语背熟 即可学会7000单词.doc
- 8周30天背完7000考研单词.doc
- 2013年完型填空.doc
- 通信术语大全.doc
- 客房双锁处理.doc
- ZigBee学习之40—Home Automation Profile3.doc
- 语言学-利奇《语义学》读书笔记.docx
- 轧钢操作系统英文对照.doc
- IP组播RPF失败常见问题的故障排除方法.docx
- LensVector可调式液晶透镜.doc
- 中国国家标准 GB/T 18233.4-2024信息技术 用户建筑群通用布缆 第4部分:住宅.pdf
- GB/T 18233.4-2024信息技术 用户建筑群通用布缆 第4部分:住宅.pdf
- GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计.pdf
- 《GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计》.pdf
- 中国国家标准 GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计.pdf
- GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置.pdf
- 《GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置》.pdf
- 中国国家标准 GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置.pdf
- GB/T 17889.4-2024梯子 第4部分:铰链梯.pdf
- 《GB/T 17889.4-2024梯子 第4部分:铰链梯》.pdf
文档评论(0)