道路標線標註彙總VBA

前言

道路標線,乃依據道路交通標誌標線號誌設置規則所繪製而成,於CAD上常用聚合線、陣列、圖塊來呈現,平面圖上繪製、標註、數量彙總,最後讓施工廠商據以施工,,無論是標線或圖塊皆需要換算其施作面積(m2)計價。

操作對象

  • 聚合線
    • 路面邊線、禁止臨時停車線、禁止停車線...等
  • 陣列
    • 枕木紋行人穿越線、路口行車引導線...等
  • 圖塊
    • 右轉箭頭、左轉箭頭、機車停等區...等

工作流程中最繁瑣的步驟針對每個標線標示其線名及長度,再根據各個不同線名登打數量公式,本篇文章介紹如何透過AutoCAD VBA的方式,將各個操作對象原先的工作流程進行簡化。

預期成果

Fig1. 標線所需標示內容

繪製方式

線段繪製

線、聚合線都是屬於線段的一種,但對於VBA而言,他們的座標物件不同,線的座標為StartPoint及EndPoint,聚合線的座標為Coordinates,建議在使用上都用聚合線(指令為PL)作為畫線的方式。

圖層設定

VBA中可以透過SelectionSet框選CAD物件,並針對各個物件進行屬性讀取,包含圖層、座標、長度...等等,如果將所有的物件都拉進來,在計算上會較難處理,因此要讓使用者在繪製線段的過程,將圖層名稱設置前綴以利程式判讀,再將操作對象設定為此圖層名。

舉例: 長度_禁止停車線 舉例: 陣列_枕木紋行穿線

執行步驟

  1. 確認操作對象為聚合線,並且圖層名稱為長度_{線名}
  2. 確認操作對象為陣列部分,其圖層名稱為陣列_{線名}
  3. 點選按鈕長度標示
  4. 移動至CAD框選所有長度內容
  5. 由下而上依序點選標線文字出現位置
  6. 點選按鈕長度彙總
  7. 移動至CAD點選長度彙總出現位置

影片DEMO