ZZXXQQ
发表于 2013-5-20 21:40:49
;图元归层 明经 ZZXXQQ 2013.5.20 改
(defun c:ly ()
(setvar "CMDECHO" 0)
(if (and (princ "\n选择图元: ")
(setq ss (ssget '((0 . "CIRCLE,LINE,*POLYLINE,DIMENDION,*TEXT,INSERT"))))
(setq wei (getstring "\n层名尾号: "))) (progn
(if (setq ss1 (ssget "P" '((0 . "CIRCLE"))))
(command "_.CHPROP" ss1 "" "LA" (strcat "立管层" wei) "")
)
(command "_.SELECT" ss "R" ss1 "")
(if (setq ss1 (ssget "P" '((0 . "LINE"))))
(command "_.CHPROP" ss1 "" "LA" (strcat "管道层" wei) "")
)
(command "_.SELECT" ss "R" ss1 "")
(if (setq ss1 (ssget "P" '((0 . "*POLYLINE,DIMENSION,*TEXT"))))
(command "_.CHPROP" ss1 "" "LA" (strcat "标注层" wei) "")
)
(command "_.SELECT" ss "R" ss1 "")
(if (setq ss1 (ssget "P" '((0 . "INSERT"))))
(command "_.CHPROP" ss1 "" "LA" (strcat "图块层" wei) "")
)
))
(setvar "CMDECHO" 1)
(princ)
)
theisland
发表于 2013-5-20 22:22:13
ZZXXQQ 发表于 2013-5-20 21:40 static/image/common/back.gif
这个不错,顶一个!
半听可乐
发表于 2013-5-20 22:45:09
ZZXXQQ 发表于 2013-5-20 21:40 static/image/common/back.gif
我照着您这个程序去改第一个程序如下:(想实现框选+点选,且选择和输命令不分先后)
(defun c:LY1()
(setvar "CMDECHO" 0)
(if (and (princ "\n选择图元: ")
(setq ss (ssget '((0 . "CIRCLE,LINE,*POLYLINE,DIMENDION,*TEXT,INSERT"))))
(progn
(if (setq ss1 (ssget "P" '((0 . "CIRCLE"))))
(command "_.CHPROP" ss1 "" "LA" "SXSTK" "")
)
(command "_.SELECT" ss "R" ss1 "")
(if (setq ss1 (ssget "P" '((0 . "LINE"))))
(command "_.CHPROP" ss1 "" "LA" "SX_X" "")
)
(command "_.SELECT" ss "R" ss1 "")
(if (setq ss1 (ssget "P" '((0 . "*POLYLINE,DIMENSION,*TEXT,LEADER"))))
(command "_.CHPROP" ss1 "" "LA" "SXDIM" "")
)
(command "_.SELECT" ss "R" ss1 "")
(if (setq ss1 (ssget "P" '((0 . "INSERT"))))
(command "_.CHPROP" ss1 "" "LA" "SXBLK" "")
)
(command "_.SELECT" ss "R" ss1 "")
))
(setvar "CMDECHO" 1)
(princ)
) )
效果是实现了,但是为什么会有这个提示呢?感觉看着不舒服:
未知命令“LY1”。按 F1 查看帮助。
xieyanghui
发表于 2013-6-12 12:48:53
为什么选不了尺寸呢!!
浪子_无限
发表于 2014-12-23 22:19:35
感觉这个实用性还是不错
chenbh2
发表于 2015-9-13 08:55:08
半听可乐 发表于 2013-5-20 22:45 static/image/common/back.gif
我照着您这个程序去改第一个程序如下:(想实现框选+点选,且选择和输命令不分先后)
(defun c:LY1()
...
吸取了点精华!谢谢!!