[讨论]CAD开发:LISP、VB/VBA、ARX哪个更好?

[讨论]CAD开发:LISP、VB/VBA、ARX哪个更好?

查看: 49286|回复: 131

[讨论]CAD开发:LISP、VB/VBA、ARX哪个更好?

[复制链接]

莫名

莫名

当前离线

积分4750

明经币 个

注册时间2003-9-26

在线时间 小时

威望

金钱 个

贡献

激情

电梯直达

楼主

发表于 2004-3-3 23:11:00

|

只看该作者

|倒序浏览

|阅读模式

经常有人在讨论LISP、VB/VBA、ARX编程哪个更好。三者各有优缺点,要说哪个更好,只有三种都较熟的人最有发言权。具体到个人,则是仁者见仁、智者见智。你觉得呢?

分享到:

QQ好友和群

QQ空间

收藏1

分享

淘帖0

赞0

弹0

回复

使用道具

举报

置顶卡

变色卡

显身卡

lazybones

lazybones

当前离线

积分1074

明经币 个

注册时间2002-11-28

在线时间 小时

威望

金钱 个

贡献

激情

推荐

发表于 2004-5-29 19:02:00

|

只看该作者

本帖最后由 作者 于 2005-2-10 9:58:05 编辑 为了工作和课题,着实研究了一番acad的二次开发,看到这个问题不吐不快。 从acad V2.18开始,autolisp一直伴随着acad走到到今天,与acad的关系可以说两小无猜、亲密无间。autolisp语言规则简洁,能够直接访问图形数据,对于简单的程序,如图形对象的交互操作,acad命令的组合、重复执行,autolisp可以说是干脆直接、手到擒来。用其开发的程序向上兼容性好(在低版本acad平台上开发的程序通常可以直接运行于更高版本的平台上)。 但autolisp不是一种面向对象的语言,仍然沿用自顶而下的设计思想。解释型语言,运算速度慢,不适用于密集型计算。相对于其它高级语言,autolisp语言的语法结构有较大的差异,令初学者难以适应。其对话框窗口控件单一,与用户交互功能太弱,与VB、VC、Delphi等可视化编程语言相比,autolisp的DCL简直就是小儿科,DCL至今无法实现可视化编程。 auotlisp发展到visual lisp(vlisp一方面指的是集成开发环境,另一方面指扩充加强后的autolisp语言),虽然在对话框设计方面没有设么改进(简直是愧对"Visual"一词),但是大大扩展了autolisp函数,增加了对ActiveX的支持,具有了与其它程序通信的能力,增加了反应器,增强了交互性,实现了代码的伪编译。 从R14.01版acad开始支持VBA。VBA才是完全真正意义上的可视化编程,拥有数量丰富、功能完善的窗体控件,面向对象模块化编程、强大的数据库访问管理功能,同支持VBA的其他应用程序(如word、execel等)数据共享交互能力,创建自己的acad工具条。并且,VB拥有广泛的“群众基础”,如果是一个VB爱好者,将不需要在语言本身上花费太多工夫去学习适应。 但是,VBA是通过AutoCAD ActiveX Automation接口与AutoCAD内部对象建立联系的,个人认为Activex对象结构并不是很适用于用来描述acad的动作行为,例如,直线对象拥有拷贝、删除等方法,长度、角度等属性,被修改等事件,假如这还算容易理解,而求两条支线的交点,用autolisp描述为“求两条直线的交点,参数为直线1、直线2”,即思考的核心是求交点,作为参数的两条直线是平等的;而用VBA描述为“直线1对象的求交点方法,参数为直线2”,思考的核心为直线1。因为直线对象拥有求交点的方法,所以我们实现了这个目的,如果没有呢?也许我们还没有深刻的适应理解面向对象的编程方法,但至少这种方法与我们操作ACAD绘图时的思考习惯是不相符的。 从另一个方面来说,ActiveX虽然不能完美描述acad动作行为,但是为acad与其他windows应用程序的沟通开辟了广阔的途径,理论上支持ActiveX的编程语言,如VB(VB.net)、Delphi、Java都可以用来对acad进行二次开发,vlisp也提供了对ActiveX的支持。本人下一目标即是尝试使用Delphi开发acad。 除了在acad图形操作方面明显不足,大多数方面vba长于autolisp,应当是代表着今后发展方向。 arx目前还没有涉及,但原理大概是懂得的。arx是以C++为基础的面向对象开发环境及应用程序接口,只支持Microsoft Visual C++编译器。arx应用程序与ACAD共享地址空间,之间的通信更加直接高效,但是程序一旦存在缺陷,易引发AutoCAD甚至是系统崩溃。在不同版本ACAD平台上开发的ARX程序几乎不能通用。其对使用者的素质要求较高,首先必须熟练掌握C++,并对操作系统有一定了解,是作为专业开发的首选工具。arx功能强大,可以完成前两种方法无法胜任的任务,适于开发大规模、综合性应用程序。

花了点时间写了这么多字,希望对初学者有所帮助。

再次复读半年前的写下的东西,又有一点心得 AutoCAD使用到一定阶段,可能不再醉心于那些奇技淫巧,画图常用的也就十几个、二十来个命令,有人认为AutoCAD只是一个绘图的工具而已,但是,几乎没有人为画图而画图,我们要做的是如何将自己专业的设计计算部分与图形结合起来,如何将数据库与图形结合起来,只有这样,AutoCAD才不会仅仅被当做一个绘图工具,才会真正成为“计算机辅助设计软件”。个人认为在这个应用层次上,界面丰富、与用户交互能力强大、支持面向对象的VBA比VLISP更能满足开发者的需求。

回复

支持 1

反对 0

使用道具

举报

显身卡

myfreemind

myfreemind

当前离线

积分17083

明经币 个

注册时间2003-2-26

在线时间 小时

威望

金钱 个

贡献

激情

沙发

发表于 2004-3-3 23:46:00

|

只看该作者

LISP+VBA+VB我觉得最好!:)

回复

支持

反对

使用道具

举报

显身卡

该怎么办呢难哦

该怎么办呢难哦

当前离线

积分1719

明经币 个

注册时间2002-11-4

在线时间 小时

威望

金钱 个

贡献

激情

板凳

发表于 2004-3-4 08:33:00

|

只看该作者

VB/VBA不太合适了,VB.NET都出来两年了,比VB增加了很多功能,vb.net/vba更加适应于cad二次开发。

回复

支持

反对

使用道具

举报

显身卡

leeyeafu

leeyeafu

当前离线

积分3266

明经币 个

注册时间2002-7-5

在线时间 小时

威望

金钱 个

贡献

激情

地板

发表于 2004-3-4 08:53:00

|

只看该作者

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=2202

这是我在2002年写的,不知道为什么打不开了。

回复

支持

反对

使用道具

举报

显身卡

bluemoon

bluemoon

当前离线

积分6982

明经币 个

注册时间2003-5-7

在线时间 小时

威望

金钱 个

贡献

激情

5#

发表于 2004-3-4 09:59:00

|

只看该作者

刚开始时 lisp和vba比较简单 上手快 vba应该说功能还是很强大的

回复

支持

反对

使用道具

举报

显身卡

meflying

meflying

当前离线

积分34517

明经币 个

注册时间2002-11-20

在线时间 小时

威望

金钱 个

贡献

激情

6#

发表于 2004-3-4 11:40:00

|

只看该作者

bluemoon发表于2004-3-4 9:59:00刚开始时 lisp和vba比较简单 上手快 vba应该说功能还是很强大的

ARX功能强大是有目共睹的,但VBA说强大似乎有些勉强,比较于VLISP,VBA除了界面上比LISP强一些外,功能上似乎不会比VLISP强

回复

支持

反对

使用道具

举报

显身卡

BDYCAD

BDYCAD

当前离线

积分19206

明经币 个

注册时间2003-8-16

在线时间 小时

威望

金钱 个

贡献

激情

7#

发表于 2004-3-4 13:25:00

|

只看该作者

我向往ARX. 但是我不會. 我只會簡單的LISP, 但我認為如會ARX的可以開發出更棒的功能.

回复

支持

反对

使用道具

举报

显身卡

yfy2003

yfy2003

当前离线

积分24713

明经币 个

注册时间2003-7-8

在线时间 小时

威望

金钱 个

贡献

激情

8#

发表于 2004-3-4 14:10:00

|

只看该作者

我喜欢ARX和VBA,VBA看似简单,其实也复杂!

ARX难学!复杂而有趣!

回复

支持

反对

使用道具

举报

显身卡

funlxming

funlxming

当前离线

积分1317

明经币 个

注册时间2003-3-11

在线时间 小时

威望

金钱 个

贡献

激情

9#

发表于 2004-3-4 18:09:00

|

只看该作者

我没有用过VBA LISP,以老东家那边用了一年半的ARX,现在用SDS(一个和ADS一样的东西),感觉ADS和ARX差太远了,开发起来很麻烦,听说ADS和LISP差不多,所以我觉得LISP和ARX应该也是不在一个层次上的,如果VBA和LISP差不多的话,那么它也一定和ARX没有可比性。

回复

支持

反对

使用道具

举报

显身卡

myfreemind

myfreemind

当前离线

积分17083

明经币 个

注册时间2003-2-26

在线时间 小时

威望

金钱 个

贡献

激情

10#

发表于 2004-3-4 22:07:00

|

只看该作者

条条大路通罗马嘛!

回复

支持

反对

使用道具

举报

显身卡

相关文章

电脑qq如何彻底删除全部信息
手机版office365破解版

电脑qq如何彻底删除全部信息

📅 07-15 👁️ 3560
苹果助手
365bet365

苹果助手

📅 08-01 👁️ 2560
求助关于铷的问题
365bet备用投注网址

求助关于铷的问题

📅 07-30 👁️ 7035