- 1、本文档共67页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
典型CAD系统二次开发
第16讲 典型CAD系统的二次开发介绍 华中科技大学CAD中心 什么是二次开发? 二次开发是指在通用的平台软件上,利用其开发接口进行特定的功能定制开发。 典型的例子:基于AutoCAD平台的机械设计系统InteCAD;基于UG,Pro/E等平台的三维标准件库系统和典型零部件设计系统等。 注意区分:基于核心组件进行的通用软件开发,一般不被认为是二次开发。如基于ACIS几何核心Inventor, InteSolid;基于Parosolid的UG,Pro/E等。 为什么要进行二次开发? 通用的平台不能或者不方便实现某些特定的功能,这些特定功能往往是: 1)一组命令的集合。通用平台需要多次操作才能实现,通过二次开发可以很方便的将这些简单功能整合成一个命令,方便用户使用。例如,标注粗糙度符号(也可以通过块和属性定义); 2)需要一些专业的计算。通用平台不提供专业计算,只有通过二次开发实现。例如,在AutoCAD下绘制Bezier曲线,需要根据给定的控制点计算曲线上的离散点坐标。还有如InteCAD的尺寸驱动功能,参数化过程需要进行复杂的CBA算法支持,这些都需要进行二次开发实现。 3)需要数据库的支持。通用平台一般不方便提供数据库支持,只有二次开发工具通过ODBC或者其他方式访问数据库系统。如标准件库系统。 另外,典型零部件设计系统(齿轮,蜗轮,轴,链轮,皮带轮等)不但需要使用多个命令调用,进行专业计算,还要数据库的支持,它是典型的二次开发系统。 怎样进行二次开发? 不同的通用平台提供不同的二次开发接口,一般的都提供C/C++语言编译型开发接口。(有的还提供Basic语言、LISP语言等解释型开发接口) C/C++语言二次开发的步骤: 1)编辑C/C++源程序,使用该平台提供的二次开发接口API函数或类; 2)编译、链接,生成可在该通用平台下运行的可执行程序.EXE或.DLL; 3)在通用平台下载入可执行程序,执行得到相关的结果。 C/C++语言二次开发API支持 编译时使用API函数支持:#include 相关的头文件 链接时支持:在C/C++工程中导入该API函数的库索引文件 .LIB 运行时支持:提供该API函数所在的库执行文件DLL,需要在生成的可执行程序目录下,或在该通用平台指定的有哪些信誉好的足球投注网站路径下 C/C++二次开发程序执行原理 通用平台在载入二次开发生成的可执行程序时,第一步直接回调其入口函数Initialize(),而二次开发程序在此进行初始化,并调用具体的函数来实现二次开发的特定功能。第二步调用另外入口函数UnInitialize(),执行程序退出前的操作。 不同平台下的二次开发实现 16.1 AutoCAD二次开发 16.2 UG二次开发 16.3 Pro/E二次开发 16.1 AutoCAD开发 AutoLISP(R2.5) —— Visual LISP ADS(R10) ObjectARX(R13) ActiveX Automation(VBA) … 内模式与外模式OpenDWG Visual LISP Visual LISP是一个可视化的LISP语言开发环境, AutoCAD从R14版开始支持Visual LISP开发工具,它是AutoLISP语言的扩展。 Visual LISP具有以下特性: 1)在可视化的开发环境下编写、调试; 2)经编译后,提高了运行性能和必威体育官网网址性; 3)LISP代码通过AutoCAD 的Object ARX接口,提高运行速度; 4)本质上是一个被建立并装载的ObjectARX应用程序,因而可在AutoCAD外部装载和更新。 AutoLISP程序 开发步骤: 1)编辑LISP程序: 如C:\Ba.lsp 2)在AutoCAD命令行下装载: (load c:\\Ba.lsp) 3)执行定义的命令:BA AutoLISP开发实例——参考AutoLISP实用教程 1)计算每个封闭区域的面积,并显示前面统计的面积之和。 AutoLISP实例 2)粗糙度标注 ObjectARX开发实例 ObjectARX的核心是两组关键的API,即AcDb(AutoCAD数据库)和AcEd(AutoCAD编译器)。另外还有其它的一些重要库组件,如AcRX(AutoCAD实时扩展)、AcGi(AutoCAD图形接口)、AeGe(AutoCAD几何库)、ADSRx(AutoCAD开发系统实时扩展)。与前几种技术相比,该技术拥有对AutoCAD最深入的控制能力。 ObjectARX提供220个类3000多个成员函数,能够实现很多原来开发环境难以实现的功能,提高开发效率,它是AutoCAD新一代开发技术。但是,对二次开发者的计算机专业知识、软件专业知识要求较高,开发周期长。 ObjectARX
您可能关注的文档
最近下载
- 第五版-FMEA-新版FMEA【第五版】.pptx
- 核酸的鉴定与保存课件.ppt VIP
- 2024AI Agent行业研究报告.pptx
- 党组书记带头严守政治纪律和政治规矩维护党的团结统一方面2024年度民主生活会对照检查材料.doc VIP
- 2024年郑州市政集团有限公司招聘工作人员13名招聘笔试备考试题及答案解析.docx
- 江苏省扬州市2024_2025学年高二英语上学期期末考试试题.doc VIP
- 英博尔MC3526^3528系列低压交流控制器产品说明书.pdf VIP
- 心理健康先进个人事迹材料【五篇】.pdf VIP
- 中国共产党发展历史中国共产党发展历程.pptx VIP
- 放射安全防护培训.ppt VIP
文档评论(0)