资源描述:
《autocad二次开发_官方文档》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ObjectARX2009梁晓冬AutodeskDevTech2008年7月16日-7月18日北京认识一下梁晓冬开发技术支持DeveloperTechnicalServices(DevTech)AutodeskDeveloperNetwork(ADN)主要负责机械和制造业CAD(MSD),Navisworks(AEC)email:Xiaodong.Liang@autodesk.com你们是谁?DevTech中国区团队Barbara韩华秦洪现Joe叶雄进梁晓冬培训目标培训内容主要是ObjectARX基础知识如何使用ObjectARX如何在以
2、后的实际工作中独立的获取相关资源和帮助不是如何使用C++对所有的ObjectARXAPI做完整的讲述Autodesk系列产品开发培训教程课程安排时间9:00-17:00早上9:00–12:00午餐12:00–13:00下午13:00–17:007月17日实体对象操作扩充数据反应器用户界面7月18日自定义对象多文档环境几何类测试7月16日API概览ObjectARX基本知识用户交互和选择集数据库操作API概览API概览API一般情况API类型客户端/服务器端交互客户端代码AutoCAD的API和集成开发环境(IDE)执行性能比较API概览什么
3、是API?(ApplicationProgramInterface)应用程序留给对其调用的接口,客户端程序通过调用API去执行应用程序的命令,访问其数据等等。要求两方面内容:包含执行特定服务的入口点正确调用服务执行API的代码可以包装为:源代码模块(.h/.cpp中C++)二进制静态库DLLEXEApplication.exeAPI包装1.源代码2.静态库3.DLL4.EXEATLtemplatesAPI1StaticMFCLibraryAPI2Win32APIDLLsAPI3ClientEXE,DLL,script,etc.API4客户端
4、/服务器端交互进程内客户端/服务器端在同一进程本地客户端/服务器端在同一机器远程客户端/服务器端在同一网络.EXE.DLL.DLLAPIAutoCAD.ARX.ARXObjectARXAPIs嵌入架构API被可执行程序(宿主程序)执行客户端通常为dll客户端代码形式解释代码代码脚本-AutoLISP封装代码预处理,半解释代码-编译后的VisualLISPAutoCAD.NET编译为IL编译代码编译器指令代码-ObjectARX慢快AutoCAD的API和IDEAPIObjectARXCOMAutomation(VB,Java,Delphi,
5、etc.)AutoLISP.NET托管APIIDEVisualLISPVisualBasic,ApplicationsEdition(VBA)API实现IAutoCADObjectDBX3DgraphicscachedwgHEIDI2Dgraphicscache(WHIP!)PlotHDIDisplaydrvPlotterdrvObjectARXSDK(free,http://www.autodesk.com/objectarx)ObjectDBXADF(licensed,http://www.autodesk.com/adc)PlotDD
6、K(licensed,http://www.autodesk.com/adn-devhelp)HEIDIDDK(licensed,http://www.autodesk.com/heidi)WintabDDK(free,http://www.pointing.com)Legend:InputacquisitionInputdrvAutoCADAPI实现IIAutoCADObjectARXAPIaxdb.dllvl.arxVisualLISPCOMacvba.arxCOMVBA(进程内)COM客户端(进程外).NETacdbmgd.dllac
7、mgd.dllAutoCADAPI性能比较在AutoCAD中存储数据不同API方式的比较数据容器存储性能比较Timeinseconds在AutoCAD中存储数据不同API方式的比较数据容器存储性能比较Timeinseconds数据容器存储性能比较Timeinseconds在AutoCAD中存储数据不同API方式的比较API比较结果速度ObjectARX,.NET,VBA功能ObjectARX,.NET(除了自定义实体)易用性.NET,VBA容易入门.NET,VBAObjectARX的优势效率高功能强计算精度高适用开发复杂的大型程序调试方便O
8、bjectARX基本知识什么是ObjectARX?AutoCAD运行扩展(AutoCADRuntimeeXtension)一系列面向对象的C++库一个框架一个DLL插件模块(.A