flowerrobot 发表于 2022-7-6 17:08:30

Qleader公司

有人能告诉这个白痴为什么这个代码只有70%的时间有效吗。
它是如此简单,但我不能使它工作一致
 
(DEFUN C:LE()
   (command ".LAYER" "s" "DIM" "")
   (command ".linetype" "s" "bylayer"\\)
   (command ".color" "bylayer")
   (COMMAND ".QLEADER" )
   (princ)
)

Lee Mac 发表于 2022-7-6 17:21:12

我试着使用:
 
但是ACAD陷入了一个无尽的循环。。。。

TimSpangler 发表于 2022-7-6 17:38:27

 
 
确保该层存在。。。。除此之外看起来还可以

flowerrobot 发表于 2022-7-6 17:45:06

它确实存在,但我确实拥有它
“m”(生成层)而不是“s”(设置层),
但同样的问题也存在,所以我把它改成了电流
,不知道你的意思“这是什么”
这是为了确保行是按层设置的,因为公司的一些愚蠢的Lisp程序会改变我的设置,所以为了方便起见,我放置了颜色和线型。

ASMI 发表于 2022-7-6 17:49:01

我想:
 
(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
 
如果需要,我可以添加线型。

flowerrobot 发表于 2022-7-6 17:59:29

我想我爱你!!!
我最近看到越来越多的关于反应堆的评论。
当事情进展缓慢时,我们会对它们进行更多的研究。
 
如果你有其他明智的选择,你能给我提供任何阅读的地方吗

ASMI 发表于 2022-7-6 18:11:08

有一章是关于Visual LISP开发人员圣经的
页: [1]
查看完整版本: Qleader公司