小叶舟 发表于 2010-5-14 09:24

浩辰CAD 2010的VLISP接口简单介绍

Visual LISP语言可以访问CAD的对象模型, 不仅使程序开发变得更容易,更快捷,还提供了新的LISP语言应用功能。例如,可以使用VLISP以LISP语言访问ActiveX对象。还可以通过VLISP与其他支持ActiveX方法的Windows应用程序进行交互。

1、直接访问ActiveX对象与标准LISP对比

我们把标准Lisp和使用VLISP直接访问ActiveX对象做一个简单比较:


标准LISP语言:

(setq circle-entity (car (entsel)))

(setq radius (cdr (assoc 40 (entget circle-entity))))

使用VLISP直接访问ActiveX对象

(vlax-ename->vla-object circle-entity)

(setq radius (vla-get-radius circle-object))

对比可以发现直接访问ActiveX对象更方便直观。从效率方面来讲,直接访问ActiveX对象避免了分配大量内存,生成冗余的列表,从而运行更快。

2、加载VLISP工程的方法

浩辰CAD2010不仅提供了与AutoCAD兼容的VLISP接口,还可以直接加载AutoCAD编译好的VLISP工程(VLX、FAS文件),省去了移植工作的烦恼;同时也可以直接利用互联网上提供的大量免费的VLISP工程,从而更大程度上节约设计时间。

1)、可以调用APPLOAD命令,像加载LISP文件一样加载VLISP工程(VLX、FAS文件)。

2)、可以直接在命令行中书写形如(load “c:\\Test.vlx”) (load “c:\\Test.fas”)的LISP语句完成加载。

3)、直接在其他程序中,像浩辰CAD发送LISP语句完成加载。

3、VLISP加载实例

贱人工具箱是网上流传很广的CAD免费小工具,下面就以贱人工具箱5.2版为例,演示一下浩辰CAD是如何加载VLISP程序的。

在工具菜单选择加载应用程序选项,可以看到浩辰CAD2010可以支持所有的CAD二次开发程序的加载,这里选择VLISP的程序VLX来加载贱人工具箱。
http://www.gstarcad.com/bbs/attachment/Mon_1005/57_52984_aecdae76cd24228.png

http://www.gstarcad.com/bbs/attachment/Mon_1005/57_52984_db2bd053d111d59.png

选择贱人工具箱的程序
http://www.gstarcad.com/bbs/attachment/Mon_1005/57_52984_deec95eb5311873.png

加载后根据命令行的提示启动贱人工具箱

http://www.gstarcad.com/bbs/attachment/Mon_1005/57_52984_9d0aff4340a24b8.png
输入Y回车,弹出贱人工具箱的界面:
http://www.gstarcad.com/bbs/attachment/Mon_1005/57_52984_4f3c143b7756061.png
贱人工具箱就可以在浩辰CAD上使用了,正因为浩辰CAD2010优秀的二次开发接口,类似贱人工具箱这样本来是为AutoCAD开发的插件都可以直接在浩辰CAD2010上进行加载运行,为用户提供了真正的便利。
VLX和FAS的直接加载运行是浩辰CAD 2010版的重大技术突破,其他同类的CAD都无法实现。当然,由于VLISP函数以及命令参数还不能与AutoCAD100%兼容,还不能保证所有的VLX或FAS程序加载后所有功能都能正常运行,我们的开发人员正在对一些常用的工具进行测试,并逐步完善VLISP与AutoCAD兼容性。

[ 本帖最后由 小叶舟 于 2010-5-14 10:43 编辑 ]

月光轻洒 发表于 2010-5-14 11:53

浩辰CAD2010的VLISP接口为用户提供了真正的便利。

七色花筒 发表于 2010-5-15 22:43

原本是为AutoCAD开发的一些插件都可以直接在浩辰CAD2010上进行加载运行,所以浩辰这种二次开发的接口确实适用。

期待仍在 发表于 2010-5-16 15:55

Visual LISP语言还可以访问CAD的对象模型呢,这个功能很好,使用起来便捷多了。

热带金鱼 发表于 2010-5-17 12:04

是在说浩辰CAD的2010版的VLISP接口呀,我正在用,还不错。

记忆犹新 发表于 2010-5-18 06:33

浩辰CAD2010版的改进确实很大,在提供了与AutoCAD兼容的VLISP接口的同时,能直接加载AutoCAD编译好的VLISP工程。

一面白墙 发表于 2010-5-18 10:29

我喜欢用浩辰CAD的2010版,它能节约好多的设计时间呢。

万里长城 发表于 2010-5-18 15:26

通过这个贴子,我学习了一些东西,楼主了辛苦。

花海溢香 发表于 2010-5-20 10:03

这次接口的二次开发,给大家带来了惊喜。

红似海 发表于 2010-5-23 09:16

这个接口功能简单易学。

清泉水 发表于 2010-5-23 23:00

看似简单的接口功能,能开发出来却不是件容易的事。

河山奇景 发表于 2010-5-24 12:21

国内软件在不断走向成熟,支持它们。

一片沃土 发表于 2010-5-24 13:04

就直接访问ActiveX对象来说,标准Lisp不仅分配大量内存,还会生成冗余的列表,影响运行速度。

和平盛世 发表于 2010-5-24 15:31

浩辰软件加载VLISP工程的方法还挺多。

愚公移山 发表于 2010-5-24 17:06

VLISP与AutoCAD如果能更好的兼容,必会大大提高工作效率。
页: [1] 2
查看完整版本: 浩辰CAD 2010的VLISP接口简单介绍