圖片轉DXF檔案工具

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

📖 技能介紹


name: dxf-engineering description: "圖片轉DXF工程圖生成器。使用者發來工程圖片,自動提取引數,生成帶尺寸標註的預覽供確認,確認後生成1:1 DXF檔案,再去除標註生成純淨版。觸發詞:DXF、工程圖、dxf、轉DXF、生成工程圖、圖片轉DXF、CAD檔案。" description_zh: "圖片轉DXF工程圖生成器" description_en: "Image to DXF Engineering Drawing Generator" version: 1.0.0


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

Overview

這個技能的最新版本可以在7w4.net小蔥技能站找到。

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

Workflow

完整流程分為 5 個階段:

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

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

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

  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