leos98 发表于 2022-7-6 15:10:00

我得到了它,而不是红色,我只是(1.13),有一分钟我感到困惑,认为10是红色的。但是现在,我们要做的是改变一个范围内的所有颜色。例如,从10到19的所有颜色都更改为15,从20到29的所有颜色都更改为25。有什么想法吗
 
谢谢

leos98 发表于 2022-7-6 15:12:37


我可以将LISP复制到按钮的宏中吗?

Lee Mac 发表于 2022-7-6 15:14:44

 
对于宏,只需从宏按钮调用LISP语法。

Lee Mac 发表于 2022-7-6 15:19:49

尝试以下范围:
 
(定义c:laycol(/colLst lay col)(vl load com)(setq colLst’((10 19)15);;

leos98 发表于 2022-7-6 15:21:31

谢谢
 
我这样做了,效果很好,对颜色的范围有什么想法吗。很抱歉打扰您这么多,但这是我第一次使用lisp,我真的很想让它工作。
 
再次感谢,
 
Leos98

leos98 发表于 2022-7-6 15:27:11

哇,男人们,我非常感谢你们,我的回复有点晚了

Lee Mac 发表于 2022-7-6 15:29:27

 
哈哈-颜色范围已经分类了,伙计

leos98 发表于 2022-7-6 15:31:39

李·麦克
首先,我要感谢你的帮助。我刚刚尝试了新的例程,但一直出现以下错误:
 
; 错误:错误的参数类型:consp 1
 
我试图理解它,但由于我缺乏AUTOLISP知识,无法理解。你能帮我解决这个问题,并解释一下发生了什么,这样我就可以开始学习了吗?
 
谢谢
 
Leos98

Lee Mac 发表于 2022-7-6 15:36:17

 
隐马尔可夫模型。。。我似乎无法重现您收到的错误-您是否修改了发布的代码?如果是这样,你能把修改后的代码贴出来吗?
 
干杯

leos98 发表于 2022-7-6 15:37:29

我做了以下工作:
 
(defun c:laycol1(/colLst lay col)
(vl load com)
(setq colLst'(
((10 19) 15);;
((20 29) 25)
((30 39) 35)
((40 49) 45)
((50 59) 55)
((60 69) 65)
((70 79) 75)
((80 89) 85)
((90 99) 95)
((100 109) 105)
((110 119) 115)
((120 129) 125)
((130 139) 135)
((140 149) 145)
((150 159) 155)
((160 169) 165)
((170 179) 175)
((180 189) 185)
((190 199) 195)
((200 209) 205)
((210 219) 215)
((220 229) 225)
((230 239) 235)
((240 249) 245)
(1 . 15)
(2 . 55)
(3 . 95)
(4 . 135)
(5 . 175)
(6 . 215)
(7 . 9)
))
 
(l的vlax(vla获取层
(vla获取activedocument
(vlax get acad object)))
(setq lay(cons l lay)))
(每层铺设
(foreach col colLst)
(如果(
(vla put color layer(cadr col1000;Ϩ)Ϩ)
(普林斯)
 
谢谢
页: 1 [2]
查看完整版本: 更改颜色例程