空格键执行循环换层?
本帖最后由 lincctw_ccl 于 2012-5-5 13:09 编辑各位好!!
现有一主图层例如为:AAA其下有副图层分别为AAA_01 AAA_02 AAA_03可有能人可帮写一程序点选图 程序判断其图层 AAAAAA_01AAA_02AAA_03中的任一图层空格键 执行图层变更;按一下,变更一次图层,在上述四个图层循环换层直至使用者自行中断程序!!(依主图层来做判断,主图层名称不固定,副图层后缀名也是不固定的,主副图层是以_来做区别) (或哪位知道何处有类似程序可否给个连结)
谢谢!!
本帖最后由 wowan1314 于 2012-5-5 15:38 编辑
基本实现了你要的功能。有其他要求自己优化吧! 水平有限。左键换图层,右键确认退出。感觉左键方便点。
用 Grread ...
例子站内有 Andyhon 发表于 2012-4-29 11:28 static/image/common/back.gif
用 Grread ...
例子站内有
嗯!!謝謝指點
我先找看看
Andyhon 发表于 2012-4-29 11:28 static/image/common/back.gif
用 Grread ...
例子站内有
Grread 對我程度來說來說有點太深了!!
查了下如果不管點選什麼層 如找出主圖層的名稱
可能是用 vl-string-right-trim 指令吧??
但沒用過寫不出來 怎樣去得到主層!!
如時間允許的話 可否指點一二 !!
謝謝!! 局部的功能论坛里边都有,组合一下就可以了。Grread参考风的大杀器 langjs 发表于 2012-4-29 12:51 static/image/common/back.gif
局部的功能论坛里边都有,组合一下就可以了。Grread参考风的大杀器
了解
謝謝 langjs兄!! 本帖最后由 lincctw_ccl 于 2012-5-5 13:08 编辑
(defun C:tt ()
(setvar "blipmode" 0);;标记点开关
(setvar "cmdecho" 0);;指令行不响应
(while
(setq ena (entsel "\n选取:"))
(setq enala(cdr(assoc 8(entget(car ena)))))
(setq WT(strcat enala "_1"))
(if (= enala enala )
(command "change" ena """p" "la" WT "")
)
)
(princ)
)
如上程序
如图层为 1时可变成 1-1(主图层为1)
图层判断为 1-1有-1时 要变成-2 那图层就变为1-2
图层判断为 1-2有-2时 要变成-1 那图层就变为1-1
现在人在外地,手上也没工具书,对lsp又还没熟到不翻书就能写出来的程度
有哪位好心人 帮写下吧!!
谢谢! 本帖最后由 lincctw_ccl 于 2012-5-5 23:03 编辑
wowan1314 发表于 2012-4-29 10:15 static/image/common/back.gif
基本实现了你要的功能。有其他要求自己优化吧! 水平有限。左键换图层,右键确认退出。感觉左键方便点。
您好!!
您太謙虛了!!
正是我要的結果!!
不過可以再請你幫改個 後綴不是數字的嗎?
後綴 是 _B 及 _X 切換的!
謝謝!
(DEFUN C:T12 (/ 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 NIL8))) (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 "_b")) (command "change" ena"" "p" "la" ENALA "") ) (PROGN (setq ENALB(vl-string-right-trim"_b" ENALA)) (setq ENALB1 (strcat ENALB "_x")) (command "change" ena"" "p" "la" ENALB1 ""))(PRINC)) 资质鲁顿 改不出我想要的!!大哥再请帮帮吧!!!
本帖最后由 wowan1314 于 2012-5-6 11:02 编辑
是在AA, AA_B, AA_X三个之间切换吗?后缀的B,X是大写还是小写
这两天我也没时间调试。你自己改改吧!
第二个的PROGN后面 改为IF (有_B) (图层为AA_X)(图层为aa)
页:
[1]
2