如何通过命令画出自定义线宽及图层后的PL线
想请教下大神们,我想通过一个命令,画出一条线宽为60,W-DIM图层的PL线,或者线宽为60,W-DIM图层颜色为红色的PL线 这样能实现吗?应该不难
我的思路是先创建一个“W-DIM”的图层,图层颜色设置为红色,线宽为60
然后画一个PL线,并将PL线的图层设置为W-DIM
利用entmake函数可以实现上述功能,建议在论坛搜一下 cqu20104225 发表于 2020-2-29 20:01
应该不难
我的思路是先创建一个“W-DIM”的图层,图层颜色设置为红色,线宽为60
然后画一个PL线,并将PL ...
我只会看着怎么用用,或者局部改改,自己不会写,惭愧 本帖最后由 cqu20104225 于 2020-2-29 22:41 编辑
(defun c:ppl (/ ss oldlayer newlayer)
;;;创建图层
(if (= (tblobjname "layer" "W-DIM") nil)
(entmake
(list
'(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
'(70 . 0)
(cons 2 "W-DIM")
(cons 62 1)
)
)
)
;;;绘制多段线并设置属性
(command "pline" pause "w" "60" "60" pause)
(setq ss (entget (entlast)))
(setq oldlayer (assoc 8 ss))
(setq newlayer (cons 8 "W-DIM"))
(setq ss (subst newlayer oldlayer ss))
(entmod ss)
(princ)
)
;;;弄了个粗糙的版本,如果用vlisp会更加简洁一些。
cqu20104225 发表于 2020-2-29 22:36
(defun c:ppl (/ ss oldlayer newlayer)
;;;创建图层
(if (= (tblobjname "layer" "W-DIM") nil)
可以用啊,益达大侠非常非常感谢,类似的功能如果我要画云线,手绘的矩形,或者任意形态的,同样在W-DIM图层,该怎么改改呢 magicheno 发表于 2020-2-29 23:09
可以用啊,益达大侠非常非常感谢,类似的功能如果我要画云线,手绘的矩形,或者任 ...
(defun c:tt5 (/ ss oldlayer newlayer)
;;;创建图层
(if (= (tblobjname "layer" "W-DIM") nil)
(entmake
(list
'(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
'(70 . 0)
(cons 2 "W-DIM")
(cons 62 1)
)
)
)
;;;绘制多段线并设置属性
(command "revcloud" "s" "c"pause pause)
(setq ss (entget (entlast)))
(setq oldlayer (assoc 8 ss))
(setq newlayer (cons 8 "W-DIM"))
(setq ss (subst newlayer oldlayer ss))
(entmod ss)
(princ)
)
按你的版本修改了下,可以用的非常感谢哈
页:
[1]