
FreeCAD
Nyílt forráskódú 3D paraméteres CAD modellező
Készítsen, módosítson és automatizáljon 3D terveket Python API-val a gépészmérnöki, építészeti és terméktervezési területeken.
Mi az a FreeCAD?
FreeCAD egy erőteljes, nyílt forráskódú 3D paraméteres CAD modellező, amelyet valós méretű objektumok bármilyen méretben történő létrehozására terveztek. Támogatja a paraméteres modellezést, lehetővé téve a felhasználók számára, hogy a modell előzményeiben a paraméterek módosításával könnyen változtassanak a tervezéseken. Egy robusztus architektúrán alapul, amely az OpenCASCADE, a Coin3D, a Qt és a Python használatával készült, és a gépészeti mérnöki, építészeti, terméktervezési és egyéb területek számára kínál megoldást. Rugalmas Python API-ja lehetővé teszi a fejlesztők és haladó felhasználók számára a feladatok automatizálását, a funkcionalitás bővítését és a külső eszközökkel való integrációt. Legyen Ön hobbiépítő, diák, mérnök vagy oktató, a FreeCAD professzionális szintű platformot biztosít a 3D tervezéshez licencdíjak nélkül.
A FreeCAD alapvető erőssége abban rejlik, hogy képes összekapcsolni a 2D-s vázlatkészítést és a 3D-s modellezést, lehetővé téve a felhasználók számára, hogy geometria-korlátozott 2D profilokat rajzoljanak, és ezeket 3D funkciókká extrudálják. Speciális munkafelületeket tartalmaz a Részervezés, Összeszerelés, Rajzolás, Építészet és egyebek számára. Az alkalmazás natívan fut Windows, macOS és Linux rendszereken, biztosítva a széles körű hozzáférhetőséget. Aktív közösségi támogatással, átfogó dokumentációval és moduláris bővítmény-architektúrával a FreeCAD ideális mind a kezdők, mind a tapasztalt CAD szakemberek számára, akik átlátható, testreszabható és ingyenes alternatívát keresnek a tulajdonosi eszközökkel szemben. Integrációja a szimulációs és gyártási munkafolyamatokkal alkalmassá teszi a teljes termékfejlesztési életciklusra.
A FreeCAD használatának megkezdése
FreeCAD elérhető előre lefordított telepítőként Windows, macOS és Linux rendszerekhez a legújabb kiadások oldalán. Linuxon gyakran elérhető a disztribúció csomagkezelőjén vagy szoftverközpontján keresztül. Fejlesztők és haladó felhasználók számára a forráskódból történő építés támogatott CMake használatával. A hivatalos Fejlesztői kézikönyv részletes építési útmutatót nyújt. A telepítés után indítsa el a FreeCAD-et, és fedezze fel a munkafelületeket az eszköztáron keresztül. A Python konzol és a makrórendszer lehetővé teszi az automatizálást és testreszabást. További tanulási anyagokért látogassa meg a Első lépések útmutatót a FreeCAD wiki-n.
FreeCAD telepítése csomagkezelővel (Linux) vagy letöltés
# Ubuntu/Debian
sudo apt install freecad
# macOS (Homebrew)
brew install --cask freecad
# Windows: Download from https://github.com/FreeCAD/FreeCAD/releases/latest
Paraméteres 3D modellezés Python API-val
A FreeCAD paraméteres modellező motorja lehetővé teszi a felhasználók számára, hogy szerkeszthető paraméterekkel definiálják az objektumokat, így egyszerűen az értékek módosításával végezhetnek tervezési iterációkat. A Python API feltárja a teljes modellezési réteget, lehetővé téve a fejlesztőknek, hogy programozottan hozzanak létre összetett geometriákat. A Part és a PartDesign munkafelületek használatával primitíveket generálhat, Boolean műveleteket végezhet, lekerekítéseket/letöréseket adhat hozzá, és olyan funkciókat hozhat létre, mint a pad-ek, zsebek és forgatások – mindezt Pythonon keresztül. Ez a képesség elengedhetetlen a generatív tervezéshez, a topológiai optimalizáláshoz, valamint a CAD integrálásához szimulációs vagy gyártási munkafolyamatokba. Az API támogatja mind az objektum‑orientált, mind a funkcionális megközelítéseket, így alkalmas szkriptekhez, makrókhoz és teljes körű pluginekhez. Az alapul szolgáló OpenCASCADE kernelhez való hozzáféréssel a FreeCAD professzionális szintű geometriai műveleteket biztosít, miközben a kezdők számára is könnyen használható marad.
Paraméteres kocka létrehozása és méreteinek módosítása Python segítségével
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 vázlatkészítés és rajzoló munkafelület
Az FreeCAD egy robusztus 2D-s vázlatkészítő környezetet tartalmaz, amely integrálva van a 3D modellezési folyamatba. A Sketcher munkafelület lehetővé teszi a felhasználók számára, hogy geometriai korlátozásokkal ellátott 2D profilokat rajzoljanak vonalak, ívek, körök és spline‑ok használatával. Olyan korlátozások, mint a vízszintes, függőleges, párhuzamos, merőleges és dimenziókorlátozások biztosítják a vázlatgeometria pontos irányítását. A vázlatok elkészülte után ezek a 3D funkciók, például az extrudálások, forgatások és loftok alapjául szolgálnak. Emellett a Draft munkafelület eszközöket biztosít 2D vektorgrafikák létrehozásához korlátozások nélkül, ami ideális építészeti alaprajzokhoz vagy műszaki illusztrációkhoz. A Drawing munkafelület lehetővé teszi ortográf vetületek, metszeti nézetek és megjegyzésekkel ellátott rajzok generálását 3D modellekből, támogatva az ISO‑szabványoknak megfelelő műszaki dokumentációt méretezéssel, toleranciával és anyagjegyzék funkciókkal.
Készíts egy vázlatot, adj hozzá kényszerítéseket, és extrúzióval hozz létre egy 3D jellemzőt
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()
Összeállítási tervezés és kényszermegoldás
FreeCAD támogatja az összetett összeszerelésmodellezést az Assembly4 és Assembly3 munkafelületeken keresztül, lehetővé téve a felhasználók számára, hogy több alkatrészt funkcionális mechanizmusokká kombináljanak. Az összeszerelések olyan kényszerek használatával épülnek fel, mint a közös, párhuzamos, merőleges, érintő és távolság, amelyek meghatározzák az alkatrészek közötti relatív pozíciókat és mozgásokat. A megoldó automatikusan frissíti az összeszerelést, ha bármely alkatrész vagy kényszer módosul, biztosítva a tervezés integritását. Ez a képesség létfontosságú a gépészmérnöki feladatokhoz, például fogaskerék-megszakításokhoz, összekötőkhöz és háztervekhez. Az összeszerelések STEP fájlként exportálhatók más CAD rendszerekkel való együttműködéshez, és a mozgás szimulációja lehetséges külső eszközök, például a Yade vagy egyedi Python szkriptek integrálásával. A FreeCAD paraméteres jellege biztosítja, hogy az egyes alkatrészek változásai automatikusan terjedjenek az összeszerelésre, csökkentve a kézi frissítéseket és minimalizálva a hibákat.
Készíts egy egyszerű összeállítást két alkatrészzel, és alkalmazz egy egybeeső kényszerítést
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 és építészeti modellező eszközök
A FreeCAD speciális eszközöket tartalmaz az épületinformáció-modellezéshez (BIM) és az építészeti tervezéshez az Arch munkaterületen keresztül. A felhasználók falakat, padlókat, tetőket, ablakokat, ajtókat és szerkezeti elemeket hozhatnak létre intuitív paraméteres objektumok segítségével. Ezek az objektumok automatikusan frissülnek, amikor paramétereik változnak, támogatva az iteratív tervezést és a építési előírásoknak való megfelelést. A munkaterület támogatja az IFC (Industry Foundation Classes) import/export funkciót, lehetővé téve az interoperabilitást iparági szabványú BIM szoftverekkel, mint a Revit és az Archicad. Olyan funkciók, mint a helyszíntervezés, az energiaelemzés beállítása és az anyagkivonatok, a FreeCAD-et alkalmasá teszik a korai szakaszú építészeti tervezéshez és dokumentációhoz. Emellett a Draft és a Sketcher munkaterületek zökkenőmentesen integrálódnak a pontos alaprajzok és emelkedések létrehozásához, míg a Drawing munkaterület építési dokumentumokat generál megjegyzésekkel, méretekkel és ütemezésekkel.
Készíts egy falat, és adj hozzá egy ablakot a Python API használatával
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()
