带有多个
你好我是AutoCAD新手(大约一个星期了),想请你帮个忙。
我必须在IntelliCAD中绘制大量的圆。
有人知道如何使用autolisp实现自动化吗?这样我就可以在文本文件中写入并自动加载它。
我有每个圆的坐标和半径。每个圆将绘制在不同的层中(每个圆应该有自己的层,以便可以关闭和打开以进行打印)
现在我在使用这个命令:
(命令“_.circle”“20,10”“1”)到目前为止,它仍然有效,但需要很长时间。
提前感谢您的时间和帮助!!
SSA公司 文本文件中的信息是什么格式的,即它是如何布局的? 李,你好,
我在excel文件中有坐标和半径。我想如果我能在文本文件中输入所有坐标和半径,无论格式是什么?
我发现这个示例使用autolisp从日常autoCAD网站生成了一个圆,但它给了我一个错误:null函数
(失效C:make_circle(/v1);首先构建实体列表
(setq v1(列表)
(cons 0“圆”);实体名称
(cons 8“TAL_线”);其层的名称
(cons 10’(5.0 10.0);圆的中心点
(cons 40(2.5));圆的半径
) ; 实体列表结束
)
(entmake v1);创建圆
)
请告知
谢谢 对不起,我的意思是:信息的顺序是什么?
即
坐标,半径
半径,坐标
您能提供一个如何存储信息的示例吗?这应该可以很容易地完成。
对于另一个函数,(list)没有参数,。 是坐标,半径 我不确定坐标的显示方式,因此这需要做一些假设:
[列表]
[*]数据从TXT文件中读取
[*]坐标和半径由空格分隔
[*]坐标以逗号分隔。
[/列表]
(defun c:CirMake (/ file nl)
(vl-load-com)
(if (setq file (getfiled "Select Text File to Read" "" "txt" )
(progn
(setq file (open file "r"))
(while (setq nl (read-line file))
(command "_.circle" "_non"
(substr nl 1 (vl-string-position 32 nl))
(substr nl (+ (vl-string-position 32 nl) 2))))
(close file))
(princ "\n<!> No File Selected <!>"))
(princ))
对不起,我的意思是我在excel中有坐标和半径。
我正在尝试编写包含所有这些坐标和半径的lisp,这样我就可以自动生成圆(尽量避免逐个输入圆命令)。每个圆都有其on层。
例如,在excel中,我有
x y r
10' 10' 1'
20' 20' 2'
30' 30' 3'
等
这就是我的想法,你对这个问题还有其他建议吗? 从Excel中读取有点困难-你能不能把内容复制粘贴到txt文件中? 或者,将Excel文件另存为CSV文件
是的,我只是把它保存在文本中
你介意解释一下你写的Lisp程序吗?可能有“;”在每行的末尾:wink:对不起,我不熟悉。
我试着运行lisp,它返回了error null函数
也许我错过了什么?
谢谢
页:
[1]
2