prodromosm 发表于 2022-7-5 22:21:53

具有全局宽度的多段线

您好,我正在尝试编写一个lisp来绘制一条全局宽度为0.10的特定层中的多段线
 
这是代码
 
(defun C:PLGB (/ plw)
(COMMAND "_layer" "_m" "Global PL" "_c" "25" "DASHED2" "_lt" "DASHED2" "DASHED2" "")
(COMMAND "_linetype" "_s" "DASHED2" "")
(setq plw (getvar 'plinewid)
(setvar 'plinewid 0.10)
(command "_.pline")
(setvar 'plinewid plw)
)
); defun
 
这个代码给了我这个消息
 
 
有人能帮我吗?
 
谢谢

hanhphuc 发表于 2022-7-5 22:34:38


(defun C:PLGB (/ plw)
(COMMAND "_layer" "_m" "Global PL" "_c" "25" "DASHED2" "_lt" "DASHED2" "DASHED2" "")
(COMMAND "_linetype" "_s" "DASHED2" "")
(setq plw (getvar 'plinewid)) ; missing parentheless?
(setvar 'plinewid 0.10)
(command "_.pline")
(setvar 'plinewid plw)
<--- remove this
); defun

 
 
我想补充一下
 
全局宽度0.50
线型比例0.10
 
这层的颜色是白色的,不是25(我现在不知道为什么?)

prodromosm 发表于 2022-7-5 22:55:02

请尝试以下操作:
(defun C:PLGB (/ plw)
(COMMAND "_layer" "_m" "Global PL" "_c" "25" "DASHED2" "_lt" "DASHED2" "DASHED2" "")
(COMMAND "_linetype" "_s" "DASHED2" "")
(setq plw (getvar 'plinewid))
(setvar 'plinewid 0.50)
(command "_.pline")
(setvar 'plinewid plw)
); defun

Lee Mac 发表于 2022-7-5 23:03:35

嗨,李。麦克。我尝试了你的代码,但结果并不是我想要的。
 
我想创建一个名为“Global PL”、颜色为25、线型为“dashed2”的层,但是
a) 在线型管理器中,我需要全局比例因子1,当前对象比例1
b) 选择多段线时-->全局宽度为0.50
 
查看附加照片
 
谢谢

prodromosm 发表于 2022-7-5 23:18:43

我试着理解一些事情
 
在1。dwg文件lisp工作完美。
在2。dwg文件多段线的设置与1相同。dwg但不一样!!!!
 
我无法理解
 
(defun c:plgb ( / lay val var )
   (setq var '(clayer plinewid cmdecho celtscale cecolor celtype)
         val(mapcar 'getvar var)
         lay"Global PL"
   )
   (mapcar 'setvar (cdr var) '(0.5 0 0.1 "bylayer" "bylayer"))
   (command "_.-layer" "_m" lay "_c" 25 lay "_l" "dashed2" lay "_t" lay "_u" lay "_on" lay "_s" lay "")
   (setvar 'cmdecho 1)
   (command "_.pline")
   (while (= 1 (logand 1 (getvar 'cmdactive))) (vl-cmdf "\\"))
   (mapcar 'setvar var val)
   (princ)
)
 
谢谢
1.dwg
2.dwg

prodromosm 发表于 2022-7-5 23:30:03

页: [1]
查看完整版本: 具有全局宽度的多段线