pBe 发表于 2022-7-6 00:44:21

另一个是来自旧例程的嵌套块。
 
(Defun c:bt0(/ToZero aDoc blk blocks layers ab cd)(vl load com)(Defun ToZero(bn)(vlax for itm bn(if(and(eq(vla get ObjectName itm)“AcDbBlockReference”)(not(member(setq ef(vla get eficivename itm))llst))(progn(ToZero(vla item blocks ef))(setq llst(cons ef llst)))(vla put layer itm“0”)(vla put color itm acByLayer);

mostafa badran 发表于 2022-7-6 00:47:55

 
shailujp。你能解释一下这些程序的使用方法吗。

shailujp 发表于 2022-7-6 00:55:36

我通常创建一个。LSP文件将其存储在我的LISP文件夹中,并通过ACADDOC将其自动加载到我的AutoCAD中。然后根据你们设置的defun在命令提示符下键入命令(有时我会根据应用程序和易于记忆的内容修改命令名)。
 
这就是你问的莫斯塔法·巴德兰吗?
 
一个问题:如果在开始新的例程之前没有清除其他lisp中类似的名称变量,是否会产生问题(我认为李·麦克在他的网站上解释得很好)?这可能是原因吗?
 
另外,几周前我经历了一件奇怪的事情。我的一个lisp有两个独立的子函数,分别名为“fixhatchtext”和“fixhatchobject”,但只有第一个起作用。我不得不更改子函数的名称,以便前几个字符根本不包含macth。但我无法断定Autolisp是否接受这一点。你们知道在lisp中命名子函数上的约束吗?
 
这可能是一个单独的话题,但只是提问。
页: 1 [2]
查看完整版本: 更改所有对象的命令