作者jiwenho (jiwen)
看板Cad_Cae
标题Re: 让 AUTOCAD 自动产生图形的方法
时间Sat Jun 12 15:14:08 2010
0.图块,尤其是现在还有动态图块,对没空或没力气去写程式的人来说,是一种选择
1.lisp,用lisp的方法可以输入参数,且有逻辑和回圈的程式效果,
lisp修改图形(几何方面)资料的效率也是最好的,数学和逻辑相关函数也很丰富
甚至可以透过vl vlax系列的函数有限的调用 vb/vba/arx 资源
我认为是最适合用来自动化产生图形的方案
2.用scr的方法可以外部呼叫(其实工具列的按钮就是用scr写的)
但是scr有一个重要的特性:可以换档案继续执行
所以批次作业通常是透过scr来做的
因为不能输入参数,用来产生图形倒不如直接插入图块会好一些(可以避免抓点的失误)
3.VB/VBA:上述的功能都能完成,只是产生几何图形的函数和概念很玄奥,
所以不易上手,但是连结外部资料库的工作用这个是最快的,设计对话框也很方便。
至於画图和改图...还是觉得lisp比较好。
4.objARX:比较底层的克制化,例如官方出版的其他模组(建筑,机械,电学,地理...)
就是用这个做的(刚买进来还来不及改的不算 XD),
除了上述所提的vb/vba所有功能(和优缺点)还可以调用更底层的函数,
定义新的物件,(包括图形,介面和函数...等),
由於是物件导向的写法,开发和维护比较费神,打算用来赚大钱时才会去写这个
以图形变化的复杂性来说,各种方法可以做出图形变化的相容性排序如下:
objARX>vba>lisp<>scr>>图块
然而...设计和部署的便利性则是相反...
幸运的是,acad的用户不用在这些选择中作出取舍 :)
这几种方法架构在同一种平台上,并且命令列的存在使得这几种方案可以同时混用。
比方说:
从资料库取得参数,打算批次加入某些图形,再根据参数修改图形
程式可能是这个样子的:
1.vba串资料库取得整批参数後,产生scr档(这部分lisp也可以vl-函数来调用vba资源)。
2.scr档中批次(逐个图档的)呼叫某个 lisp 并给与足够的引数。
3.lisp 中根据引数和逻辑插入特定的图块,再根据引数加以编辑(缩放,拉伸,打字...)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.120.178.129