找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3105|回复: 21

[求助] [求助]:关于LISP ARX VBA

[复制链接]
发表于 2003-9-6 17:08:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
大家都知道LISP ARX VBA对绘图有着很重要的作用.
可是它们到底有什么样的区别?孰优孰劣?
望解答!谢谢先.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-9-6 17:42:55 | 显示全部楼层

Re: [求助]:关于LISP ARX VBA

最初由 xbx7920 发布
[B]大家都知道LISP ARX VBA对绘图有着很重要的作用.
可是它们到底有什么样的区别?孰优孰劣?
望解答!谢谢先. [/B]


1、ARX不用说了,是在ACAD下面开发功能最强的工具,ACAD本身也是用ARX写的。其他所有的开发语言最终都是再通过ARX层操作ACAD数据库。在ACAD下面没有ARX做不到的东西。

2、VBA,使用ActiveX Automation 接口,来操作ACAD数据库对象,但是这个在LISP语言加入ActiveX接口VLISP出现后,已经可以多了VLISP开发的选择了,在这个上面VBA比LISP没有优势,VBA和VLISP有优势的地方仅仅在于对话框设计的方便上,但是LISP里面的对话框设计现在也有很多工具增强了LISP的能力了。

3、LISP,VLISP,是ACAD最早支持的二次开发环境,也是ADESK承诺一直不会放弃的,他的好处是平台无关性,只要ACAD能够运行,那么开发的LISP代码就可以执行。LISP是人工智能语言鼻祖,AUTOLISP是LISP的子集,加入了操作ACAD数据库的函数,现在发展到VLISP,加入了ActiveX接口的操作,LISP的优点是可以直接在命令行和ACAD交互,这个是其他开发环境没有的。因此使用ACAD的朋友,学会些简单的LISP函数,就可以大大的提高自己的绘图效率,不一定非要写程序,直接在命令行交互即可。

有些人认为用LISP不能开发复杂、专业性能很强的软件的看法是错误的,某种程度上LISP能开发出比ARX,VBA还要专业的东西,在ACAD环境下,天然的首选的开发语言就是AUTOLISP(VLISP),AUTOLISP是给对ACAD非常熟悉的人准备的,ARX虽然功能强大、无所不能,但是开发ACAD程序的专业工具首选还是AUTOLISP(VLISP)。ARX由于受限于VC平台,并且代码维护等要求非常高,开发周期长等等,这些在要求对市场反映快速的软件的要求下,某些程度上就影响了ARX的应用,虽然它是最强的工具。

某些开发商过度的宣传自己的产品是用ARX开发的等等,是偷换概念,开发手段最好但不一定一定出现好产品。LISP一样可以做出非常专业,功能非常强的软件,因为一个专业软件的好坏,归根结底还是开发人员对这个专业熟悉的程度。而不是自己手里开发工具的好坏,面对用户的是专业软件,而不是这些工具,所以过度宣传自己用什么开发工具有误导用户的嫌疑。

现在很多工具增强了AUTOLISP的功能,在其弱项对话框设计上,也出现了很多工具,比如Protobox,和现在前景非常好的ObjectDCL,有迹象表明,LISP环境以后的对话框开发,ADESK会加强力度,凡是出现的第三方公司出品的二次开发工具,ADESK都会购买或者兼并(和微软手段差不多),VISUALLISP就是在其他公司开发的工具上演化而来的,我想ObjectDCL以后肯定会加入ADESK公司的,名字我想可能是VisualDCL吧:)

VBA在这方面的优势已经不多了,况且需要对话框的程序并不是很多。

如果把ARX和LISP结合起来,那么更是如虎添翼,用ARX去写一些通用的(LISP语言限制写不出来的)库,LISP去调用他们。

VBA我认为仅仅在和微软的几个办公软件交互的时候,是方便的,是其他二次开发工具比拟不了的。另外VBA代码保护性不好,加密的代码文件网上也能找到很多工具破解。

VBA好比一个夹生饭,是ADESK公司为了和微软公司达成利益而加入的,ADESK现在看来还不想对他支持过多,从VLISP加入越来越多的ActiveX 的接口函数就是明证,ADESK真正不想放弃的还是他的亲生儿子AUTOLISP。而AUTOLISP的表现也确实让ADESK自豪。

关于ARX,VBA的比较,ADESK公司有一个他们自己公开的技术文档,更能说明VBA目前的地位,有空我给大家翻译下,大家看看。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-9-6 17:56:04 | 显示全部楼层
XD园主一席话,醍醐灌顶,使人如沐春风!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 4个

财富等级: 恭喜发财

发表于 2003-9-7 22:04:52 | 显示全部楼层
看来选择lisp,没错了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-25 21:44:42 | 显示全部楼层
小的程序差不多,但要开发大些的,vba就要慢很多。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-30 08:27:02 | 显示全部楼层
先拷贝下来,慢慢学习
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

发表于 2003-9-30 09:51:00 | 显示全部楼层
"因为一个专业软件的好坏,归根结底还是开发人员对这个专业熟悉的程度。而不是自己手里开发工具的好坏,面对用户的是专业软件,而不是这些工具."

所得太好了!建议专业程序得开发者多琢磨一下,不要老是编出来得东东白给工程人员都不用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-24 11:35:13 | 显示全部楼层
arx具有Lisp不可比拟的优势,一:arx能完成你想做的任何事情
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-11-1 00:32:05 | 显示全部楼层
<tr>
    <td width="100%" height="18"><b><font face="Verdana" size="6">S</font></b><font face="Verdana" size="2">o,
      you wanted to have a nice big toolbag with which to be able to customize
      your software goodies.&nbsp; That's nice.&nbsp; Be careful of what you
      wish for, right?&nbsp; Well, I shouldn't put a negative spin on this since
      I have always felt that more is better when it comes to having the tools
      to turn off-the-shelve wares into tools that help you best.</font>
      <p><font face="Verdana" size="2">Autodesk began this thing back in the
      earliest stages of AutoCAD when Mr. Walker decided to include AutoLISP in
      the base product.&nbsp; This was obviously a good decision, for us and for
      Autodesk.&nbsp; Times change and so do programming tools, just ask any
      former COBOL or CP/M programmer.</font></p>
      <p><font face="Verdana" size="2">Autodesk has poured a lot of effort into
      the customization aspect of their products.&nbsp; Indeed, other than
      Microsoft, I don't think anyone has done so much to provide so many tools
      with their standard application software products.&nbsp; I'm not talking
      about operating systems, just applications.&nbsp; When Visual Basic took
      off, it gave push to help VBA (Visual Basic for Applications) see the
      light of day.&nbsp; Microsoft heard the door knock and figured they should
      answer it with what the visitors were crying for: tools to help customize
      their products.</font></p>
      <p><font face="Verdana" size="2">The unavoidable question that always
      comes up is: Which one should I use?</font></p>
      <p><font face="Verdana" size="2">That's easy, I can answer that in eight
      words: It depends on what you're trying to do.</font></p>
      <p><font face="Verdana" size="2">I am going to attempt to justify the
      existence of Visual LISP and VBA in contrast to each other here.&nbsp; But
      keep in mind that this is a touchy subject and often taken very seriously
      by those who not only have no life whatsoever, but who are likely to
      suffer from paranoid delusions of internal self-doubt and angst, bordering
      on bouts of depression and possibly suicidal tendencies.&nbsp; Whoa!&nbsp;
      What does this mean?&nbsp; Hell, I don't even know.&nbsp; All I can say is
      that others will argue this until the beer runs out or Hell freezes over,
      which ever occurs last.&nbsp; OK, here goes...</font></p>
      <blockquote>
        <p><font face="Verdana" size="2"><b>Visual LISP</b> is the replacement
        for the former AutoLISP.&nbsp; It is an interpreted language by nature,
        but offers the capability to compile the source code into a
        faster-running form called VLX.&nbsp; The code is executed by a coupled
        interpreter that is provided within AutoCAD (and many other Autodesk
        products).&nbsp; Visual LISP provides a horrid means to writing dialog
        forms called DCL or Dialog Control Language.&nbsp; Written by one-legged
        monks back in the tenth century, it is still used by many who have scars
        from pulling out hair to develop usable dialog forms for those who
        detest command typing and menu picking.</font></p>
        <p><font face="Verdana" size="2"><u>Advantages</u>:&nbsp; Works well for
        processing tasks on objects and tables entirely within drawings or
        drawing sessions.&nbsp; Easy to write and debug.&nbsp; Easy to save,
        load and share with others.&nbsp; Can be written using Notepad and a
        stone axe by a campfire.</font></p>
        <p><font face="Verdana" size="2"><u>Disadvantages</u>:&nbsp; Difficult
        to interface with other applications.&nbsp; Difficult and limited
        capabilities for developing and managing dialog forms.&nbsp; Works only
        within Autodesk products.</font></p>
        <p><font face="Verdana" size="2"><b>VBA</b> is a Microsoft
        product.&nbsp; End of story.&nbsp; Well, not quite.&nbsp; VBA is
        licensed by Microsoft to resellers and developers (for a nominal fee
        that would make you sweat) to help interface their products with
        Microsoft products.&nbsp; Go ahead, argue that last sentence, but do you
        think Microsoft could care beans about how it improves other folks'
        products alone?&nbsp; Hell no!&nbsp; If it doesn't help further some
        marketing strategy cooked up by Microsoft for the benefit of Microsoft,
        they won't do it.&nbsp; Period.</font></p>
        <p><font face="Verdana" size="2"><u>Advantages</u>:&nbsp; Works well for
        moving data between Autodesk products and other applications like
        Microsoft Office.&nbsp; Allows referencing and borrowing of tools from
        other applications within the current application.&nbsp; Easy and
        intuitive dialog form designing tools.&nbsp; Can be written to control
        AutoCAD from other applications or to control other applications from
        within AutoCAD.</font></p>
        <p><font face="Verdana" size="2"><u>Disadvantages</u>:&nbsp; Limited
        capabilities for certain types of internal drawing processing
        tasks.&nbsp; Requires AutoCAD or other VBA-enabled application to write
        code.&nbsp; If you're used to writing code in VB (full Visual Basic)
        then VBA may seem a little confining and limiting to you.&nbsp; That's
        just my personal feeling after having first learned C++ then VB5 and VB6
        and moving &quot;on&quot; to VBA 5.0 and now VBA 6.x.&nbsp; Oh
        well.&nbsp; A pile of beans.</font></p>
      </blockquote>
      <p><font face="Verdana" size="2">OK, so it's quite possible that some of
      you will disagree with my viewpoints here and that's fine.&nbsp; This is a
      free space to debate viewpoints.&nbsp; Of course, I have to say that if
      you disagree with my viewpoints you obviously suck.&nbsp; Ho Ho!&nbsp;
      Just kidding.</font></p>
      <p><font face="Verdana" size="2">In a nutshell, both VLISP and VBA have a
      definite advantage over each other depending upon the purpose for which
      the tool is used.&nbsp; No programming language is the
      &quot;best&quot;.&nbsp; That's a load of horses**t for anyone to begin to
      say such a thing.&nbsp; It's what works best for the job at hand that
      matters.&nbsp; Sometimes even that is a toss-up and it comes down to what
      you know best.</font></p>
      <p><br>
      Dave</p>
    </td>
  </tr>
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-22 14:55:07 | 显示全部楼层
还是LISP好用,好学、实用、又直观!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-22 21:35:25 | 显示全部楼层
恩,这介绍不错不错!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-9 13:31:58 | 显示全部楼层
小弟觉得还是lisp好一点而且很直观。调试也很方便
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-22 18:21:38 | 显示全部楼层
LISP速度要慢一些,VBA就是安全性差些,但可以做成DLL来调用!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-23 19:59:45 | 显示全部楼层
我看好可以做成DLL来调用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2004-1-30 16:49:48 | 显示全部楼层
贴一个LISP的帮助文件.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 13:39 , Processed in 0.207437 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表