明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1599|回复: 7

[测绘] 如何将一个图层转换到另一个图层,比如:将DLDW、JMD换层到“居民地及设施”层

[复制链接]
发表于 2015-8-27 09:11 | 显示全部楼层 |阅读模式
本帖最后由 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))

有段代码,加载好后,提示命令无效,不知道 是什么情况,求高手指导。谢谢
发表于 2015-8-28 12:33 | 显示全部楼层
  1. (defun c:tt ()
  2.   (setq lst '(("jmd,dldw" "居民地及设施")
  3.               ("DGX,GCD,DMTZ" "地貌")
  4.               ("DLSS" "交通")
  5.               ("GXYZ" "管线")
  6.               ("KZD" "测量控制点")
  7.               ("SXSS" "水系及附属设施")
  8.               ("TK" "图廓整饰")
  9.               ("ZBTZ" "植被与土质")
  10.               ("ZJ" "注记")
  11.              )
  12.   )
  13.   (foreach a lst
  14.     (if (setq ss (ssget "x" (list (cons 8 (car a)))))
  15.       (command "change" ss "" "p" "la" (cadr a) "c" "bylayer" "")
  16.     )
  17.   )
  18.   (princ)
  19. )
回复 支持 2 反对 0

使用道具 举报

发表于 2015-8-27 10:02 | 显示全部楼层
(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)
)
 楼主| 发表于 2015-8-27 10:34 | 显示全部楼层
太感谢你了,是点号 . 前面要有空格吗?、
 楼主| 发表于 2015-8-27 10:47 | 显示全部楼层
spp_wall 发表于 2015-8-27 10:02
(defun c:mmlay()
(setq ss (ssget "x" '((-4 . ""))))
(if(/= ss nil)

如果我要将以下图层也换下层,要放到一个LSP中,如何加?谢谢。
DGX、GCD、DMTZ层上的要素换层到“地貌”层;
“DLSS”层换层到“交通”;
GXYZ层上的要素换层到“管线”;
KZD上的颜色换层到“测量控制点”层;
SXSS层上的要素换层到“水系及附属设施”层;
TK层上的颜色换层到“图廓整饰”层;
ZBTZ层上的要素换层到“植被与土质”层;
ZJ层上的要素换层到“注记”层,颜色随层。
发表于 2023-5-9 16:10 | 显示全部楼层

这个方法不能更改块中图层
发表于 2023-5-9 20:01 | 显示全部楼层
江南十笑 发表于 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大模型
发表于 2023-5-9 22:49 | 显示全部楼层
cq4920 发表于 2023-5-9 20:01
(defun c:layerchange (/ oldlayer newlayer ss)
  (setq oldlayer (getstring "\nEnter the name of  ...

这不是我想要的效果 我只想上面的支持块内图层就行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-24 04:42 , Processed in 0.253505 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表