明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: tranney

[已解答] 如何改造一下这个命令让它支持先选择物体,然后执行啊

[复制链接]
 楼主| 发表于 2014-8-11 01:47:44 | 显示全部楼层
可以了,谢谢大佬
发表于 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
发表于 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大可否帮忙把这个优化一下,让这个速度快一点!在没有选择物体的时候置为当前层有点慢,图层设置有点多。谢谢
发表于 2014-8-12 07:57:19 | 显示全部楼层
  1. (defun C:W14(/ gp)
  2. (setvar "CMDECHO" 0)
  3.   (setq gp (ssget))
  4.   (command "-layer" "M" "0-WINDOW" "C" "14" "" "")
  5.   (command "chprop" gp "" "la" "0-WINDOW" "")
  6. (setvar "CMDECHO" 1)
  7. (princ)
  8. )

评分

参与人数 1明经币 +1 金钱 +5 收起 理由
xieyanghui + 1 + 5 很给力!

查看全部评分

发表于 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)
     )

评分

参与人数 1明经币 +1 收起 理由
tranney + 1 很给力!

查看全部评分

发表于 2014-8-12 19:37:27 | 显示全部楼层
ZZXXQQ 发表于 2014-8-12 07:57

非常感谢Z版很好用
发表于 2014-8-14 15:52:03 | 显示全部楼层
xieyanghui 发表于 2014-8-11 05:56
(defun C:W14(/ gp)
  (setq gp (ssget))
  (if (/= t(tblsearch "layer" ""))

像这个一点都不难,其实可以自己尝试写
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-18 11:35 , Processed in 0.186139 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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