.

CAD二次开发项目,怎么选择开发语言

主要有两种:AutoLispObjectArx

1AutoLISP,脚本语言,开发小功能首选,速度慢,功能有限。但开发后,绝大多数不经修改就可运行于所有CAD版本

2.ObjectArx,分为C++接口或DotNet接口开发。功能强大,速度快。不同CAD版本适配使用不同的VS开发环境,编译成不同的版本,不同版本之间不兼容。适合大型功能系统开发。但维护及修改工作量较大。

C++与DotNet性能如何?是时候离开棘手而痛苦的ARX世界,拥抱DotNet天堂了吗?

AutoCAD开发项目中“最佳”API是什么?答案是取决于你的需求与实际情况。

一、是否有遗留代码库

考虑采用的语言与遗留代码库是否有互操作性路径?目前来讲,Autolisp/ActiveX/C++/DotNet是可以混合编程的。

二、功能覆盖——追求高性能,C++语言。需要一个花哨或直观的GUI?DotNet.代码不被不同的CAD版本所困扰,就用Autolisp吧

三、与其他技术集成——Autolisp应该不是你的选项.DotNet可能最佳.考虑Com技术,用C++吧

四、版本支持-还要考虑一下操作系统和AutoCAD版本是否都允许使用这种语言?

五、开发技术——开发团队原有的技术基础同样决定着您使用怎么样的技术。现在想组建快速开发新团,用DotNet吧。

综合考虑项目现状,提倡使用正确的工具来完成项目工作。

专业程序员来解许多不同的编程语言和方法是非常有益。在一个重大项目中使用多种技术——正如大多数开发商所描述的那样——是务实的。

让核心C++开发人员在核心引擎上工作,而UI开发人员在MFC中工作,这正是我几年前所做的选择(可能是快图CAD室内设计项目启动时)。

如果让我今天选择——如实施一个“室内设计”开发项目,无需考虑遗留代码库——我将面向DotNet语言(因为AutoCAD中托管代码的性能配置文件,它与大多数用途无关紧要的本地C++配置文件一样接近,而WinForms和越来越多的WPF提供的UI可能性)。

AutoCAD与Windows

当然领域不同,可能会有不同的模块用不同的语言实现的争论,即混合式编译。目前也是可行的,但这更取决于你的技术团队与维护等费用。

AutoCADTechnologyCycle

如果新开发项目,大多数我会选择DotNet.一些项目我还会选择ObjectARXC++,这取决于需求。因为自定义对象仍然只能使用ObjectARX(即C++)来实现,仅当对自定义对象有绝对要求时,我才会选用ObjectARXC++。

或者当对项目有加密需求,我可能也会选ObjectARXC++。

当然,拥有同质代码库确实会带来好处:所有代码都使用特定的语言,使用相同的工具,开发人员能够在不同领域进行深入协作,而无需付出额外的努力。但这确实是一个理想化的场景,在这个特定的开发人员的案例中,我会非常仔细地研究迁移整个代码库所带来的好处:我怀疑ObjectARX组件移植到DotNet中获益很少,除了拓宽了公司可用的技能基础(从长远来看可能会降低维护成本),但是用更现代的外观更新MFCUI可能会带来更切实的好处。本机C++和托管代码之间的互操作性非常全面,因此应该让生活更轻松,

以上内容就是我选择项目开发语言时的选择依据。

最后让我来总结一下吧:

AutoCAD历史发展线索

如果你想开发一个小而美的功能,提高日常工作效率,那请选用Autolisp吧。他对AutoCAD的具体版本几乎淌有要求。

如果想开发一个大型功能项目,请选择ObjectArxC++吧。界面使用MFC。实现统一的开发环境,容易团队协作,项目维护。更重要的是:可以实现CAD提供的一切接口功能,且速度是极好的又便于加密。

如果不需要一些功能,如自定义对象,加密等。对界面美观有超乎寻常的需求。那请选用ObjectArxDotNet吧。

ObjectArxC++与ObjectArxDotNet相结合似乎完美组合。唯一遗憾的是维护增加了一些工作量。

如果你想利用Autolisp等现有资源,请Autolisp/ObjectArxC++与ObjectArxDotNet一起使用吧。




转载请注明:http://www.abachildren.com/xgyy/7622.html