עודכן לאחרונה: 20 באוג, 2026

CAD Automation without AutoCAD Open Source Alternatives for Developers

אוטומציה של CAD ללא AutoCAD: חלופות קוד פתוח למפתחים

במשך עשורים, אוטומציה של תכנון בעזרת מחשב (CAD) משמעותה הייתה להתמודד עם ה-API הקנייניים של Autodesk: סקריפטים של AutoLISP הפועלים בתוך מושב שולחן עבודה, ObjectARX כתוב ב‑C++ כבד, או עטיפות .NET הקשורות בקפדנות לזמני ריצה של Windows.

בעוד AutoCAD נשאר מדד בתעשייה, הנדסת תוכנה מודרנית דורשת יותר גמישות:

  • Headless execution במכולות Docker קלות משקל של Linux.
  • Continuous Integration / Continuous Deployment (CI/CD) צינורות שמייצרים שרטוטים מכניים או תוצרים ארכיטקטוניים בעת דחיפה.
  • Web-native configurators שמייצרים מודלים של CAD באופן דינמי בענן.
  • אין צווארי בקבוק ברישוי, מבטל עלויות לפי מושב או על בסיס אסימונים רק כדי להריץ משימות אצווה אוטומטיות.

לשמחתנו, האקוסיסטם של קוד פתוח התבגר משמעותית. כעת מפתחים יכולים לתכנת באופן אוטומטי ליצור, לבדוק, לשנות ולייצא הן שרטוטים דו‑ממדיים והן מוצקים תלת‑ממדיים מורכבים באמצעות קוד טהור.

להלן פירוק מקיף של החלופות הטובות ביותר בקוד פתוח ל‑AutoCAD עבור אוטומציה של CAD המונעת על‑ידי מפתחים.

1. ezdxf: מנוע פייתון חזק לאוטומציה דו‑ממדית

אם הצורך העיקרי שלך ב‑AutoCAD הוא יצירה או ניתוח של קבצי .dxf (Drawing Exchange Format) — כגון תוכניות קומה, פרופילי חיתוך בלייזר, נתיבי וקטור CNC, או בלוקי כותרת — ezdxf היא ככל הנראה הספרייה הפייתונית האמינה ביותר הזמינה.

למה מפתחים בוחרים בו

  • אין תלות כבדה: פייתון טהור עם הרחבות C אופציונליות לביצועים.
  • תמיכה מלאה ב‑DXF: תומך בגרסאות DXF מ‑R12 ועד AC1032 מודרני (AutoCAD 2018+).
  • Headless & Cloud-Ready: Runs seamlessly inside lightweight AWS Lambda functions or microservices.
  • Vector Math & Rendering: Includes modules for text layout, dimensioning, cross-hatching, and rendering DXF data directly to SVG, Matplotlib, or PDF.

דוגמה מינימלית: יצירת פרופיל דו‑ממדי משוכב

import ezdxf

# Create a modern DXF document (AutoCAD 2018 format)
doc = ezdxf.new("R2018")
msp = doc.modelspace()

# Define layers with specific line weights and colors
doc.layers.add(name="OUTLINE", color=1)  # Red
doc.layers.add(name="ANNOTATIONS", color=7)  # White/Black

# Add geometry
msp.add_lwpolyline(
    [(0, 0), (100, 0), (100, 50), (50, 50), (0, 20)],
    is_closed=True,
    dxfattribs={"layer": "OUTLINE"}
)

# Add programmatic text / annotation
msp.add_text(
    "Automated Bracket Spec #A-12",
    dxfattribs={"layer": "ANNOTATIONS", "height": 3.5}
).set_placement((5, 10))

# Save output
doc.saveas("automated_part.dxf")

מתאים ל: יצירת שרטוטים דו‑ממדיים, ייצוא נתיבי חיתוך בלייזר, שינוי שרטוטים במצב אצווה, קדם‑עיבוד קיבוץ CNC.

2. CadQuery: מנוע ה‑CAD הפרמטרי תלת‑ממדי בקוד ראשון

כלי CAD מסורתיים מתמקדים בממשק משתמש גרפי (GUI) שבו אתה מצייר סקיצות ולוחץ כדי לבצע חיצוץ או קימור. CadQuery הופך את הפרדיגמה הזו על פיה: הוא מתייחס ל‑CAD כהנדסת תוכנה סטנדרטית.

מבוסס על מנוע Open CASCADE Technology (OCCT) שנבדק בקרבות, CadQuery מספק למפתחים API של Python זורם ואינטואיטיבי לבניית מוצקים מורכבים של ייצוג גבול (B-Rep).

למה מפתחים בוחרים בו

  • True Solid Modeling: Unlike polygon mesh tools, CadQuery works with precise analytical surfaces (NURBS, planes, cylinders).
  • Parametric by Design: Changes to a single variable cascade through the whole design cleanly.
  • Standard Exports: Direct export to STEP, IGES, STL, and DXF.
  • Modern CI/CD Fit: Excellent for automated regression testing of mechanical components.

דוגמה מינימלית: צינור פרמטרי עם flange

import cadquery as cq

# Define variables
outer_radius = 25.0
wall_thickness = 3.0
height = 80.0
flange_radius = 40.0
hole_radius = 4.0

# Build parametric 3D body
pipe = (
    cq.Workplane("XY")
    .circle(flange_radius)
    .extrude(6.0)
    .faces(">Z")
    .workplane()
    .circle(outer_radius)
    .extrude(height)
    .faces(">Z")
    .hole(2 * (outer_radius - wall_thickness))
)

# Add bolt holes on the flange
flange_holes = (
    pipe.faces("<Z")
    .workplane()
    .polarArray(radius=32.0, startAngle=0, angle=360, count=4)
    .hole(hole_radius * 2)
)

# Export standard interchange format
cq.exporters.export(flange_holes, "pipe_flange.step")

מתאים ל: מחוללי חלקים פרמטריים, קונפיגורטורים של מודלים תלת‑ממדיים מבוססי רשת, רכיבי הנדסה, ייצור אוטומטי של STEP/IGES.

3. FreeCAD (API פייתון ללא ממשק): כוח שולחן עבודה מלא בענן

FreeCAD ידוע כיישום ה‑CAD השולחני הראשי בקוד פתוח, אך הנשק הסודי הגדול שלו למפתחים הוא שכל הליבה שלו נחשפת כספריית פייתון מודולרית.

אתה יכול להריץ את FreeCAD במצב ללא ממשק (ללא X‑server או GUI) כדי לבצע בדיקות הרכבה מתקדמות, פעולות בוליאניות, יצירת שרטוטים טכניים (באמצעות מודול TechDraw), והמרות קבצים.

למה מפתחים בוחרים בו

  • Massive Ecosystem: Native support for Arch/BIM, PartDesign, Mesh, SheetMetal, and TechDraw workbenches.
  • Direct DXF/DWG Interoperability: Can be integrated with external converters like LibreDWG or ODA File Converter.
  • Automated Drafting: The TechDraw module can programmatically generate multi-view ortho projections, sectional views, and dimensions as SVGs or PDFs.

קונספט של זרימת עבודה ללא ממשק

# Executed within FreeCAD's headless environment: freecadcmd script.py
import FreeCAD as App
import Part

doc = App.newDocument("AutomatedDoc")

# Create geometry programmatically
box = Part.makeBox(100, 50, 30)
cylinder = Part.makeCylinder(15, 40)
cylinder.translate(App.Vector(50, 25, 0))

# Boolean difference
result = box.cut(cylinder)

# Assign to document
part_obj = doc.addObject("Part::Feature", "CutBlock")
part_obj.Shape = result
doc.recompute()

# Export to standard format
Part.export([part_obj], "cut_block.step")

מתאים ל: הרכבות מורכבות, אוטומציה של BIM/אדריכלות, יצירת שרטוטי PDF תכנותית.

4. Open CASCADE Technology (OCCT): הליבה ברמת ארגון

אם אתה בונה יישום CAD מסחרי מותאם, פלטפורמת SaaS עם משקל גאומטרי גבוה, או זקוק לחישובי גאומטריה מרובי‑תהליכים בעלי ביצועים גבוהים ב‑C++, פנה ישירות ל‑Open CASCADE Technology (OCCT).

גם FreeCAD וגם CadQuery מסתמכים על OCCT מתחת למכסה. דילוג על השכבות הביניים נותן לך ביצועים גולמיים ושליטה גיאומטרית עמוקה.

יכולות מרכזיות

  • Industrial-grade B-Rep (Boundary Representation) and topological data structures.
  • Surface and curve evaluation, intersections, continuous blends, and advanced filleting.
  • Mesh generation and finite element pre-processing.
  • pythonOCC: A mature set of Python wrappers if you want C++ performance with Python iteration speed.

מתאים ל: צינורות גיאומטריה בענן עם קצב גבוה, פעולות בוליאניות מדויקות, פיתוח תוכנת CAD/CAM קניינית מותאמת.

5. LibreCAD & LibreDWG: טיפול בפורמטים ישנים וזרימות עבודה דו‑ממדיות

אתגר נפוץ במעבר מ-AutoCAD הוא טיפול בקבצי .dwg—פורמט בינרי סגור וקנייני של Autodesk.

  • GNU LibreDWG: A free C library designed to read and write DWG files directly. While reverse-engineered, it provides broad support for extracting geometry, attributes, and converting DWGs to DXF or JSON.
  • LibreCAD (LibreCAD v3 / libcad): Offers headless C++ core libraries focused on drafting primitives and architectural layers.

על ידי שילוב LibreDWG עם כלים כמו ezdxf, ניתן לבנות צינורות קבלה אוטומטיים שמקבלים קבצי .dwg קנייניים מלקוחות ומנרמלים אותם לצינורות נתונים פתוחים ללא רישיון AutoCAD.

השוואה ארכיטקטונית: בחירת הכלי המתאים

כלישפת ליבהמיקוד ראשימקרה שימוש מומלץללא ממשק גרפי/מוכן לענן?
ezdxfפייתוןדו‑ממדי DXFשרטוט וקטורי, ייצוא CNC/לייזר, ניתוח מטא‑נתוניםכן (קלי משקל באופן קיצוני)
CadQueryPython (על OCCT)גופים פרמטריים תלת‑ממדייםCAD תכנותי, קונפיגורטורים בענן, STEP מודליםכן (ידידותי ל‑Docker)
FreeCADC++ / Python2D/3D & BIMשרטוטים מרובי‑תצוגה, המרת פורמטים, הרכבות מורכבותכן (freecadcmd / headless build)
OpenSCADDSL מותאם אישית / C++גופים 3D CSGרכיבי הדפסת תלת‑ממד פרוצדורליים, צינוריות חובביםכן (Native CLI)
Open CASCADEC++גרעין גאומטריתוכנה מותאמת אישית לעומס גבוה, מנועי חישוב ארגונייםכן (ביצועים גבוהים)

ארכיטקטורת מערכת מומלצת לצינורות CAD אוטומטיים

לצוותי הנדסה המעוניינים לבנות צינור אוטומציה מקצה לקצה ללא AutoCAD, שקלו את תבנית המיקרו‑שירותים המודרנית הזו:

  1. Client / Front-End: Web interface takes parameters (e.g., custom dimensions, material choices).
  2. API Layer (FastAPI/Node.js): Validates input schemas and pushes tasks to a queue (Celery, Redis, or SQS).
  3. Worker Nodes (Dockerized CadQuery/ezdxf):
    • Headless containers spin up to calculate geometry.
    • Outputs generated: .step for manufacturing, .dxf for CNC profiles, and .gltf / .threejs format for real-time 3D browser preview.
  4. Storage & Delivery: Files are saved directly to an S3-compatible object store and served back to the user or manufacturing queue.

הארכיטקטורה הזו פועלת על שרתי לינוקס סטנדרטיים, מתרחבת אוטומטית לפי דרישה, ומבטלת את הצורך ברישיונות, מגבלות שולחן העבודה, ואת העומס של מכונות וירטואליות הקשורים לתוכנות CAD ישנות.

שאלות נפוצות (FAQ)

**Q1: האם ניתן להריץ צינורות אוטומציה של CAD באופן מלא ללא ממשק משתמש במכולות Docker על לינוקס? כן, כלים כגון CadQuery, ezdxf, ו‑FreeCAD CLI פועלים באופן מקורי על לינוקס ללא ממשק משתמש גרפי (GUI) או שרת תצוגה.

**Q2: איך ניתן להמיר קבצי DWG קנייניים של AutoCAD ללא רכישת AutoCAD? ניתן להשתמש ב‑GNU LibreDWG או בממיר הקבצים של Open Design Alliance (ODA) ב‑CLI כדי לבצע המרה קבוצתית של קבצי DWG לפורמטים סטנדרטיים של DXF או וקטוריים.

**Q3: האם ניתן ליצור קבצי STEP תלת‑ממדיים ברמת תעשייה באמצעות פייתון בלבד? כן, CadQuery ו‑pythonOCC בונים גאומטריית מוצק ייצוג גבול (B‑Rep) אמיתית ומייצאים קבצי STEP ו‑IGES תואמים במלואם.

**Q4: איך CadQuery משווה ל‑OpenSCAD במידול פרוגרמטי? CadQuery יוצר מוצקים טופולוגיים B‑Rep אמיתיים עם NURBS ופילטים, בעוד OpenSCAD משתמש בגיאומטריית מוצק קונסטרוקטיבית (CSG) המותאמת בעיקר לפלטי רשת כגון STL.

**Q5: האם כלי CAD קוד פתוח יכולים ליצור שרטוטים דו‑ממדיים ממדים אוטומטית ממודלים תלת‑ממדיים? כן, ה‑API הראשי של TechDraw ב‑FreeCAD ומודולי ההיטל של CadQuery יכולים להטיל גאומטריית תלת‑ממד לתצוגות SVG, DXF או PDF עם ממדים.

ראה גם

פורמטים של קבצי CAD ב‑FileFormat.com

ממשקי API קוד פתוח לעבודה עם פורמטים של קבצי CAD

חדשות פורמטים – המקור האחד לכל החדשות הקשורות לפורמטים של קבצים מרחבי העולם

פורומי פורמט קבצים – פרסם את השאלות שלך בפורומי פורמט קבצים כדי לקבל מידע מועיל ממומחי פורמט קבצים ומשתמשי הקהילה

ויקי פורמט קבצים – חקור קטגוריות פורמט קבצים למידע על פורמטים שונים

הסבר על STEP מול IGES: השוואת פורמטים מודרניים וירושיים של חילופי CAD