AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~

[討論]繪圖前儲存變數值於繪圖完成後復原的副程式

上一篇主題 下一篇主題 向下

[討論]繪圖前儲存變數值於繪圖完成後復原的副程式

發表 由 chengshunyi 于 2012-11-18, 03:20

很方便的副程式 竊喜
書上的範例 害羞
也可依主程式需求修改擴充 頭暈目眩
程式碼:
(defun s_acad_sysvar()
(setq acad_sysvar_list '("clayer" "osmode" "textstyle" "cmdecho" "celtype"))
(setq old_sysvar_list (mapcar 'getvar acad_sysvar_list))
(setvar "cmdecho" 0)
(setvar "osmode" 0)
(command "undo" "be")
)
(defun r_acad_sysvar()
(command "undo" "e")
(mapcar 'setvar acad_sysvar_list old_sysvar_list)
(prin1)
)
avatar
chengshunyi
一般會員
一般會員

文章總數 : 19
年齡 : 51
來自 : 台北市文山區
職業 : 建築規劃
愛好 : 散步
個性 : 溫和
使用年資 : 15
使用版本 : 2012
經驗值 : 2873
威望值 : 54
注冊日期 : 2010-07-04
男 處女座 馬

回頂端 向下

回復: [討論]繪圖前儲存變數值於繪圖完成後復原的副程式

發表 由 Tiger&蘋果爸 于 2012-11-20, 06:04

以前學習到的方式為:
代碼:
(DEFUN STARTLISP ()
  (SETVAR "CMDECHO" 0)
  (COMMAND "UNDO" "BE")
  (SETQ OLDOSMODE (GETVAR "OSMODE"))
  (SETQ OLDLAYEAR (GETVAR "CLAYER"))
  (SETVAR "OSMODE" 0)
)

(DEFUN ENDLISP ()
  (SETVAR "OSMODE" OLDOSMODE)
  (SETVAR "CLAYER" OLDLAYEAR)
  (COMMAND "UNDO" "E")
  (PRIN1)
)

謝謝分享,這裡學習了MAPCAR函數的使用~
感動

____________________________________________________________________________________
avatar
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 17328
年齡 : 41
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 65336
威望值 : 12868
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i11.servimg.com/u/f11/19/71/67/71/2d3d10.png2D+3D線上 顧問外掛程式 經典問與答讀者 藍鵲1號
2009聚會勳章 2010聚會勳章 2011聚會勳章 2012聚會勳章 2013勳章-2D基礎 2014聚會勳章 2015聚會勳章 2016聚會勳章 串連貼紙成功 男 水瓶座 兔

http://mypaper.pchome.com.tw/kv1012tiger

回頂端 向下

上一篇主題 下一篇主題 回頂端


 
這個論壇的權限:
無法 在這個版面回復文章