2026年4月12日 星期日

[AutoTower] 輔助作圖

在從事鐵塔繪圖時,常常會需要先畫出特定的輔助線,才能決定決定正確位置。


輔助線

atPtToPer.lsp  從一交點畫一條垂直線到其它直線。線條圖層「Defpoints」。

atPtToPerO.lsp  從一交點畫一條垂直線到其它直線,然後加做偏移複製。線條圖層「Defpoints」。

atOffsetDef.lsp  畫出平行線。線條圖層「Defpoints」。適用於輔助標示出螺栓間距。


變更線型

atSideToHidden.lsp  根據一條邊界線,把其中一邊做出隱藏線。適用於角鋼被鐵板遮蔽處。

2026年4月11日 星期六

[AutoTower] AutoCAD 物件資料

AutoCAD 物件,大略可區分為圖形物件與非圖形物件。圖形物件是以 DXF 群碼方式為架構。 

AutoCAD 建立圖形物件的指令,在不同版本間不盡相同。因此如果 AutoLISP 程式使用 AutoCAD 基本繪圖指令來建立圖形,有可能會產生錯誤,這一點值得注意。

因此,使用非 AutoCAD 基本繪圖指令,也就是使用 DXF 群碼來建立圖形,應該是較為明智的。


圖形物件 DXF 群碼

POINT

LINE

CIRCLE

ARC

ELLIPSE

XLINE

RAY

POLYLINE

POLYGON

RECTANG

REGION

HATCH

TEXT

MTEXT

BLOCK

TABLE


建立圖形物件


非圖形物件 DXF 群碼


建立非圖形物件

2026年4月10日 星期五

[AutoTower] 事件反應器

 當繪圖員做了哪些事,進而觸發事件反應器時,AutoTower系統似乎就可以因應做些甚麼。


[AutoTower] 標註型式

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


標註比例

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


匯出與匯入標註型式

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


(getvar "dimStyle")    取得目前的標註型式

預設的標註型式

[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)」。例如:標註構件編號時,程式不僅幫使用者切換到正確的字型,還同時將該文字鎖定於指定的圖層中,這會大幅提升出圖管理的效率。