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()
...

吸取了点精华!谢谢!!
页: 1 2 [3]
查看完整版本: 求框选图元,根据图元类型进入不同图层