如何将一个图层转换到另一个图层,比如:将DLDW、JMD换层到“居民地及设施”层
本帖最后由 kmustwxw 于 2015-8-27 09:13 编辑(defun c:mmlay()
(setq ss (ssget "x" ' ((-4."<or") (8 ."jmd") (8."dldw") (-4."or>"))))
(if(/=ss nil)
(command "change" ss "" "p" "la" "居民地及设施" "c" "bylayer" "")
)
(setq ss nil)
(princ))
有段代码,加载好后,提示命令无效,不知道 是什么情况,求高手指导。谢谢
(defun c:tt ()
(setq lst '(("jmd,dldw" "居民地及设施")
("DGX,GCD,DMTZ" "地貌")
("DLSS" "交通")
("GXYZ" "管线")
("KZD" "测量控制点")
("SXSS" "水系及附属设施")
("TK" "图廓整饰")
("ZBTZ" "植被与土质")
("ZJ" "注记")
)
)
(foreach a lst
(if (setq ss (ssget "x" (list (cons 8 (car a)))))
(command "change" ss "" "p" "la" (cadr a) "c" "bylayer" "")
)
)
(princ)
) (defun c:mmlay()
(setq ss (ssget "x" '((-4 . "<or") (8 . "jmd") (8 . "dldw") (-4 . "or>"))))
(if(/= ss nil)
(command "change" ss "" "p" "la" "居民地及设施" "c" "bylayer" "")
)
(setq ss nil)
(princ)
) 太感谢你了,是点号 . 前面要有空格吗?、 spp_wall 发表于 2015-8-27 10:02 static/image/common/back.gif
(defun c:mmlay()
(setq ss (ssget "x" '((-4 . ""))))
(if(/= ss nil)
如果我要将以下图层也换下层,要放到一个LSP中,如何加?谢谢。
DGX、GCD、DMTZ层上的要素换层到“地貌”层;
“DLSS”层换层到“交通”;
GXYZ层上的要素换层到“管线”;
KZD上的颜色换层到“测量控制点”层;
SXSS层上的要素换层到“水系及附属设施”层;
TK层上的颜色换层到“图廓整饰”层;
ZBTZ层上的要素换层到“植被与土质”层;
ZJ层上的要素换层到“注记”层,颜色随层。 xyp1964 发表于 2015-8-28 12:33
这个方法不能更改块中图层 江南十笑 发表于 2023-5-9 16:10
这个方法不能更改块中图层
(defun c:layerchange (/ oldlayer newlayer ss)
(setq oldlayer (getstring "\nEnter the name of the layer to be changed: "))
(setq newlayer (getstring "\nEnter the name of the new layer: "))
(setq ss (ssget "_X" (list (cons 0 "LWPOLYLINE,CIRCLE,ARC,LINE") (cons 8 oldlayer))))
(command "_.CHPROP" ss "" "LA" newlayer)
(princ)
)
来自chatGPT3.5大模型 cq4920 发表于 2023-5-9 20:01
(defun c:layerchange (/ oldlayer newlayer ss)
(setq oldlayer (getstring "\nEnter the name of...
这不是我想要的效果 我只想上面的支持块内图层就行了
页:
[1]