1. Produse
  2.   CAD
  3.   Python
  4.   FreeCAD

FreeCAD

 
 

Modelator CAD 3D parametric open source

Creați, modificați și automatizați designuri 3D cu API-ul Python pentru inginerie mecanică, arhitectură și design de produs.

Ce este FreeCAD?

FreeCAD este un modelator CAD parametric 3D puternic, open-source, conceput pentru crearea de obiecte reale de orice dimensiune. Suportă modelarea parametrică, permițând utilizatorilor să modifice cu ușurință proiectele prin ajustarea parametrilor în istoricul modelului. Construit pe o arhitectură robustă care utilizează OpenCASCADE, Coin3D, Qt și Python, FreeCAD se adresează ingineriei mecanice, arhitecturii, designului de produse și nu numai. API-ul său flexibil Python oferă dezvoltatorilor și utilizatorilor avansați posibilitatea de a automatiza sarcini, extinde funcționalitatea și integra cu instrumente externe. Indiferent dacă ești hobbyist, student, inginer sau educator, FreeCAD oferă o platformă de nivel profesional pentru design 3D fără costuri de licențiere.

Principala putere a FreeCAD constă în capacitatea sa de a conecta schițarea 2D și modelarea 3D, permițând utilizatorilor să deseneze profiluri 2D constrainte geometric și să le extrudeze în caracteristici 3D. Include stații de lucru specializate pentru Proiectare de Piese, Asamblare, Desen, Arhitectură și altele. Aplicația rulează nativ pe Windows, macOS și Linux, asigurând o accesibilitate largă. Cu suport activ din partea comunității, documentație cuprinzătoare și o arhitectură modulară de pluginuri, FreeCAD este ideal atât pentru începători, cât și pentru profesioniști CAD experimentați care caută o alternativă transparentă, personalizabilă și gratuită la instrumentele proprietare. Integrarea sa cu fluxurile de lucru de simulare și fabricație îl face potrivit pentru întregul ciclu de viață al dezvoltării produsului.

Previous Next

Începerea utilizării FreeCAD

FreeCAD este disponibil ca instalatori precompilaţi pentru Windows, macOS și Linux pe pagina cu cele mai recente versiuni. Pe Linux, este adesea disponibil prin managerul de pachete al distribuţiei sau centrul de software. Pentru dezvoltatori şi utilizatori avansaţi, compilarea din sursă este suportată utilizând CMake. Manualul Dezvoltatorilor oficial oferă instrucţiuni detaliate de construire. Odată instalat, lansaţi FreeCAD şi exploraţi staţiunile de lucru prin bara de instrumente. Consola Python şi sistemul de macro-uri permit automatizarea şi personalizarea. Pentru resurse de învăţare, vizitaţi ghidul Începeţi de pe wiki-ul FreeCAD.

Instalați FreeCAD prin managerul de pachete (Linux) sau descărcați

# Ubuntu/Debian
sudo apt install freecad

# macOS (Homebrew)
brew install --cask freecad

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

Modelare 3D parametrică cu API Python

Motorul de modelare parametrică al FreeCAD permite utilizatorilor să definească obiecte cu parametri editabili, facilitând iterațiile de design prin simpla ajustare a valorilor. API-ul Python expune întregul stack de modelare, permițând dezvoltatorilor să creeze geometrii complexe programatic. Folosind stațiile de lucru Part și PartDesign, poți genera primitive, efectua operații booleene, adăuga raze/șanțări și crea caracteristici precum pad-uri, buzunare și revoluții — toate prin Python. Această capacitate este esențială pentru designul generativ, optimizarea topologică și integrarea CAD cu fluxuri de lucru de simulare sau fabricație. API-ul suportă atât abordări orientate pe obiecte, cât și funcționale, făcându-l potrivit pentru scripting, macro-uri și pluginuri cu funcționalități complete. Având acces la nucleul OpenCASCADE de bază, FreeCAD oferă operații geometrice de nivel profesional, menținând în același timp ușurința de utilizare pentru începători.

Creați un cub parametric și modificați dimensiunile sale prin 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()

Banc de lucru pentru schițare 2D și desen tehnic

FreeCAD include un mediu robust de schițare 2D integrat în fluxul de lucru de modelare 3D. Bancul de lucru Sketcher permite utilizatorilor să deseneze profiluri 2D constrainate geometric, utilizând linii, arce, cercuri și spline-uri. Constrângerile precum orizontal, vertical, paralel, perpendicular și cele dimensionale asigură un control precis asupra geometriei schiței. Odată finalizate, aceste schițe servesc ca bază pentru caracteristici 3D precum extrudări, revoluții și lofturi. În plus, bancul de lucru Draft oferă instrumente pentru crearea de desene vectoriale 2D fără constrângeri, ideale pentru planuri de etaj arhitecturale sau ilustrații tehnice. Bancul de lucru Drawing permite generarea de proiecții ortografice, secțiuni și desene adnotate din modele 3D, susținând documentația tehnică conformă ISO cu funcții de dimensionare, toleranță și liste de materiale.

Creează o schiță, adaugă constrângeri și extrudează pentru a forma o caracteristică 3D

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()

Proiectare de ansambluri și rezolvare a constrângerilor

FreeCAD suportă modelarea complexă a ansamblurilor prin intermediul bancilor de lucru Assembly4 și Assembly3, permițând utilizatorilor să combine piese multiple în mecanisme funcționale. Ansamblurile sunt construite utilizând constrângeri precum coincident, paralel, perpendicular, tangent și distanță pentru a defini pozițiile relative și mișcările dintre componente. Solverul actualizează automat ansamblul când orice piesă sau constrângere este modificată, asigurând integritatea designului. Această capacitate este esențială pentru sarcini de inginerie mecanică precum angrenaje, legături și proiecte de carcase. Ansamblurile pot fi exportate ca fișiere STEP pentru colaborare cu alte sisteme CAD, iar simularea mișcării este posibilă prin integrarea cu instrumente externe precum Yade sau scripturi Python personalizate. Natura parametrică a FreeCAD asigură că modificările la părțile individuale se propagă automat la ansamblu, reducând actualizările manuale și minimizând erorile.

Creează o asamblare simplă cu două piese și aplică o constrângere coincidentă

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()

Instrumente BIM și de modelare arhitecturală

FreeCAD include instrumente specializate pentru modelarea informațiilor de construcție (BIM) și design arhitectural prin intermediul bancului de lucru Arch. Utilizatorii pot crea pereți, podele, acoperișuri, ferestre, uși și elemente structurale folosind obiecte parametrice intuitive. Aceste obiecte se actualizează automat când parametrii lor se modifică, susținând proiectarea iterativă și conformitatea cu codurile de construcție. Bancul de lucru suportă import/export IFC (Industry Foundation Classes), permițând interoperabilitatea cu software BIM de standard industrial precum Revit și Archicad. Funcționalități precum planificarea amplasamentului, configurarea analizei energetice și extragerea cantităților de materiale fac ca FreeCAD să fie potrivit pentru proiectarea și documentarea arhitecturală în stadiile incipiente. În plus, bancurile de lucru Draft și Sketcher se integrează perfect pentru crearea planurilor de etaj și elevațiilor precise, în timp ce bancul de lucru Drawing generează documente de construcție cu adnotări, dimensiuni și programe.

Creează un perete și adaugă o fereastră utilizând API-ul Python

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()
 Română