EaBIM一直以来积极响应国家“十二五”推进建筑业信息化的号召,对建筑领域的信息技术开展深入技术交流和探讨!致力于打造“BIM-建筑师-生态技术”三位一体综合资源交流共享平台,希望为BIM与可持续设计理念及技术的普及做出微小的贡献!!!

萧闫子 发表于 2014-1-14 10:16:08

从AutoCAD 到 Inventor应用程序移植释疑

本文目的当AutoCAD二次开发编程人员转到Inventor平台时,会有很多的疑问。同样是Autodesk的产品,它们有相似性吗?相似到何种程度?作为一个有相当多的AutoCAD二次开发经验的人,该从那里下手呢?本文主要是针对这样的一个群体进行解答的。思考一下:你的开发目的是什么?AutoCAD是一个2D CAD软件,Inventor是一个3D CAD软件。第一步要清楚的是,两者在功能特征上有很大区别;其次,使用习惯有很大区别;最后,编程接口也有很大区别。熟悉AutoCAD的人调查Inventor时,第一个问题可能是Inventor能干什么/不能干什么。弄清楚后,就要思考自己的开发目的了。请不要理所当然的以为在AutoCAD上开发出来的产品,移植到了Inventor平台上照样有用。也就是说,有些功能在AutoCAD上有人买账,但是在Inventor上如果也做一套类似的功能,可能就没人用了,原因是这两个平台提供的功能特征、用户使用习惯有太多地方不同。反之,在AutoCAD上不需要的、或者你没想过的功能,在Inventor上可能就会变的非常有价值。所以,在用Inventor 做开发之前,一定要先熟悉产品,然后想清楚需求,再决定是移植还是开发新的需求。两个平台的基本特点AutoCAD的用户画图时,使用的是AutoCAD或者二次开发商提供的图元,比如点、线、面、墙、窗户;AutoCAD还提供命令行,让用户输入命令文本;图纸只有两种格式,即dwg、dxf格式。Inventor的用户画图时,使用的是草图和参数驱动的各种特征,特征种类非常多;画图的历史可见;画图流程一般是:零件图->装配图->工程图;没有命令行,所以不能输入命令文本;文件分ipt、iam、idw三种格式,而且支持很多3D格式,比如SAT, STL等,的导入导出。两个平台的开发方法简介AutoCAD的开发接口有4种(如下表)。最早的是AutoLisp,然后出现了定制功能强大的ObjectARX,后来AutoCAD.NET API得到快速发展(大部分的AutoCAD.NET API都是对ObjectARX接口的封装,也有个别定制功能只有AutoCAD.NET API支持,比如CUI定制)。
AutoCAD API类型
ObjectARX
COM (ActiveX)
AutoCAD.NET
AutoLisp

开发语言
C++
VBA/C++/VB.NET/C#/Java/Delphi等
.NET
AutoLisp



Inventor 的接口一直都是COM类型,不像AutoCAD的接口类型那么多,开发语言也同样是C++/VB.NET/C#/Java/Delphi等等支持COM的语言环境。API的架构和组织方式两个平台的 API架构并不相同。AutoCAD API架构: http://hi.csdn.net/attachment/201010/21/0_1287639463XvqT.gifObjectARX 的数据库对象的组织方式: http://hi.csdn.net/attachment/201010/21/0_1287639463XvqT.gif
AutoCAD COM 对象组织方式: http://hi.csdn.net/attachment/201010/21/0_12876395779vVk.gif
Inventor API架构和组织方式: http://hi.csdn.net/attachment/201010/21/0_1287639616fsst.gif
http://hi.csdn.net/attachment/201010/21/0_1287639656NsAZ.gif简而言之,两个平台的API不同。因此,如果要把AutoCAD的定制应用程序移植到Inventor上来,除了独立于开发平台的部分(比如自己的数据库管理程序),其它的代码几何都要重写,甚至重新设计。另外,由于AutoCAD COM API和Inventor API的组织结构有点相似,所以,运用AutoCAD COM API的程序相比运用其它类型API的程序,移植起来更简单容易。更多Inventor API学习资料推荐:
[*]Inventor自带的SDK。里面有开发帮助文档和例子。
[*]Autodesk DevTech部门做的培训教材和录像(有Chinese版本的):http://www.adskconsulting.com/adn/cs/api_course_webcast_archive.php
[*]Brian(API架构师)的技术博客: http://modthemachine.typepad.com/
[*]Autodesk提供的技术讨论组:http://forums.autodesk.com/t5/Autodesk-Inventor/ct-p/70
[*]如果是ADN会员,还有ADN网站上可以访问到的knowledgebase资源:http://adn.autodesk.com ->产品名称(AutoCAD或Inventor)->knowledgebase


文章来源:http://blog.csdn.net/barbarahan

妮可 发表于 2016-3-17 11:26:10

o(*////▽////*)q路过……

bimxuexi 发表于 2014-11-9 10:54:24

受教了,刚想学inventor的二次开发那

乖乖仔 发表于 2014-2-18 12:31:37

(*^__^*) 嘻嘻……

烈火ivk 发表于 2014-2-19 15:01:08

路过!!!
不发表意见……

順順 发表于 2014-2-21 14:45:18

顶!!!!!!!!!!

孙雅 发表于 2014-2-25 10:39:23

路过!!!
不发表意见……

极HONDA速 发表于 2014-3-5 15:39:04

顶!!!!!!!!!!

一梦千寻 发表于 2014-3-7 12:00:11

顶......
楼下跟上.....

妮可 发表于 2014-3-7 12:03:13

路过!!!
不发表意见……

矮矮 发表于 2014-3-7 12:04:15

顶!!!!!!!!!!!!!!!!!!!!!!!!!

苦田辛君 发表于 2014-3-10 12:18:50

顶!!!!!!!!!!!!!!!!!!!!!!!!!

We晕晕 发表于 2014-3-11 15:37:16

顶......
楼下跟上.....

月の月 发表于 2014-3-11 15:40:19

顶!!!!!!!!!!

大奔KY 发表于 2014-3-11 15:43:11

顶......
楼下跟上.....

雁田佬 发表于 2014-3-11 15:47:37

顶起来…………

泰安oim 发表于 2014-3-12 13:43:53

顶......
楼下跟上.....
页: [1] 2 3 4 5 6 7
查看完整版本: 从AutoCAD 到 Inventor应用程序移植释疑