




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 ObjectARXTrainer Training 2 自定义实体的思路 什么是自定义实体如何创建自定义实体AcDbEntity虚函数的功能和使用现场创建一个自定义实体TipsandTricks 3 自定义实体 操作自定义实体Smiley什么是自定义实体自定义一个图形对象 控制它图形显示 存储的数据 对拖拽的响应 对捕捉的响应 平移 旋转等操作的响应需要扩充自定义实体的哪些功能 结合操作 说明需要扩展的方面 4 为什么需要自定义实体 存储自定义数据扩展实体的功能连动操作拖拽捕捉拉伸 5 自定义对象 两类自定义对象从AcDbObject派生从AcDbEntity派生AcDbEntity从AcDbObject派生 包括了AcDbObject的所有功能 因此这里以讲解从AcDbEntity派生的实体为主 6 重要的类继承关系 7 如何实现自定义实体 创建一个新类从合适的类派生实现AcRxObject的协议添加到运行时类层次图中 8 运行时类型识别 RTTI RuntimeTypeIdentification RTTI 协议扩充AcRxClassClass来描述每一个自定义类appNamecomparedTodxfNameisDerivedFrommyParentnameproxyFlags 9 建立运行时类层次 rxInit static gpDesc staticvariable newAcRxClassacrxBuildClassHierarchy 10 类别判断函数 最基础的类AcRxObject提供了类型识别函数virtualAcRxClass isA const staticAcRxClass gpDesc staticAcRxClass desc staticCMyClass cast constAcRxObject inPtr 11 Macros揭开研究 ACDB REGISTER OBJECT ENTRY AUTOACRX DECLARE MEMBERSACRX NO CONS DEFINE MEMBERSACRX CONS DEFINE MEMBERSACRX DXF DEFINE MEMBERSACRX DEFINE MEMBERS 12 图形显示函数 worldDrawviewportDraw调用关系如下if entity worldDraw pWd for 每一个相关视口 entity viewportDraw void 13 数据保存函数 dwgInFieldsdwgOutFieldsdxfInFieldsdxfOutFields 14 夹点操作函数 设置对象夹点getGripPoints 拖动夹点 自定义实体的行为moveGripPoints 15 两个重要函数 assertWriteEnabled Adesk BooleanautoUndo Adesk kTrue Adesk BooleanrecordModified Adesk kTrue 自定义类中任何修改函数都必须调用函数assertWriteEnabled 用于检查对象是否是用写的模式打开 当该函数被调用时 首先检查参数recordModified 如果recordModified的值为Adesk kFalse 则不执行任何撤销操作 如果recordModified的值为Adesk kTrue 则检查autoUndo参数 如果参数autoUndo为Adesk kTrue 则AutoCAD将记录对象的状态以便执行撤销操作 当对象的修改操作完成并关闭对象 操作对象的全部状态将被保存到一个撤销操作文件中 如果这时的用UNDO命令 AutoCAD调用对象的dwgInFields 函数把这个撤销操作文件的内容读入到数据库中 assertReadEnabled 判断是否可读状态 16 其它重要重载函数 设置自定义实体的捕捉函数getOsnapPoints 对平移 复制 镜像等操作的响应函数transformBy 生成代理实体的图形形状函数saveAs 相交函数interSectWith 炸开函数Explode 17 次常用重载函数 深度克隆DeepClonewblockClone 18 设计良好的程序架构 自定义实体代码集中在DBX工程中用户交互操作UI userinterface 代码放在ARX工程中DBX独立存在 ARX依赖于DBXARX加载DBX 19 代理对象 当自定义实体的定义模块没有加载时 用代理实体来管理用户自定义实体 两类代理对象 AcDbProxyObject andCustomEntities AcDbProxyEntity 被 PROXYSHOW 和 PROXYGRAPHICS 两个系统变量控制 20 自动加载和按需加载 Acad rx Acad lsp acad dvbRegistryStartupProxyDetectionApploaddialog Ldswitch 21 用其它开发语言访问自定义实体 在VBA程序中访问自定义对象MakesureCOMwrapperisregisteredCallAddCustomObjectmethod在 Net编程方式中访问自定义实体mixed managed NETWrapperUsethe NETwrapperclasstoinstantiateandmanageADNWhitepaper TutorialtocreatemanagedwrappersforcustomARXfunctionsandobjects 22 Tipsandtricks 不要在worldDraw和viewPortDraw中以写的方式打开实体进行修改自定义实体的数据Fewotherclassesshouldbeavoided eg AcDb2dPolyline AcDbVertex Ref OARXHelp 避免访问AutoCAD特殊功能 如环境和系统变量 23 自定义实体的局限 实现和维护稍复杂些End User不喜欢弹出代理实体对话框 24 实际创建一个自定义实体 仍选其一一个三角形一个矩形宽度不变的圆环 25 自定义实体总结 全方面用户自定义的对象 26 几何类 27 几何类 AcGe库 AcGe库是一个纯数学的库 提供几何运算功能 与AcDbDatabase无关 但也被AcDb和AcGi库中函数使用包括点 直线 曲线 表面等相关的类 常用的二维几何类有AcGePoint2d AcGeVector2d AcGeEntity2d AcGeLinearEnt2d 常用的三维几何类有AcGePoint3d AcGeVector3d AcGeEntity3d 表示公差类AcGeTol 28 29 AcGe库的功能 点和向量求矢量间的夹角 判断是否同向 是否平行 是否垂直 矩阵变换 加减乘除等运算 通过angle 函数可以得到矢量的角度线 线求交点 是否平行 求垂线 点是否在线上面公差浮点型数据的比较的需要转换矩阵坐标转换和空间变换时需要 30 一个应用几何类进行计算的实例 ARXAcGe 31 用户界面 32 内容 ObjectARX应用程序中资源管理以及使用MFC 模态对话框和非模态对话框的创建方法 AcUi和AdUi的介绍和使用方法 33 资源问题 什么是资源 rc文件中的内容 包括菜单 对话框 工具条 为什么需要资源管理 AutoCAD有自己的资源ARX程序中也有资源程序的默认资源从哪里加载 34 资源管理 管理资源的切换类CAcModuleResourceOverride ARX命令 35 非模态对话框 让对话框能让用户输入操作响应AutoCAD定义的一个消息 ifndefWM ACAD MFC BASE defineWM ACAD MFC BASE 1000 endif ifndefWM ACAD KEEPFOCUS defineWM ACAD KEEPFOCUS WM ACAD MFC BASE 1 endifonAcadKeepFocus 36 AdUi和AcUi的介绍和使用 用来建立与AutoCAD界面风格一致的控件库CAdUi类可用于任何应用程序于任何Autodesk产品的交互作用CAcUi类派生于CAdUi类 并专用于AutoCAD 37 如何使用AcUi库 例题说明 classAsdkAcUiDialogSample publicCAcUiDialog AFX DATA AsdkAcUiDialogSample enum IDD IDD DIALOG1 CAcUiSymbolComboBoxm ctrlRegAppComboBox CAcUiListBoxm ctrlBlockListBox CAcUiPickButtonm ctrlPickButton CAcUiPickButtonm ctrlAngleButton CAcUiAngleEditm ctrlAng
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高速公路主体结构施工与交通安全协议
- 证券投资风险控制与收益分配补充协议
- 数据中心UPS电源租赁及电力需求侧管理协议
- 水利工程施工复习题
- 搬家运输企业司机岗位责任及风险分担合同
- 电商平台收益分配与市场拓展合作协议
- 医师多点执业医疗培训与实践协议
- 智能停车场租赁与车辆管理服务合同
- 绿色建筑碳排放权交易法律咨询合同
- 高中班级管理创新实践亮点
- 神木市孙家岔镇神能乾安煤矿矿山地质环境保护与土地复垦方案
- 幼儿园大班语言公开课教案《如果我是…》
- 拱坝坝肩槽开挖施工工艺与工法
- 粮食安全知识竞赛试题
- 2012年福建卷文综地理试题及解析
- 肝癌的系统治疗进展
- 预制T梁安装施工组织设计
- 安全隐患辨识方法培训
- 中华人民共和国:各省份对应的地级市与县级市一览表
- 上消化道出血的护理ppt
- 2017版银皮书中英文对照翻译稿
评论
0/150
提交评论