autolisp关于block,AUTOlisp

http://www.itjxue.com  2023-01-09 11:32  来源:未知  点击次数: 

求教一个关于autolisp 定义块的问题

在创建块的时候:(1)块名(2)选择组成块的对象(3)指定基点。

这三个操作还是要做的。至于用程序在“原地”生成块,应该是很简单的事情。

(vl-cmdf "-BLOCK" "块名" "基点" 选择集 "")

事实上,这样创建块,用程序多操作一步,用户在实际使用时是看不出来的,

跟你想要的结果是完全一样的。

可以帮我看看这个CAD中的程序autolisp的语言有哪里是错误的吗?这个是别人编好的滚刀加工齿轮的范成过程。

1、你的表达式括号少的太多了,括号必须()成对称形式把公式、变量等等全部括进去;

2、很多变量都没有定义,你让公式怎么进行下去呢?比如“P”、“A”“-A”;你不给公式,也不定义他们的值,电脑就无法计算的啊;

你应该吧程式放到lisp编辑器里面,就可以看的很清楚了,也比较好修改

AUTOLISP问题

(SSGET "X") 那里换成 (ssget "x" (list (cons 0 "ATTDEF")))就可以过滤出所有的att。

(SSGET "X") 是所有的实体。所以会选中不是att的东西。

(ssget "x" (list (cons 0 "ATTDEF")))还可以再加条件。比如(ssget "x" (list (cons 0 "ATTDEF") (cons 8 "abc")))就是把abc层的att都选出来。自己根据需要扩展吧。

autolisp vla-get-blocks 这个函数是什么意思呢 ?还有在哪里能够查

vla-get-blocks 表示得到图块集合的意思

vla函数在帮助中的VBA中有,或者你在网上买一本书参考一下

AutoCAD LISP/VLISP函数库查询辞典(附光盘)

这本书还不错

(vl-load-com)

(vla-get-blocks(vla-get-activeDocument(vlax-get-acad-object)))

(vlax-dump-object (vlax-get-acad-object))

其实对象编程而已...

你把这几个命令搞清楚后其余都是一样的,vla-***后面的根本上不要特意去记,

(责任编辑:IT教学网)

更多

推荐微信营销文章