Qleader公司
有人能告诉这个白痴为什么这个代码只有70%的时间有效吗。它是如此简单,但我不能使它工作一致
(DEFUN C:LE()
(command ".LAYER" "s" "DIM" "")
(command ".linetype" "s" "bylayer"\\)
(command ".color" "bylayer")
(COMMAND ".QLEADER" )
(princ)
) 我试着使用:
但是ACAD陷入了一个无尽的循环。。。。
确保该层存在。。。。除此之外看起来还可以 它确实存在,但我确实拥有它
“m”(生成层)而不是“s”(设置层),
但同样的问题也存在,所以我把它改成了电流
,不知道你的意思“这是什么”
这是为了确保行是按层设置的,因为公司的一些愚蠢的Lisp程序会改变我的设置,所以为了方便起见,我放置了颜色和线型。 我想:
(defun c:le()
(if(tblsearch "LAYER" "DIM")
(setvar "CLAYER" "DIM")
(command "_.layer" "_m" "DIM" "")
); end if
(mapcar 'setvar '("CELTYPE" "CECOLOR")'("BYLAYER" "BYLAYER"))
(command "_.qleader")
); end of c:le
您需要检查“layer”表中的层存在性,并删除finish(princ)以继续执行命令。
您可能会对command reactor的此类代码感兴趣。它将自动在“QLEADER”命令下切换图层和颜色。使用REAON命令打开反应堆,使用REAOFF关闭反应堆。
4
您可以在变量comLst中修改命令列表。它的结构是:
'(((((“Layer1”Color1)“Command1”“Command2”…)(((“Layer2”Color2)“Command3”“Command4”…)…)
例如:
5
如果需要,我可以添加线型。 我想我爱你!!!
我最近看到越来越多的关于反应堆的评论。
当事情进展缓慢时,我们会对它们进行更多的研究。
如果你有其他明智的选择,你能给我提供任何阅读的地方吗 有一章是关于Visual LISP开发人员圣经的
页:
[1]