🚛 T3_Uty1卡車軌跡計算.vb - 詳細說明

📋 概述

本檔案為進行卡車(大型車輛・半拖車)轉向軌跡計算的公用軟體。其能精確計算卡車轉向時的最小通道寬度、安全間距(Clearance)以及車體各部位的座標,並以視覺化方式繪製軌跡圖。

主要用途:
  • 物流設施的通道寬度設計
  • 廠區道路的轉向空間計算
  • 停車場・堆場設計的驗證
  • 理貨空間的最佳化
  • 確保安全的車輛動線

🔧 依賴關係

Imports OfficeOpenXml

使用 EPPlus 函式庫從 Excel 檔案讀取卡車規格資料。

🎯 主要功能

1. 卡車軌跡計算功能

2. 運用三角函數的精密計算

3. 視覺化功能

📊 支援車型

車型 說明 用途
2T 標準駕駛室 標準車斗 小型卡車 市區配送、小規模物流
2T 寬駕駛室 長車斗 小型卡車(加長) 長型物品・多裝載量配送
2T 寬駕駛室 超長車斗 小型卡車(最長) 大容量配送
4T 載貨 寬版 全駕駛室 中型卡車(寬版) 中距離運輸
4T 載貨 標準寬 全駕駛室 中型卡車(標準) 一般中型配送
16T 載貨 6×2 大型卡車(3軸) 大量運輸
15T 載貨 8×4 大型卡車(4軸) 重物運輸
11T 載貨 前雙軸 大型卡車(前雙軸) 特殊重物
20尺貨櫃車 20呎貨櫃專用 國際物流・港口運輸
40尺貨櫃車 40呎貨櫃專用 大型國際物流

🔍 主要方法詳細說明

1. 表單載入處理

Private Sub 卡車軌跡圖_Load(sender As Object, e As EventArgs)

初始化處理:

  1. 顯示使用期限與版權
  2. 確認必要檔案是否存在
  3. 讀取卡車尺寸資料
  4. 讀取半拖車尺寸資料
  5. 設定車型選擇下拉選單
  6. 設定畫面預設值
  7. 三角函數計算用的初始設定

2. 計算開始處理

Private Sub 計算開始Bt_Click_1(sender As Object, e As EventArgs)

計算流程:

  1. 套用設定值(視需要)
  2. 讀取畫面資料
  3. 計算卡車車體座標
  4. 計算安全間距
  5. 調整卡車縮放尺寸
  6. 計算轉向前的停車位置
  7. 繪製直線與轉向軌跡
  8. 視覺回饋(更改背景顏色)

3. 卡車車體座標計算

Private Sub 卡車車體座標計算()

計算項目:

計算基準: 以車輛軸距(Wheelbase)為基準,利用三角函數算出各部位的相對位置。

4. 安全間距計算

Private Sub 安全間距計算()

計算內容:

總通道寬度 = 外側迴轉半徑 - 內側迴轉半徑 + 安全餘裕

5. 軌跡圖繪製

Private Sub 卡車軌跡圖_直行轉向()

繪製元素:

繪圖技術: 使用 Graphics.DrawLine, DrawRectangle, DrawEllipse, DrawArc 等方法來繪製軌跡。

📐 三角函數計算

計算的基礎理論

卡車軌跡計算中會大量使用以下的三角函數:

基本三角函數

sin(θ) = 對邊 / 斜邊
cos(θ) = 鄰邊 / 斜邊
tan(θ) = 對邊 / 鄰邊

反三角函數

θ = arcsin(y / r) ← 從 y 與 r 求出角度
θ = arccos(x / r) ← 從 x 與 r 求出角度
θ = arctan(y / x) ← 從 y 與 x 求出角度

畢氏定理

r² = x² + y²
x = √(r² - y²)
y = √(r² - x²)

已實作的計算函數

函數名稱 計算內容 回傳值
X座標計算1(角度, r) 從角度與 r 計算 x 座標 x = cos(弧度) × r
X座標計算3(r, y) 從 r 與 y 計算 x 座標 x = √(r² - y²)
Y座標計算1(角度, r) 從角度與 r 計算 y 座標 y = sin(弧度) × r
R座標計算3(y, x) 從 x 與 y 計算半徑 r r = √(x² + y²)
弧度計算1(r, y) 從 r 與 y 計算弧度 θ = arcsin(y / r)
弧度計算4(角度) 從角度計算弧度 弧度 = (π / 180) × 角度
角度計算(弧度) 從弧度計算角度 角度 = (180 / π) × 弧度

三角函數計算的執行

Private Sub 三角函數計算()

計算步驟:

  1. 計算 P1 點(第一象限)
    • 從 r 與 y 算出 x
    • 算出弧度與角度
  2. 計算著地時的 P1(第二象限)
    • 以 180° - 角度算出著地時的角度
    • 在第二象限 x 座標將為負值
  3. 計算 P2 點(著地時 -15°)
    • 從著地角度減去 15°
    • 算出新座標
  4. 計算 P3 點(移動後的位置)
    • 加上距離 P1 的偏移量(xs, ys)
    • 算出新半徑與角度
  5. 計算 P4 點(P3 -15°)
    • 從 P3 角度減去 15°
    • 算出最終座標
象限的考量: 由於第一象限與第二象限的座標正負號不同,計算時必須特別注意。

📥 資料讀取

1. 卡車尺寸資料

Private Sub 卡車尺寸讀取()

讀取資料:

檔案路徑: Dat儲存Path & "\卡車軌跡計算\卡車尺寸.xlsx"
工作表名稱: 卡車軌跡圖資料
DataGridView: 卡車尺寸Dgv

2. 半拖車尺寸資料

Private Sub 半拖車尺寸讀取()

讀取資料:

檔案路徑: Dat儲存Path & "\卡車軌跡計算\卡車尺寸.xlsx"
工作表名稱: 半拖車軌跡圖資料
DataGridView: 半拖車尺寸Dgv

🎨 UI 元件

輸入參數

控制項 說明 用途
車型選擇Cb 車型選擇下拉選單 選擇欲計算的卡車
中心座標XTb, YTb 轉向中心的座標 調整繪圖位置
車輛軸距Tb 軸距 轉向計算的基準值
倍率Tb 圖面的縮放比例 調整繪圖尺寸
直行Tb 直行距離 轉向前的直行長度

三角函數計算用輸入

控制項 說明
半徑rTb 半徑(斜邊)
yTb y 座標(對邊)
xsTb, ysTb 移動距離(偏移量)
斜邊Tb 斜邊的長度
對邊Tb 對邊的長度
鄰邊Tb 鄰邊的長度

選項按鈕(顯示切換)

PictureBox(圖片顯示)

DataGridView

按鈕

🖼️ 圖片資源

使用以下 JPG 圖片作為說明圖:

檔案名稱 說明
車體尺寸圖2.jpg 卡車車體各部尺寸說明圖
卡車轉向通道寬度1.jpg 轉向通道寬度基本說明圖
卡車轉向通道寬度2.jpg 轉向通道寬度詳細說明圖
卡車轉向通道寬度2-1.jpg 安全間距全景圖
卡車轉向通道寬度2-2.jpg 安全間距放大圖
圖片資料夾: MyPath & "\卡車軌跡圖Jpg"
顯示方式: 使用 PictureBox.BackgroundImageLayout = ImageLayout.Zoom 來顯示圖片。

📐 計算範例:算出轉向通道寬度

步驟1: 前輪迴轉半徑

前輪迴轉半徑 = 最小迴轉半徑

步驟2: 後輪迴轉半徑

後輪迴轉半徑 = √(前輪迴轉半徑² - 車輛軸距²)

步驟3: 車體外側點的迴轉半徑

外側迴轉半徑 = √((前輪迴轉半徑 + 車寬/2)² + 前懸垂量²)

步驟4: 車體內側點的迴轉半徑

內側迴轉半徑 = 後輪迴轉半徑 - 車寬/2

步驟5: 所需通道寬度

所需通道寬度 = 外側迴轉半徑 - 內側迴轉半徑
安全餘裕: 在實際設計時,建議在計算值上加上 10~20% 的安全餘裕。

🔍 特殊處理

1. 縮放調整

Private Sub 卡車縮放尺寸()

配合繪圖畫布的大小縮放卡車尺寸。可透過倍率參數進行調整。

2. 依車型設定預設值

Private Sub 畫面預設設定()

根據選擇的車型,自動設定最佳的繪圖參數(中心座標、倍率、直行距離)。

車型 倍率 直行距離 車輛軸距
2T 標準 0.02 1600mm 3000mm
2T 長版 0.02 2900mm 3000mm
4T 載貨 0.02 4250~4500mm 3000mm
大型卡車 0.02 5450~5600mm 4000mm

3. 轉向前停車位置計算

Private Sub 卡車軌跡圖_轉向前的停車位置()

計算開始轉向前的卡車停車位置,並繪製呈直線狀態的車體。

🎯 視覺回饋

更改 GroupBox 背景顏色

執行計算時,GroupBox4 的背景顏色會交替變化:

If 計算開始_Chk2 = 0 Then
GroupBox4.BackColor = Color.LightYellow
計算開始_Chk2 = 1
Else
GroupBox4.BackColor = Color.PowderBlue
計算開始_Chk2 = 0
End If

🔧 DataGridView 設定

共通設定

儲存格樣式

樣式 設定
cstyle1 Alignment = MiddleCenter
cstyle2 Alignment = MiddleRight, Format = "N0"
cstyle3 Alignment = MiddleRight, Format = "N1"

欄寬設定

卡車尺寸Dgv:
- 欄1(車型名稱): 寬 110px
- 其他欄位: 寬 50px

📊 產生三角函數表

Private Sub 三角函數表()

以列表方式顯示三角函數的計算結果:

顯示項目

可運用於工程計算的驗證或教學用途。

📐 已實作的三角函數方法

座標計算函數

方法 說明 公式
X座標計算1(角度, r) 從角度與半徑算 X 座標 x = r × cos(角度的弧度)
X座標計算3(r, y) 從半徑與 Y 座標算 X 座標 x = √(r² - y²)
Y座標計算1(角度, r) 從角度與半徑算 Y 座標 y = r × sin(角度的弧度)
R座標計算3(y, x) 從 X 座標與 Y 座標算半徑 r = √(x² + y²)

角度・弧度轉換函數

方法 說明 公式
弧度計算1(r, y) 從半徑與 Y 座標算弧度 θ = arcsin(y / r)
弧度計算4(角度) 從角度算弧度 弧度 = 角度 × π / 180
角度計算(弧度) 從弧度算角度 角度 = 弧度 × 180 / π

🎨 圖形繪製

使用的繪圖方法

Pen (畫筆) 設定

Dim BPen As New Pen(Color.Black, 1) ' 黑色,線寬 1
Dim RPen As New Pen(Color.Red, 2) ' 紅色,線寬 2
Dim BPen_Dash As New Pen(Color.Blue, 1)
BPen_Dash.DashStyle = DashStyle.Dash ' 虛線

繪圖畫布

Dim g As Graphics = 旋轉Pb.CreateGraphics()
g.Clear(旋轉Pb.BackColor) ' 清除畫布
' 繪圖處理
g.Dispose() ' 釋放資源

🔄 處理流程全圖

┌─────────────────────────────────────┐
│   表單載入                          │
└──────────┬──────────────────────────┘
           │
           ├→ 顯示期限・版權
           ├→ 檔案確認
           ├→ 讀取卡車尺寸
           ├→ 讀取半拖車尺寸
           ├→ 設定車型選擇Cb
           ├→ 畫面預設設定
           └→ 三角函數用初始設定
           │
           ▼
┌─────────────────────────────────────┐
│   點擊計算開始按鈕                  │
└──────────┬──────────────────────────┘
           │
           ├→ 套用設定值(視需要)
           ├→ 讀取畫面資料
           │
           ▼
┌─────────────────────────────────────┐
│   卡車車體座標計算                  │
└──────────┬──────────────────────────┘
           │
           ├─ 前輪中心座標
           ├─ 後輪中心座標
           ├─ 車輛前端座標
           ├─ 車輛後端座標
           ├─ 車體四角座標
           └─ 最小迴轉半徑
           │
           ▼
┌─────────────────────────────────────┐
│   安全間距計算                      │
└──────────┬──────────────────────────┘
           │
           ├─ 內側安全間距
           ├─ 外側安全間距
           ├─ 總通道寬度
           ├─ 前方懸垂量
           └─ 後方懸垂量
           │
           ▼
┌─────────────────────────────────────┐
│   縮放調整                          │
└──────────┬──────────────────────────┘
           │
           ▼
┌─────────────────────────────────────┐
│   轉向前停車位置計算                │
└──────────┬──────────────────────────┘
           │
           ▼
┌─────────────────────────────────────┐
│   直行與轉向軌跡繪製                │
└──────────┬──────────────────────────┘
           │
           ├─ 繪製車體外形
           ├─ 繪製前輪軌跡
           ├─ 繪製後輪軌跡
           ├─ 繪製車體四角軌跡
           └─ 顯示通道寬度

💡 應用場景

1. 物流設施設計

2. 廠區設計

3. 停車場設計

4. 教育與培訓

⚠️ 注意事項

關於計算精確度

  • 計算結果為理論值。可能與實際車輛動態略有不同。
  • 未考量輪胎變形與懸吊下壓的影響。
  • 未包含路面傾斜或不平整造成的影響。

安全餘裕

  • 設計時請在計算值上加入安全餘裕(10~20%)。
  • 實際運用時,必須將駕駛員的技術水準列入考量。
  • 請一併考量雨天或載重狀態所帶來的差異。

資料更新

卡車尺寸資料需配合最新的車輛規格進行定期更新。

🔗 相關模組

本公用軟體可與以下 Tera 計算系統進行整合:

📚 總結

T3_Uty1卡車軌跡計算.vb 是一款精確計算並視覺化卡車轉向軌跡的專業工具。

主要特色

適用領域

重要: 將計算結果套用於實際設計時,請務必加入安全餘裕,並交由專家進行確認。

📞 支援資訊

文件建立日期: 自動產生

目標檔案: T3_Uty1卡車軌跡計算.vb

語言: Visual Basic .NET (VB.NET)

總行數: 1398行

核心技術: Windows Forms, Graphics繪圖, 三角函數計算, EPPlus