
FreeCAD
Open-Source-3D-Parametrischer CAD-Modellierer
Erstellen, Ändern & Automatisieren Sie 3D-Designs mit der Python-API für Maschinenbau, Architektur & Produktdesign.
Was ist FreeCAD?
FreeCAD ist ein leistungsstarkes, quelloffenes 3D‑parametrisches CAD‑Modellierungsprogramm, das für die Erstellung realer Objekte jeder Größe konzipiert wurde. Es unterstützt parametrisches Modellieren, wodurch Benutzer Designs einfach ändern können, indem sie Parameter in der Modellhistorie anpassen. Auf einer robusten Architektur basierend, die OpenCASCADE, Coin3D, Qt und Python verwendet, richtet sich FreeCAD an den Maschinenbau, die Architektur, das Produktdesign und mehr. Seine flexible Python‑API ermöglicht Entwicklern und Power‑Usern, Aufgaben zu automatisieren, Funktionen zu erweitern und sich mit externen Tools zu integrieren. Egal, ob Sie Hobbyist, Student, Ingenieur oder Lehrender sind, bietet FreeCAD eine professionelle Plattform für 3D‑Design ohne Lizenzkosten.
Die Kernstärke von FreeCAD liegt in seiner Fähigkeit, 2D‑Skizzierung und 3D‑Modellierung zu verbinden, sodass Benutzer geometrie‑beschränkte 2D‑Profile skizzieren und zu 3D‑Features extrudieren können. Es enthält spezialisierte Arbeitsbereiche für Part Design, Assembly, Drafting, Architecture und mehr. Die Anwendung läuft nativ unter Windows, macOS und Linux und gewährleistet damit eine breite Zugänglichkeit. Mit aktiver Community‑Unterstützung, umfassender Dokumentation und einer modularen Plugin‑Architektur ist FreeCAD sowohl für Einsteiger als auch für erfahrene CAD‑Profis ideal, die eine transparente, anpassbare und kostenlose Alternative zu proprietären Werkzeugen suchen. Die Integration in Simulations‑ und Fertigungs‑Workflows macht es für den gesamten Produktentwicklungszyklus geeignet.
Erste Schritte mit FreeCAD
FreeCAD ist als vorgefertigte Installer für Windows, macOS und Linux auf der Seite der neuesten Releases verfügbar. Unter Linux ist es häufig über den Paketmanager oder das Software‑Center Ihrer Distribution erhältlich. Für Entwickler und fortgeschrittene Benutzer wird das Erstellen aus dem Quellcode mit CMake unterstützt. Das offizielle Entwicklerhandbuch bietet detaillierte Build‑Anleitungen. Nach der Installation starten Sie FreeCAD und erkunden die Arbeitsbereiche über die Symbolleiste. Die Python‑Konsole und das Makrosystem ermöglichen Automatisierung und Anpassung. Für Lernressourcen besuchen Sie den Erste Schritte-Leitfaden im FreeCAD‑Wiki.
FreeCAD über Paketmanager (Linux) installieren oder herunterladen
# Ubuntu/Debian
sudo apt install freecad
# macOS (Homebrew)
brew install --cask freecad
# Windows: Download from https://github.com/FreeCAD/FreeCAD/releases/latest
Parametrische 3D-Modellierung mit Python-API
Die parametrische Modellierungs-Engine von FreeCAD ermöglicht es Benutzern, Objekte mit editierbaren Parametern zu definieren, wodurch Design-Iterationen durch einfaches Anpassen von Werten ermöglicht werden. Die Python-API stellt den gesamten Modellierungs-Stack bereit und erlaubt Entwicklern, komplexe Geometrien programmgesteuert zu erstellen. Mit den Arbeitsbereichen Part und PartDesign können Sie Primitive erzeugen, Boolesche Operationen durchführen, Rundungen/Abschrägungen hinzufügen und Funktionen wie Pads, Taschen und Drehungen – alles über Python – erstellen. Diese Fähigkeit ist entscheidend für generatives Design, Topologieoptimierung und die Integration von CAD in Simulations- oder Fertigungs-Workflows. Die API unterstützt sowohl objektorientierte als auch funktionale Ansätze, was sie für Skripting, Makros und vollwertige Plugins geeignet macht. Durch den Zugriff auf den zugrunde liegenden OpenCASCADE-Kernel liefert FreeCAD professionelle geometrische Operationen und bleibt dabei für Anfänger einfach zu bedienen.
Erstelle einen parametrischen Würfel und ändere seine Abmessungen mit 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()
2D-Skizzieren & Zeichenarbeitsplatz
FreeCAD enthält eine robuste 2D‑Skizzierumgebung, die in die 3D‑Modellierungspipeline integriert ist. Die Sketcher‑Arbeitsbank ermöglicht es Benutzern, geometrie‑beschränkte 2D‑Profile mit Linien, Bögen, Kreisen und Splines zu zeichnen. Einschränkungen wie horizontal, vertikal, parallel, senkrecht und dimensionale Beschränkungen sorgen für präzise Kontrolle über die Skizzengeometrie. Sobald sie fertig ist, dienen diese Skizzen als Grundlage für 3D‑Features wie Extrusionen, Drehungen und Loft‑Operationen. Zusätzlich bietet die Draft‑Arbeitsbank Werkzeuge zum Erstellen von 2D‑Vektorkennzeichnungen ohne Beschränkungen, ideal für architektonische Grundrisse oder technische Illustrationen. Die Drawing‑Arbeitsbank ermöglicht die Erzeugung von orthografischen Projektionen, Schnittansichten und annotierten Zeichnungen aus 3D‑Modellen und unterstützt ISO‑konforme technische Dokumentation mit Bemaßung, Toleranzangaben und Stücklisten‑Funktionen.
Erstelle eine Skizze, füge Beschränkungen hinzu und extrudiere, um ein 3D-Feature zu erzeugen
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()
Baugruppen-Design & Zwangslösungen
FreeCAD unterstützt komplexe Baugruppenmodellierung über die Arbeitsbereiche Assembly4 und Assembly3, sodass Benutzer mehrere Teile zu funktionalen Mechanismen kombinieren können. Baugruppen werden mithilfe von Einschränkungen wie Koinzidenz, Parallelität, Rechtwinkligkeit, Tangente und Abstand erstellt, um relative Positionen und Bewegungen zwischen Komponenten zu definieren. Der Solver aktualisiert die Baugruppe automatisch, wenn ein Teil oder eine Einschränkung geändert wird, und gewährleistet die Designintegrität. Diese Fähigkeit ist für mechanische Ingenieuraufgaben wie Zahnradgetriebe, Verbindungen und Gehäusedesigns von entscheidender Bedeutung. Baugruppen können als STEP-Dateien exportiert werden, um mit anderen CAD-Systemen zusammenzuarbeiten, und die Bewegungssimulation ist durch die Integration externer Werkzeuge wie Yade oder benutzerdefinierter Python‑Skripte möglich. Die parametrische Natur von FreeCAD stellt sicher, dass Änderungen an einzelnen Teilen automatisch auf die Baugruppe übertragen werden, wodurch manuelle Aktualisierungen reduziert und Fehler minimiert werden.
Erstelle eine einfache Baugruppe mit zwei Teilen und wende eine Koinzidenz‑Beschränkung an
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- und Architekturbearbeitungswerkzeuge
FreeCAD enthält spezialisierte Werkzeuge für Building Information Modeling (BIM) und architektonisches Design über die Arch-Arbeitsbank. Benutzer können Wände, Böden, Dächer, Fenster, Türen und Strukturelemente mithilfe intuitiver parametrischer Objekte erstellen. Diese Objekte aktualisieren sich automatisch, wenn ihre Parameter geändert werden, und unterstützen iteratives Design sowie die Einhaltung von Bauvorschriften. Die Arbeitsbank unterstützt den IFC (Industry Foundation Classes)-Import/Export, wodurch Interoperabilität mit branchenspezifischer BIM-Software wie Revit und Archicad ermöglicht wird. Funktionen wie Standortplanung, Einrichtung von Energieanalysen und Materialmengenlisten machen FreeCAD geeignet für die frühe Phase des architektonischen Designs und der Dokumentation. Zusätzlich integrieren sich die Draft- und Sketcher-Arbeitsbänke nahtlos zum Erstellen präziser Grundrisse und Ansichten, während die Drawing-Arbeitsbank Konstruktionsdokumente mit Anmerkungen, Maßen und Zeitplänen erzeugt.
Erstelle eine Wand und füge ein Fenster mit der Python‑API hinzu
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()
