AutoCAD LISP 建立新的標註型式

 在LISP中,建立新的標註型式,可用2種方式建立,第一種系統變數修改另存法,第二種entmake建立法。


1. 系統變數修改建立法:

先修改你需要的標註樣式的系統變數,再用-DIMSTYLE指令另存標註樣式

下面範例:

(defun C:tt ( /  )

      (setvar "DIMCLRD" 2) ;_指定標註線、箭頭與標註引線的顏色。

      (setvar "DIMCLRE" 2) ;_將顏色指定給延伸線、中心標記和中心線。

      (setvar "DIMBLK" "建築短斜線") ;_設定標註線端點上顯示的箭頭圖塊。

      (setvar "DIMASZ" 15.0) ;_控制標註線與引線的箭頭大小。也控制鉤線的大小。

      (setvar "DIMTXT" 25.0) ;_指定標註文字的高度 (除非目前文字型式具有固定高度)。

      (setvar "DIMDEC" 0) ;_設定標註主要單位顯示的小數位數。

      (setvar "DIMSCALE" dimscale) ;_設定套用至標註變數 (指定大小、距離或偏移) 的整體比例係數。

      (command "-DIMSTYLE" "S" dimname)

  );_end


(setvar "系統變數名稱" 數值);設定系統變數的值

(getvar "系統變數名稱" 數值);讀取系統變數的值

其他標註的系統變數請參考系統變數表


2. 第二種entmake建立法:

利用entmake建立來建立物件

下面範例最少組碼項:

(defun C:tt ( /  )

    (entmake (list '(0 . "DIMSTYLE") 
                 '(100 . "AcDbSymbolTableRecord") 
                 '(100 . "AcDbDimStyleTableRecord") 
                 '(70 . 0) 
                 (cons 340 (tblobjname "style" "Standard")) ; 文字樣式名
                 (cons 2 "普通螺紋")   ; 標注樣式名
                 '(3 . "M<>")        ; 標注首碼
                 '(40 . 0.0)        ; 標注特徵比例,縮放到佈局
                '(41 . 2.5)        ; 箭頭尺寸
                '(42 . 1.5)        ; 起點偏移量
                '(43 . 5.5)        ; 基線間距
                '(44 . 1.5)        ; 超出尺寸線
                '(47 . 0.000)        ; 上偏差
                '(48 . 0.000)        ; 下偏差
                '(71 . 0)        ; 公差無
                '(77 . 1)        ; 文字在尺寸線上方
                '(74 . 1)        ;
                '(140 . 3.0)        ; 文字高度
                '(141 . -2.5)        ; 圓心標記
                '(144 . 1.0)        ; 測量比例單位
                '(146 . 0.7)        ; 公差高度比例
                '(147 . 1.0)        ; 文字從尺寸線偏移
                '(172 . 2)        ; 尺寸界線間連線
                '(176 . 256)        ; 隨層
                '(177 . 256)        ; 隨層
                '(178 . 256)        ; 隨層
                '(271 . 3)        ; 尺寸標注精度
                '(272 . 3)        ; 公差標注精度
                '(275 . 0)        ; 角度標注制式,十進位。
                '(288 . 1)        ; 手動放置尺寸
                 )
      )
 );_end

其他數據可參考DIMSTYLE (DXF)


補充:

如果要判斷特定標註型式名稱是否已經有了,可以使用tblobjname 來判斷

(tblobjname "DIMSTYLE" 標註型式名稱)

如果已經有,會回傳<Entity name: XXXXXXX>

如果沒有,會回傳nil


留言

這個網誌中的熱門文章

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

AutoCAD 如何自訂線型教學

AutoCAD 動態圖塊-如何在所有可見性顯示或隱藏