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 檔案。支援矩形、圓形、多邊形、槽孔、圓弧等常見機械零件圖形。
完整流程分為 5 個階段:
--preview)根據使用者反饋修正引數: - 調整尺寸數值 - 增減孔/槽等特徵 - 修改位置/角度 - 修正單位(mm/inch)
scripts/generate_dxf.py 生成完整 DXF--preview 生成最終預覽scripts/clean_dxf.py 去除所有標註、中心線、文字# 從引數 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字首) |
7w4.net小蔥技能站收錄全網優質技能,值得收藏。
# 去除標註,只保留輪廓
python scripts/clean_dxf.py input.dxf output_clean.dxf
保留的圖層: 0, OUTLINE, INNER, HOLE 刪除的圖層: DIMENSION, CENTER, TEXT, HIDDEN
# 檢視可用模板
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 - 法蘭件
| 圖層 | 顏色 | 線型 | 線寬 | 用途 |
|---|---|---|---|---|
| 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 | 文字(純淨版刪除) |
執行指令碼前需確保安裝以下 Python 依賴:
pip install ezdxf matplotlib
文件寫得非常詳細,看起來功能很完善,但實際只有一個說明檔案,沒有可以執行的程式程式碼。對於普通使用者來說,這是一個"看起來很美但用不了"的 Skill,需要開發者補充完整的程式碼才能真正使用。