AutoCAD LISP 載入或重新載入線型

 內建線型定義檔(.lin),acad.lin 用於英制單位,而 acadiso.lin 則用於公制單位。(在 AutoCAD LT 則是 acadlt.lin 和 acadltiso.lin)


範例1:載入或重新載入內建所有線型(使用-linetype指令)

;;;程式說明:從 lin 檔案載入或重新載入內建所有線型

;;;作者:ronjonp

;;;來源:lsp 從 .lin 檔案載入或重新載入所有線型

(defun c:loadlt (/ ex v va)

  (setq va (mapcar 'getvar (setq v '(cmdecho expert))))

  (mapcar 'setvar v '(0 5))

  (foreach lt (if (= 0 (getvar 'measurement)) ; <-是否英制

;; 或將您的自訂檔案新增至清單中,如果不在搜尋路徑中,請提供完整路徑

'("acad.lin")

;; 公制

'("acadiso.lin")

      )

    (and (findfile lt) (command "._-linetype" "_Load" "*" lt ""))

  );_foreach

  (mapcar 'setvar v va)

  (princ)

);_defun_end


範例2:載入指定名稱清單的線型,如果已有載入則重新定義(使用-linetype指令)

(setq linelist '(("Dashed" . "acadiso.lin")

                 ("Hidden" . "acadiso.lin")

                 ("Special" . "Special.lin")))

(foreach  lin linelist

  (if (tblsearch "LTYPE" (car lin))

    (command ".-linetype" "_Load" (car lin) (cdr lin) "_Yes" "")

    (command ".-linetype" "_Load" (car lin) (cdr lin) "")

  );_if

);_foreach


範例3:載入指定名稱的線型,如果已有載入則不載入(使用ActiveX)

;;;載入線型定義,如果已有則不載入

(defun loadLinetype (doc LineTypeName FileName)

  (if (and

        (not (tblsearch "LTYPE" LineTypeName))

        (vl-catch-all-error-p

          (vl-catch-all-apply

            'vla-load

            (list

              (vla-get-Linetypes doc)

              LineTypeName

              FileName

            );_list

          );_vl-catch-all-apply

        );_catch_all_error_p

      );_and

    nil

    T

  );_if

);_defun_end


;;;使用範例:

(setq Doc (vla-get-ActiveDocument (vlax-get-Acad-Object)))

(loadLinetype Doc "CENTER" "acadiso.lin")


範例4:載入指定名稱清單的線型(Lee Mac版)

Lee Mac 的載入線型( Load Linetypes)

函數語法:(LM:loadlinetypes <lts> <rdf>)

參數:lts,清單(LIST),要載入的線型列表

參數:rdf,布林值(Boolean),如果是 T,則所有線型都將從檔案重新定義(如果已經載入)

回傳:布林值(Boolean),如果所有線型都已加載,則傳回 T,否則返回 nil


使用範例:

_$ (LM:loadlinetypes '("hidden" "dot" "phantom") nil)

T

_$ (LM:loadlinetypes '("hidden" "dot" "phantom" "notfound") t)

nil


參考:

lsp 從 .lin 檔案載入或重新載入所有線型

Load Linetypes in LISP



留言

這個網誌中的熱門文章

AutoCAD 填充線(剖面線)樣式簡易製作產生器

AutoCAD 常用的圖塊統計方法

AutoCAD 如何自訂線型教學