1
0
初来乍到
使用道具 举报
106
1万
101
顶梁支柱
95
477
383
后起之秀
35
140
108
初露锋芒
; Turn ON, Thaw ar Unlock layers; Stefan M. - 04.06.2013; Edited by Jonathan Norton(defun C:LCON ( / *error* acDoc filen filew id l layers r c l_frz l_off l_lck selected_layers prop val) (vl-load-com) (setq acDoc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark acDoc) (defun *error* (m) (and m (not (wcmatch (strcase m) "*CANCEL*,*QUIT*")) (princ (strcat "\nError: " m)) ) (vla-endundomark acDoc) ) (defun prompt_list () (start_list "a_list") (mapcar 'add_list (setq l (cond ((= "1" *tog1*) l_off) ((= "1" *tog2*) l_frz) ((= "1" *tog3*) l_lck) ) ) ) (end_list) ) (vlax-for la (setq layers (vla-get-layers acDoc)) (if (eq (vla-get-LayerOn la) :vlax-false) (setq l_off (cons (vla-get-Name la) l_off)) ) (if (eq (vla-get-Freeze la) :vlax-true) (setq l_frz (cons (vla-get-Name la) l_frz)) ) (if (eq (vla-get-Lock la) :vlax-true) (setq l_lck (cons (vla-get-Name la) l_lck)) ) ) (setq l_off (acad_strlsort l_off) l_frz (acad_strlsort l_frz) l_lck (acad_strlsort l_lck) ) (if (or l_off l_frz l_lck) (progn (setq filew (open (setq filen (strcat (getvar 'dwgprefix) "temp_layer_dialog.dcl")) "w")) (write-line "layer_on_dialog : dialog { label = "Layer Control"; : column { : list_box { label = "Select Layer:"; key = "a_list"; width = 40; height = 15; multiple_select = true; allow_accept = true;} : radio_column { : radio_button { label = "Off Layers"; key = "tog1"; } : radio_button { label = "Frozen Layers"; key = "tog2"; } : radio_button { label = "Locked Layers"; key = "tog3"; }} ok_cancel;}}" filew) (close filew) (if (>= (setq id (load_dialog filen)) 0) (if (new_dialog "layer_on_dialog" id) (progn (or *tog1* (setq *tog1* "1")) (or *tog2* (setq *tog2* "0")) (or *tog3* (setq *tog3* "0")) (prompt_list) (action_tile "a_list" "(setq selected_layers $value)") (action_tile "tog1" "(setq *tog1* "1" *tog2* "0" *tog3* "0" selected_layers nil) (prompt_list)") (action_tile "tog2" "(setq *tog1* "0" *tog2* "1" *tog3* "0" selected_layers nil) (prompt_list)") (action_tile "tog3" "(setq *tog1* "0" *tog2* "0" *tog3* "1" selected_layers nil) (prompt_list)") (set_tile "tog1" *tog1*) (set_tile "tog2" *tog2*) (set_tile "tog3" *tog3*) (mode_tile "tog1" (if l_off 0 1)) (mode_tile "tog2" (if l_frz 0 1)) (mode_tile "tog3" (if l_lck 0 1)) (setq r (start_dialog)) (unload_dialog id) ) (princ "\nWrong dialog definition") ) (princ "\nDCL file not found") ) (if (findfile filen) (vl-file-delete filen)) (if (and (= r 1) selected_layers) (progn (setq prop (cond ((= "1" *tog1*) 'LayerON) ((= "1" *tog2*) 'Freeze) ((= "1" *tog3*) 'Lock) ) val (cond ((= "1" *tog1*) -1) ((= "1" *tog2*) 0) ((= "1" *tog3*) 0) ) ) (foreach x (read (strcat "(" selected_layers ")")) (vlax-put (vla-item layers (nth x l)) prop val) ) ) ) (vla-regen acDoc acActiveViewport) ) (Alert "All Layers On/Active") ) (*error* nil) (princ) )
本版积分规则 发表回复 回帖后跳转到最后一页
微信公众平台
扫描访问手机版
点击图片下载手机App
|关于我们|小黑屋|乐筑天下 繁体中文
GMT+8, 2025-3-13 03:35 , Processed in 0.639900 second(s), 62 queries .
© 2020-2025 乐筑天下
在线时间:10:00-17:00
暂无
扫一扫,关注我们
帮助中心
关于我们
下载APP客户端