tranney 发表于 2014-8-11 01:47:44

可以了,谢谢大佬

ucuc2003 发表于 2014-8-11 22:18:58

(defun C:DEF (/ s1)
(setvar "cmdecho" 0)
(setq tc_name "Defpoints")
(setq tc_col "5")
(XJ_NEW_TC)
(Z_SET_Layer)
(princ)
);END

(defun Z_SET_Layer (/ s1)
(princ (strcat "创建“" tc_name "”层"))
(while
(princ (strcat "\n**右键设置图层“" tc_name "”为当前层;或按Esc直接退出** "))
(setq s1 (ssget))
(if (= s1 nil)
    (progn (command "-LAYER" "S" tc_name "")(exit));progn
    (progn
      (command "_.undo" "_begin")
      (command "change" s1 "" "P" "la" tc_name "")
      (command "_.undo" "_end")
   );progn
   );if
);while
(princ)
);end defun

(defun XJ_NEW_TC ()
(setq lay (getvar "clayer"))
(if (tblsearch "layer" tc_name) ""
    (progn
      (command "-layer" "new" tc_name "color" tc_col tc_name "")
      (command "clayer" lay)
    )
)
(princ)
);over defun

xieyanghui 发表于 2014-8-11 23:56:43

(defun C:W14(/ gp)
(setq gp (ssget))
(if (/= t(tblsearch "layer" ""))
(command "-layer" "new" "0-WINDOW" "color" "14" "0-WINDOW" ""))
(command "change" gp "" "p" "la" "0-WINDOW" "")
(setvar "CLAYER" "0-WINDOW")
(princ)
)E大可否帮忙把这个优化一下,让这个速度快一点!在没有选择物体的时候置为当前层有点慢,图层设置有点多。谢谢

ZZXXQQ 发表于 2014-8-12 07:57:19

(defun C:W14(/ gp)
(setvar "CMDECHO" 0)
(setq gp (ssget))
(command "-layer" "M" "0-WINDOW" "C" "14" "" "")
(command "chprop" gp "" "la" "0-WINDOW" "")
(setvar "CMDECHO" 1)
(princ)
)

lijiao 发表于 2014-8-12 09:58:24

(defun c:def()
   (setvar "cmdecho" 0)
   (while (setq a (ssget))
      (command "change" a "" "p" "c" "bylayer""la" "defpoints" "lw" "bylayer" "")
      )
   (setvar "cmdecho" 1)
   (princ)
   )

xieyanghui 发表于 2014-8-12 19:37:27

ZZXXQQ 发表于 2014-8-12 07:57 static/image/common/back.gif


非常感谢Z版很好用

1993063 发表于 2014-8-14 15:52:03

xieyanghui 发表于 2014-8-11 05:56 static/image/common/back.gif
(defun C:W14(/ gp)
(setq gp (ssget))
(if (/= t(tblsearch "layer" ""))


像这个一点都不难,其实可以自己尝试写
页: 1 [2]
查看完整版本: 如何改造一下这个命令让它支持先选择物体,然后执行啊