圖片轉DXF檔案工具

👤 user_02805512 📦 v1.0.0 ⭐ 4.1 ⬇️ 852 下載
🎨 設計多媒體 免費

📖 技能介紹

DXF Engineering Drawing Generator (圖片轉DXF工程圖)

Overview

從工程圖片自動生成 DXF 檔案。支援矩形、圓形、多邊形、槽孔、圓弧等常見機械零件圖形。

Workflow

完整流程分為 5 個階段:

Phase 1: 圖片分析 & 引數提取

  1. 讀取使用者傳送的工程圖片
  2. 識別圖形型別(矩形板、帶孔零件、法蘭、異形件等)
  3. 提取關鍵引數:尺寸、位置、孔徑、角度等
  4. 生成結構化 JSON 引數

Phase 2: 預覽確認(帶尺寸標註)

更多技能請訪問小蔥技能站7w4.net。

  1. 用提取的引數生成帶標註的 DXF
  2. 生成 PNG 預覽圖(--preview)
  3. 必須展示預覽給使用者確認
  4. 列出所有識別到的引數供使用者核對

Phase 3: 引數修正

根據使用者反饋修正引數:

  • 調整尺寸數值
  • 增減孔/槽等特徵
  • 修改位置/角度
  • 修正單位(mm/inch)

Phase 4: 生成正式 DXF(帶標註)

  1. 引數確認後,執行 scripts/generate_dxf.py 生成完整 DXF
  2. 使用 --preview 生成最終預覽

Phase 5: 生成純淨版 DXF

  1. 執行 scripts/clean_dxf.py 去除所有標註、中心線、文字
  2. 只保留輪廓幾何體(OUTLINE、INNER、HOLE 圖層)
  3. 生成純淨版預覽
  4. 必須展示純淨版給使用者最終確認

Scripts

generate_dxf.py - DXF 生成主指令碼

# 從引數 JSON 生成 DXF
python scripts/generate_dxf.py --params params.json --output output.dxf

# 同時生成預覽圖
python scripts/generate_dxf.py --params params.json --output output.dxf --preview

# 直接生成純淨版(無標註)
python scripts/generate_dxf.py --params params.json --output output.dxf --clean

引數 JSON 格式:

{
  "title": "零件名稱",
  "drawing_number": "DWG-001",
  "material": "Steel 304",
  "scale": "1:1",
  "shapes": [
    {"type": "rectangle", "x": 0, "y": 0, "width": 100, "height": 50, "layer": "OUTLINE"},
    {"type": "circle", "cx": 25, "cy": 25, "radius": 5, "layer": "HOLE"},
    {"type": "slot", "cx": 75, "cy": 25, "length": 20, "width": 8, "angle": 0, "layer": "HOLE"},
    {"type": "arc", "cx": 50, "cy": 0, "radius": 50, "start_angle": 0, "end_angle": 180, "layer": "OUTLINE"}
  ],
  "dimensions": [
    {"type": "linear", "p1": [0, 0], "p2": [100, 0], "offset": 10, "text": "100"},
    {"type": "diameter", "center": [25, 25], "radius": 5, "text": "10"}
  ],
  "settings": {
    "unit": "mm",
    "line_width": 1.0
  }
}

支援的圖形型別:

型別 必填引數 可選引數
rectangle x, y, width, height angle, layer
circle cx, cy, radius layer
polygon points (陣列 [[x,y],...]) layer, closed
slot cx, cy, length, width angle, layer
arc cx, cy, radius, start_angle, end_angle layer
line x1, y1, x2, y2 layer

支援的標註型別:

型別 必填引數 說明
linear p1, p2 線性尺寸
diameter center, radius 直徑標註(自動加%%C字首)
radius center, radius 半徑標註(自動加R字首)

clean_dxf.py - 純淨版生成

# 去除標註,只保留輪廓
python scripts/clean_dxf.py input.dxf output_clean.dxf

保留的圖層: 0, OUTLINE, INNER, HOLE 刪除的圖層: DIMENSION, CENTER, TEXT, HIDDEN

extract_params.py - 引數輔助工具

# 檢視可用模板
python scripts/extract_params.py --list-templates

# 從模板生成引數檔案
python scripts/extract_params.py --template plate_with_holes --output params.json

# 驗證已有引數檔案
python scripts/extract_params.py --validate params.json

可用模板:

  • rectangular_plate - 矩形板
  • plate_with_holes - 帶孔板
  • flanged_part - 法蘭件

DXF Layer 規範

圖層 顏色 線型 線寬 用途
0 白(7) 實線 1.0 預設輪廓
OUTLINE 白(7) 實線 1.0 外輪廓
INNER 白(7) 實線 0.5 內輪廓
HOLE 白(7) 實線 0.5 孔
CENTER 紅(1) 中心線 0.18 中心線(純淨版刪除)
DIMENSION 綠(3) 實線 0.18 標註(純淨版刪除)
TEXT 白(7) 實線 0.25 文字(純淨版刪除)

Dependencies

執行指令碼前需確保安裝以下 Python 依賴:

pip install ezdxf matplotlib
  • ezdxf - DXF 檔案讀寫(必需)
  • matplotlib - 預覽圖生成(可選,僅 --preview 時需要)

Notes

  • 輸出 DXF 格式為 AutoCAD R2010 相容
  • 所有尺寸預設單位為 mm
  • 純淨版只保留黑色實線輪廓,無多餘圖層
  • 生成預覽時使用 PNG 格式,150 DPI

🤖 AI 評測

文件寫得非常詳細,看起來功能很完善,但實際只有一個說明檔案,沒有可以執行的程式程式碼。對於普通使用者來說,這是一個"看起來很美但用不了"的 Skill,需要開發者補充完整的程式碼才能真正使用。

📊 多維度評分

適應性4.2
規範性4.1
有效性4.4
可靠性3.3
可信度4.8

📁 包含檔案 (1 個)

📄 SKILL.md 5.2 KB