1. מוצרים
  2.   CAD
  3.   Python
  4.   FreeCAD

FreeCAD

 
 

מתכנן CAD פרמטרי תלת‑ממדי בקוד פתוח

צור, שנה והאץ עיצובים תלת‑ממדיים עם API של Python להנדסה מכנית, אדריכלות ועיצוב מוצר.

מה זה FreeCAD?

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

עוצמת הליבה של FreeCAD נובעת מהיכולת שלו לגשר בין שרטוט דו‑ממדי למידול תלת‑ממדי, מה שמאפשר למשתמשים לשרטט פרופילים דו‑ממדיים עם אילוצי גאומטריה ולחוץ אותם לתכונות תלת‑ממדיות. הוא כולל סביבות עבודה מתמחות לעיצוב חלקים, הרכבה, שרטוט, ארכיטקטורה ועוד. היישום פועל באופן מקורי ב‑Windows, macOS ו‑Linux, מה שמבטיח נגישות רחבה. עם תמיכה פעילה של הקהילה, תיעוד מקיף וארכיטקטורת תוספים מודולרית, FreeCAD הוא אידיאלי הן למתחילים והן למקצועני CAD מנוסים המחפשים חלופה שקופה, ניתנת להתאמה וחינמית לכלים קנייניים. השילוב שלו עם תהליכי סימולציה וייצור עושה אותו מתאים לכל מחזור חיי פיתוח המוצר.

Previous Next

התחלה עם FreeCAD

FreeCAD זמין כמתקינים מוכנים מראש עבור Windows, macOS ו‑Linux בדף הגרסאות האחרונות. ב‑Linux, הוא זמין לעיתים קרובות דרך מנהל החבילות של ההפצה שלך או מרכז התוכנה. למפתחים ולמשתמשים מתקדמים, בנייה ממקורות נתמכת באמצעות CMake. המדריך למפתחים הרשמי מספק הוראות בנייה מפורטות. לאחר ההתקנה, הפעל את FreeCAD וחקור את סביבת העבודה דרך סרגל הכלים. קונסול ה‑Python ומערכת המקרו מאפשרים אוטומציה והתאמה אישית. למשאבי למידה, בקר במדריך התחלה ב‑FreeCAD wiki.

התקנת FreeCAD דרך מנהל החבילות (Linux) או הורדה

# Ubuntu/Debian
sudo apt install freecad

# macOS (Homebrew)
brew install --cask freecad

# Windows: Download from https://github.com/FreeCAD/FreeCAD/releases/latest

מודל תלת‑ממדי פרמטרי עם API של Python

מנוע המידול הפרמטרי של FreeCAD מאפשר למשתמשים להגדיר אובייקטים עם פרמטרים ניתנים לעריכה, מה שמאפשר חזרות עיצוב על ידי התאמת ערכים בלבד. ממשק ה-API של Python חושף את כל ערימת המידול, ומאפשר למפתחים ליצור גיאומטריות מורכבות בתכנות. באמצעות סביבת העבודה Part ו‑PartDesign, ניתן ליצור פרימיטיבים, לבצע פעולות בוליאניות, להוסיף קצוות מעוגלים/שיפועים, וליצור תכונות כמו רפידות, כיסים וסיבובים — הכל באמצעות Python. יכולת זו חיונית לעיצוב גנרטיבי, אופטימיזציית טופולוגיה, ולשילוב CAD עם סימולציה או זרימות עבודה של ייצור. ה‑API תומך גם בגישות מונחות‑אובייקט וגם בפונקציונליות, מה שהופך אותו למתאים לסקריפטים, מקרו ותוספים מלאים בתכונות. עם גישה לליבת OpenCASCADE הבסיסית, FreeCAD מספק פעולות גיאומטריות ברמת מקצועיות תוך שמירה על נוחות שימוש למתחילים.

יצירת קובייה פרמטרית ושינוי ממדיה באמצעות Python

import FreeCAD as App
import Part

# Create document and object
doc = App.newDocument()
cube = doc.addObject("Part::Box", "Cube")
cube.Length = 10
cube.Width = 20
cube.Height = 30
App.ActiveDocument.recompute()

# Modify dimensions later
cube.Length = 15
App.ActiveDocument.recompute()

סביבת עבודה לשרטוט ושרטוט דו‑ממדי

FreeCAD כולל סביבת סקיצה דו‑ממדית חזקה המשולבת בצינור העבודה של מודלים תלת‑ממדיים. סביבת העבודה Sketcher מאפשרת למשתמשים לצייר פרופילים דו‑ממדיים עם אילוצים גאומטריים באמצעות קווים, קשתות, מעגלים וספליינים. אילוצים כגון אופקי, אנכי, מקביל, מאונך ואילוצים ממדיים מבטיחים שליטה מדויקת על גאומטריית הסקיצה. לאחר השלמתן, הסקיצות משמשות כבסיס לתכונות תלת‑ממדיות כגון חיצוץ, סיבוב ולופט. בנוסף, סביבת העבודה Draft מספקת כלים ליצירת שרטוטים וקטוריים דו‑ממדיים ללא אילוצים, אידיאליים לתוכניות קומה ארכיטקטוניות או איורים טכניים. סביבת העבודה Drawing מאפשרת יצירת פרויקציות אורטוגרפיות, תצוגות חיתוך ושרטוטים מוסברים ממודלים תלת‑ממדיים, תומכת בתיעוד טכני תואם ISO עם מידוד, טולרנס ותכונות של רשימת חומרים.

צור סקיצה, הוסף אילוצים, והרחב ליצירת תכונה תלת‑ממדית

import FreeCAD as App
import Sketcher
import PartDesign

doc = App.newDocument()
Part = doc.addObject("PartDesign::Body")
Sketch = doc.addObject("Sketcher::SketchObject", "Sketch")
Sketch.Placement = App.Placement(App.Vector(0,0,0), App.Rotation(App.Vector(0,0,1),0))

# Add geometry
Sketch.addGeometry(Part.LineSegment(App.Vector(-10,0,0),App.Vector(10,0,0)),False)
Sketch.addGeometry(Part.LineSegment(App.Vector(10,0,0),App.Vector(10,10,0)),False)
Sketch.addGeometry(Part.LineSegment(App.Vector(10,10,0),App.Vector(-10,10,0)),False)
Sketch.addGeometry(Part.LineSegment(App.Vector(-10,10,0),App.Vector(-10,0,0)),False)

# Add constraints
Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1))
Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1))
Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1))
Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1))
Sketch.addConstraint(Sketcher.Constraint('Horizontal',0))
Sketch.addConstraint(Sketcher.Constraint('Vertical',1))

# Extrude
Pad = doc.addObject("PartDesign::Pad", "Pad")
Pad.Profile = Sketch
Pad.Length = 5
doc.recompute()

תכנון הרכבה ופתרון אילוצים

FreeCAD תומך במידול הרכבות מורכבות באמצעות סביבת העבודה Assembly4 ו-Assembly3, ומאפשר למשתמשים לשלב חלקים מרובים למנגנונים פונקציונליים. הרכבות נבנות באמצעות מגבלות כגון קו משותף, מקביל, מאונך, משיק, ומרחק כדי להגדיר מיקומים ותנועות יחסיות בין רכיבים. הפותר מעדכן אוטומטית את ההרכבה כאשר כל חלק או מגבלה משתנים, ומבטיח שלמות העיצוב. יכולת זו חיונית למשימות הנדסת מכונות כגון מסילות גלגלי שיניים, חיבורים ועיצובים של מארזים. ניתן לייצא הרכבות כקבצי STEP לשיתוף פעולה עם מערכות CAD אחרות, והדמיית תנועה אפשרית באמצעות אינטגרציה עם כלים חיצוניים כגון Yade או סקריפטים מותאמים ב-Python. הטבע הפרמטרי של FreeCAD מבטיח ששינויים בחלקים בודדים מתפשטים אוטומטית אל ההרכבה, מה שמפחית עדכונים ידניים ומצמצם שגיאות.

צור הרכבה פשוטה עם שני חלקים והחל אילוץ משותף

import FreeCAD as App
import Assembly4

doc = App.newDocument("Assembly")
# Add parts
Part1 = doc.addObject("Part::Box", "Block1")
Part1.Length, Part1.Width, Part1.Height = 10, 10, 10
Part2 = doc.addObject("Part::Cylinder", "Cylinder1")
Part2.Radius, Part2.Height = 3, 15

# Create assembly
asm = doc.addObject("App::Part", "Assembly")
asm.Type = "Assembly"
asm.addObject(Part1)
asm.addObject(Part2)

# Apply constraint (simplified)
# In practice, use Assembly4's Constraint class for full functionality
App.ActiveDocument.recompute()

כלי BIM ומודלים ארכיטקטוניים

FreeCAD כולל כלים מתמחים למידול מידע בניין (BIM) ולעיצוב ארכיטקטוני דרך סביבת העבודה Arch. משתמשים יכולים ליצור קירות, רצפות, גגות, חלונות, דלתות ואלמנטים מבניים באמצעות אובייקטים פרמטריים אינטואיטיביים. אובייקטים אלה מתעדכנים אוטומטית כאשר הפרמטרים שלהם משתנים, תומכים בתהליך עיצוב איטרטיבי ובהתאמה לתקני בנייה. סביבת העבודה תומכת בייבוא/ייצוא של IFC (Industry Foundation Classes), מה שמאפשר אינטרופרטביליות עם תוכנות BIM סטנדרטיות בתעשייה כגון Revit ו‑Archicad. תכונות כמו תכנון אתר, הגדרת ניתוח אנרגטי והפקת חישובי חומרים הופכות את FreeCAD למתאים לעיצוב ארכיטקטוני ותיעוד בשלבים מוקדמים. בנוסף, סביבת העבודה Draft ו‑Sketcher משולבות באופן חלק ליצירת תוכניות קומה מדויקות והרים, בעוד סביבת העבודה Drawing מייצרת מסמכי בנייה עם הערות, ממדים ולוחות זמנים.

צור קיר והוסף חלון באמצעות API של פייתון

import FreeCAD as App
import Arch

doc = App.newDocument("Building")
# Create wall
Wall = Arch.makeWall(length=5000, width=200, height=3000)
Wall.Base = Arch.makeSketch([0,0,0], [5000,0,0], [5000,200,0], [0,200,0])

# Create window
Window = Arch.makeWindow(1200, 1500)
Window.Base = Arch.makeSketch([1000,100,0], [2200,100,0], [2200,1600,0], [1000,1600,0])
Window.Host = Wall

App.ActiveDocument.recompute()
 עִברִית