lincctw_ccl 发表于 2012-5-6 21:34:09


難過搞了一整天 還是弄不出來!!

lincctw_ccl 发表于 2012-5-6 22:28:05


(DEFUN C:T11 (/ YPT ENA ENALA)
(setq ena (entsel "\n选取换层物体(左键循环^_^右键确认退出):"))
(setq enala(cdr(assoc 8 (entget(car ena)))))
(while ENALA
       (PRINC "\n当前图层")
       (PRINC ENALA)
       (SETQ YPT (CAR (grread NIL 8)))
       (cond
         ((= YPT 3)(DO_LEFT));左键循环换层
         ((OR (= 25 YPT) (= 11 YPT)) (SETQ ENALA NIL));右键确定完成命令
       )
)
)
(DEFUN DO_LEFT (/ LANUM LASTR)
   (IF (NULL (wcmatch ENALA "*_*"))
    (PROGN
   (setq ENALA (strcat enala "_A"))
   (command "change" ena "" "p" "la" ENALA "")
    )
    (PROGN
   (SETQ LASTR (SUBSTR ENALA 1 (1- (STRLEN ENALA))))
   (setq ENALA LASTR)
   (IF (NULL (wcmatch ENALA "*_A"))
      (PROGN
         (SETQ ENALA (strcat enala "B"))
         (command "change" ena "" "p" "la" ENALA "")))

    )
)
(PRINC))

上面程序怎么再按左键会变回主图层??
程度不好~试了很久 搞不出来
有请各位帮忙了
谢谢!!


lincctw_ccl 发表于 2012-5-6 23:49:54

实在是搞不定!
要是有书在手上的话 还能依你所写的去查出你之前给的是写啥意思
或许还能更快融会贯通

wowan1314 发表于 2012-5-7 00:01:42

明天帮你调下,不过这样就是两个程序了,得你自己判断那个图元图层是加数字或加字母的。

wowan1314 发表于 2012-5-7 00:08:20

如果程序可以自己识别图层是否有副图层且副图层是什么类别的话就完美点。

lincctw_ccl 发表于 2012-5-7 08:28:39

再麻煩你了!!

wowan1314 发表于 2012-5-7 09:22:28

lincctw_ccl 发表于 2012-5-7 08:28 static/image/common/back.gif
再麻煩你了!!

在图层XX,XX_A,XX_B之间切换。优化扩展的工作就交给你。

lincctw_ccl 发表于 2012-5-7 10:34:34

wowan1314 发表于 2012-5-7 09:22 static/image/common/back.gif
在图层XX,XX_A,XX_B之间切换。优化扩展的工作就交给你。

非常感謝!!

zmx6189 发表于 2012-5-7 13:27:21

学习一下,怎样

bikeboy 发表于 2012-5-7 17:28:14

这个相当的给力 思路真好啊
页: 1 [2]
查看完整版本: 空格键执行循环换层?