91
428
326
后起之秀
使用道具 举报
1
308
初来乍到
(vl-load-com)(defun savetable (table / d) ;;; table - "LAYER" "DIMSTYLE" "STYLE" "LTYPE", (while (setq d (tblnext table (null d))) (vlax-ldata-put (strcat "$SAVED$_" table) (cdr (assoc 2 d)) (vl-remove-if (function (lambda(x) (member (car x) '(-1 5 330 390 347)) ) ) (entget(tblobjname table (cdr (assoc 2 d)))) ) ) );_while )(defun restoretable (table item / d) ;;; table - "LAYER" "DIMSTYLE" "STYLE" "LTYPE", ;;; item - item name to restored or nil - all (mapcar (function (lambda (x) (entmakex (cdr x)) ) ) ((lambda(l) (if (assoc item l)(list (assoc item l)) l) ) (vlax-ldata-list (strcat "$SAVED$_" table)) ) ) )(defun C:LS ();;;Layer save ;;;Line Type save (savetable "LTYPE") (savetable "LAYER")(princ) )(defun C:LR () ;;;Layer restore (restoretable "LTYPE" nil) (restoretable "LAYER" nil)(princ) )(defun C:LR1 (/ item) ;;;One Layer restore (if (and (setq item (mapcar 'car (vlax-ldata-list (strcat "$SAVED$_" "LAYER")))) (setq item (mydcl "Select layer" item)) ) (progn (restoretable "LTYPE" nil) (restoretable "LAYER" item) ) ) (princ) )(defun mydcl (zagl info-list / fl ret dcl_id) (vl-load-com) (if (null zagl) (setq zagl "Select") ) ;_ end of if (setq fl (vl-filename-mktemp "mip" nil ".dcl")) (setq ret (open fl "w")) (mapcar '(lambda (x) (write-line x ret)) (list "mip_msg : dialog { " (strcat "label="" zagl "";") " :list_box {" "alignment=top ;" "width=51 ;" "allow_accept = true;" "tabs = "16 32";" "tab_truncate = true;" (if (> (length info-list) 26) "height= 26 ;" (strcat "height= " (itoa (+ 3 (length info-list))) ";") ) ;_ end of if "is_tab_stop = false ;" "key = "info";}" "ok_cancel;}" ) ;_ end of list ) ;_ end of mapcar (setq ret (close ret)) (if (and (not (minusp (setq dcl_id (load_dialog fl)))) (new_dialog "mip_msg" dcl_id) ) ;_ end of and (progn (start_list "info") (mapcar 'add_list info-list) (end_list) (set_tile "info" "0") (setq ret (car info-list)) (action_tile "info" "(setq ret (nth (atoi $value) info-list))" ) ;_ end of action_tile (action_tile "cancel" "(progn(setq ret nil)(done_dialog 0))" ) ;_ end of action_tile (action_tile "accept" "(done_dialog 1)") (start_dialog) ) ;_ end of progn ) ;_ end of if (unload_dialog dcl_id) (vl-file-delete fl) ret )
本版积分规则 发表回复 回帖后跳转到最后一页
微信公众平台
扫描访问手机版
点击图片下载手机App
|关于我们|小黑屋|乐筑天下 繁体中文
GMT+8, 2025-3-9 09:37 , Processed in 0.582168 second(s), 58 queries .
© 2020-2025 乐筑天下
在线时间:10:00-17:00
暂无
扫一扫,关注我们
帮助中心
关于我们
下载APP客户端