2026年4月10日 星期五

[AutoTower] 尺寸標註

同一張圖面,因應實際需求,會有不同大小比例或不同標註形式的尺寸。因此需要預先設定多款標註型式。


標註比例

因應不同圖面單位與比例,需要設定不同的標註比例。

整體標註比例最好應跟隨圖面單位與比例的係數縮放。


匯出與匯入標註型式

把舊有圖面的標註型式匯出成為標準檔案,然後在新的圖面中匯入,成為可用的標準型式。

提醒:在開始一個新的圖面時,最好先匯入標註型式。


預設的標註型式

Standard


精確度

與基線、斜率有關的數值其精確度應到小數第 3 位,角鋼孔距則為個位數整數。所以在標註型式上應該妥為因應。



尺寸文字避讓

在狹小的間距標註尺寸,會讓尺寸數據顯得擁擠,因此需要手動或程式自動避讓。

在不同的標註用途與標註型式下,因地制宜可以設定一個「避讓係數」:

  • 主材標註:文字固定向外推 80 單位。

  • 斜材標註:文字依斜率方向偏移。

  • 螺栓孔位:文字垂直於準距線彈開。


內部子程式

(at_DimCStyGet)    取得目前標註型式  RETURN "(目前標註型式)"

(at_DimCStySet  styleName)               設定目前標註型式

(at_DimDetails ent)                               提取標註物件的所有關鍵變數

(at_DimStyUpdate sl styleNew)           將新的標註型式套用到物件

(at_DimSetLinearScale ent fac)           修改主要單位的線性比例

(at_DimRoundOverride ent)                將測量值四捨五入後寫入置換文字

(at_DimOffset ent ang dist)                  錯開標註文字位置

(at_DimSmart style p0 rt ps strDist)   標註尺寸


外部指令

atDimExport.lsp   匯出目前圖面的標註型式,檔名 "C:\\AutoTower\\User\\_DimStyle.dwg"。

提醒:標註型式名稱為中文的,將無法匯出與匯入。

atDimImport.lsp         匯入標註型式到目前圖面

atDimStyDup.lsp        套用標註型式

atDimRoundAll.lsp     將測量值四捨五入成為整數後寫入文字置換

atDimOffset.lsp           將標註的文字錯開位置

atDimFixScale.lsp       修改主要單位的線性比例

atDimDetail.lsp           將物件另行縮放比例,但尺寸標註維持原樣



[AutoTower] 線型

 


預設的線型



整體線型比例



物件線型比例


2026年4月9日 星期四

[AutoTower] 錯誤處理

 

*error*


AutoLISP 程式語言神奇之處,是可以把 '函式' 當作參數。

  • vl-exit-with-error  將控制從 VLX 錯誤處理器傳遞給調用它的名稱空間的 *error* 函數

2026年4月6日 星期一

[AutoTower] 文字型式

舉凡鐵塔設計尺寸,構件編號、規格、長度、尺寸標註,鐵板編號、規格,螺栓規格、數量和其它註解...等,都跟文字型式有關。


建立標準文字型式

大原則,依需求建立。

分析、歸納與定義。

利用AutoCAD原有的指令建立文字型式。


在實務上,字型寬度有可能設定到 0.7,所以同一種字型似乎可以如下這樣建立:

尺寸線-大

尺寸線-中

尺寸線-小

構件編號

構件規格

構件長度

單線10

單線09

單線08

單線07


利用程式將繪圖區內已建立之許多文字型式儲存到外部檔案,作為標準字型。


如何使用

程式需要使用到字型時,先偵測特定字型是否存在,如果不存在,則從外部檔案讀入字型。


自訂變數

構件編號字型  --  "StlNoTextStyle" "構件-編號" "STR" "RW" "構件編號字型")

規格  --  ("StlSpecTextStyle" "構件-規格" "STR" "RW" ""構件規格字型")

長度  --  ("StlLenTextStyle" "構件-長度" "STR" "RW" "構件長度之字型")

尺寸標註

鐵板編號

規格

螺栓規格

數量

其它註解


文字型式管理員

1. c:atTxtStyExport 可以將目前圖面內的文字型式匯出成 "_varTextStyle.txt " 檔,其內容格式如下:

; AutoTower 自動生成,請勿手動編輯此文件

; 字型名稱  字體檔名  長寬比

("標準-07" "Arial.ttf" 0.7)

("單線-1"  "simplex.shx,chineset.shx" 1.0)


2. (at_TxtStyImport) 可以讀取外部 "_varTextStyle.txt " 檔,將文字型式匯入到目前圖面內。


系統開發與管理建議

在處理鐵塔2D佈樣與各種構件標註時,這套解決方案有幾個可以進一步優化或考量的面向:

1. 建立字體缺失的防呆機制 (findfile) 在匯入字體時,如果使用者電腦缺少特定的 .shx 或 .ttf 檔案,AutoCAD 會彈出警告或自動以替代字體取代,這可能會導致斜率標註或構件編號的排版跑位。您可以在 entmake 之前,加入 (findfile fontFile) 的檢查。如果找不到字體,可以透過警示訊息提醒使用者,或者在程式內部自動降級(Fallback)使用如 txt.shx 等系統預設字體。

2. 與您現有的 DCL 介面整合 您可以將匯入文字型式的功能整合到參數輸入介面(DCL)中。例如,在啟動 AutoTower 佈樣程式時,自動在背景讀取這個 .txt 檔並載入必要的文字型式;或者在 DCL 面板中提供一個下拉選單,讓使用者根據不同業主(例如台電或其他客戶)的規範,一鍵切換整套「標註配置檔」。

3. 考慮註解性文字 (Annotative Text) 不同於一般的機械圖,鐵塔佈樣圖面中常會有大量極微小的細節與巨觀視圖的切換。如果您未來希望在不同的視埠(Viewport)比例下,構件編號與規格文字都能保持一致的列印字高,可以考慮在建立文字型式時加入註解屬性(Annotative)。不過這會牽涉到延伸字典(Extension Dictionary)的建立,會比上述純 DXF 碼複雜一些,通常搭配樣板檔(.dwt)會是比較簡單的作法。

4. 擴充文字對齊與圖層屬性 目前的 .txt 格式只記錄了「名稱、字體、長寬比」。未來若有需要,您的格式還可以擴充加入「預設圖層 (Layer)」與「文字高度 (TextHeight)」。例如:標註構件編號時,程式不僅幫使用者切換到正確的字型,還同時將該文字鎖定於指定的圖層中,這會大幅提升出圖管理的效率。

2026年3月31日 星期二

[AutoTower] 可用資源

VisualLISP IDE

VisualLISP教學影片

VisualLISP教學

LEE MAC

AfraLISP

AutoCAD 2022 Help(英文)

AutoCAD 2022 Help (簡體中文)

VL 函數

在 VsCode 裡發展 AutoLISP





[AutoTower] 關於塔身

 


名稱定義



塔身截面

塔身截面型式

從塔身截取斷面寬度

插入塔身截面基點



[AutoTower] 橫擔



橫擔型式

橫擔有多種型式,如果要考慮到每一種型式都做到完善,需要耗費不少時間,可選擇幾款比較常見的型式來「操練」,進而從其中了解相關知識。

橫擔三面:平面、立面和斜面。


名稱定義



從塔身到橫擔

橫擔可以視為塔身的手,以這個概念來規劃橫擔該如何寫程式。


橫擔需要哪些資料從塔身傳遞過來

塔身截面寬度

主柱規格、Gauge

橫擔主材鐵板厚度


橫擔基本資料

橫擔型式

橫擔寬度



橫擔基點

每一個橫擔平面都需要一個基點作為繪圖的依據。

橫擔截面基點名稱:GW、C1、C2...

橫擔平面東、南、西、北側基點名稱:GW-PE、GW-PS、GW-PW、GW-PN

橫擔立面東、南、西、北側基點名稱:GW-EE、GW-ES、GW-EW、GW-EN


橫擔立截面



圖層規劃

南北向的橫擔,在放樣時可能線條會重疊,或許可以利用圖層來區別它們,或是將整個橫擔平面移動到旁邊。然而,如果上述兩者都做,應該會讓繪圖者更加方便。

圖層規劃需同時考慮到放樣圖、詳細圖、裝建圖和鐵板圖之使用。

以橫擔部位來作為圖層首碼,在於必要時方便選取並移動該圖形。

圖層名稱                顏色

GW-放樣

GW-詳細圖

GW-裝建圖

GW-構件-編號球

GW-構件-規格


結構化繪圖

重點:收集橫擔樣式,找出差異性。

1. 塔身斷面

2. 橫擔主材

3. 橫擔臂材

4. 橫擔分割型式

掛線板