
FreeCAD
Atviro kodo 3D parametrinis CAD modeliuotojas
Kurkite, modifikuokite ir automatizuokite 3D dizainus su Python API mechaniniam inžinerijai, architektūrai ir produktų dizainui.
Kas yra FreeCAD?
FreeCAD yra galingas, atviro kodo 3D parametrinis CAD modeliuotojas, sukurtas realių objektų bet kokio dydžio kūrimui. Jis palaiko parametrinį modeliavimo, leidžiant vartotojams lengvai keisti dizainą reguliuojant parametrus modelio istorijoje. Pastatytas ant patikimos architektūros, naudojant OpenCASCADE, Coin3D, Qt ir Python, FreeCAD tinka mechaniniams inžinierijai, architektūrai, produktų dizainui ir kt. Jo lanksti Python API suteikia kūrėjams ir patyrusiems vartotojams galimybę automatizuoti užduotis, išplėsti funkcionalumą ir integruoti su išoriniais įrankiais. Nesvarbu, ar esate mėgėjas, studentas, inžinierius ar pedagogas, FreeCAD suteikia profesionalaus lygio platformą 3D dizainui be licencijavimo išlaidų.
FreeCAD pagrindinis stiprumas slypi jo gebėjime sujungti 2D brėžimą ir 3D modeliavimo, leidžiant vartotojams braižyti geometriniu apribojimu paremtus 2D profilius ir ištempti juos į 3D elementus. Jame yra specializuotos darbo stotelės, skirtos dalies projektavimui, surinkimui, brėžiniams, architektūrai ir kt. Programa veikia natūraliai Windows, macOS ir Linux operacinėse sistemose, užtikrinant plačią prieinamumą. Su aktyvia bendruomenės parama, išsamia dokumentacija ir moduliaria architektūra, FreeCAD yra idealus tiek pradedantiesiems, tiek patyrusiems CAD specialistams, ieškantiems skaidraus, pritaikomo ir nemokamo alternatyvaus sprendimo komerciniams įrankiams. Jo integracija su simuliacijos ir gamybos procesais daro jį tinkamą visam produkto kūrimo ciklui.
Pradžia su FreeCAD
FreeCAD yra prieinamas kaip iš anksto sukompiliuoti diegimo paketai Windows, macOS ir Linux paskutinės versijos puslapyje. Linux sistemoje jis dažnai prieinamas per jūsų distribucijos paketų tvarkyklę arba programų centrą. Kūrėjams ir pažengusiems naudotojams palaikomas programos kūrimas iš šaltinio naudojant CMake. Oficialus Kūrėjų vadovas pateikia išsamias kūrimo instrukcijas. Įdiegus, paleiskite FreeCAD ir tyrinėkite darbo stalus per įrankių juostą. Python konsolė ir makrokomandų sistema leidžia automatizuoti ir pritaikyti programą. Mokymosi ištekliams apsilankykite Pradžios vadovas FreeCAD wiki.
Įdiekite FreeCAD per paketų tvarkyklę (Linux) arba atsisiųskite
# Ubuntu/Debian
sudo apt install freecad
# macOS (Homebrew)
brew install --cask freecad
# Windows: Download from https://github.com/FreeCAD/FreeCAD/releases/latest
Parametrinis 3D modeliavimas su Python API
FreeCAD parametruoto modeliavimo variklis leidžia vartotojams apibrėžti objektus su redaguojamais parametrais, suteikdamas galimybę atlikti dizaino iteracijas tiesiog koreguojant reikšmes. Python API atskleidžia visą modeliavimo struktūrą, leidžiant kūrėjams programiškai kurti sudėtingas geometrines formas. Naudodami Part ir PartDesign darbo aplinkas, galite generuoti primityvus, atlikti Boole'o operacijas, pridėti apvalinimus/kampų nuolydžius ir kurti funkcijas, tokias kaip padus, kišenes ir sukimo elementus – viskas per Python. Ši galimybė yra būtina generatyviam dizainui, topologinei optimizacijai ir CAD integravimui su simuliacijos ar gamybos darbo srautais. API palaiko tiek objektų orientuotą, tiek funkcinį požiūrį, todėl ji tinka scenarijams, makrokomandoms ir pilnavertiškiems papildiniams. Turėdamas prieigą prie pagrindinio OpenCASCADE branduolio, FreeCAD teikia profesionalaus lygio geometrines operacijas, išlaikydamas paprastumą pradedantiesiems.
Sukurkite parametrinį kubą ir modifikuokite jo matmenis naudojant 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 eskizavimas ir brėžinių darbo stotis
FreeCAD apima patikimą 2D brėžinių kūrimo aplinką, integruotą su 3D modeliavimo procesu. Sketcher darbo stalas leidžia vartotojams piešti geometrinemis apribojimais apribotas 2D profilius naudojant linijas, arkus, apskritimus ir splainus. Apribojimai, tokie kaip horizontali, vertikali, lygiagreti, statmeni ir matmenų apribojimai, užtikrina tikslų valdymą ant brėžinio geometrijos. Baigus, šie brėžiniai tampa pagrindu 3D funkcijoms, tokioms kaip ištempimai, sukimosi operacijos ir loftai. Be to, Draft darbo stalas suteikia įrankius 2D vektorinių brėžinių kūrimui be apribojimų, puikiai tinkantiems architektūriniams planams arba techniniams iliustracijoms. Drawing darbo stalas leidžia generuoti ortografinės projekcijos, skersinius vaizdus ir anotacijas iš 3D modelių, palaikant ISO atitinkančią techninę dokumentaciją su matmenų žymėjimu, tolerancijomis ir medžiagų sąrašo funkcijomis.
Sukurkite eskizą, pridėkite apribojimus ir ištempkite, kad susidarytų 3D funkcija
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()
Surinkimo projektavimas ir apribojimų sprendimas
FreeCAD palaiko sudėtingą surinkimo modeliavimo per Assembly4 ir Assembly3 darbo aplinkas, leidžiant vartotojams sujungti kelias dalis į funkcinius mechanizmus. Surinkiniai kuriami naudojant apribojimus, tokius kaip sutapimas, lygiagretumas, statmenumas, tangentė ir atstumas, siekiant apibrėžti santykinę padėtį ir judesius tarp komponentų. Sprendiklis automatiškai atnaujina surinkinį, kai bet kuri dalis ar apribojimas yra pakeistas, užtikrinant dizaino vientisumą. Ši galimybė yra būtina mechanikos inžinerijos užduotims, tokioms kaip pavarų rinkiniai, jungtys ir korpuso dizainai. Surinkinius galima eksportuoti kaip STEP failus bendradarbiaujant su kitomis CAD sistemomis, o judesio simuliacija įmanoma integruojant išorines priemones, tokias kaip Yade arba pasirinktinius Python skriptus. FreeCAD parametrinis pobūdis užtikrina, kad pakeitimai atskiruose komponentuose automatiškai persiskleistų į surinkinį, sumažinant rankinius atnaujinimus ir minimalizuojant klaidas.
Sukurkite paprastą surinkimą su dviem dalimis ir pritaikykite sutapimo apribojimą
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 ir architektūrinio modeliavimo įrankiai
FreeCAD apima specializuotus įrankius pastatų informacinio modeliavimo (BIM) ir architektūrinio dizaino srityje per Arch darbo stalą. Naudotojai gali kurti sienas, grindis, stogus, langus, duris ir struktūrinius elementus naudodami intuityvius parametrinius objektus. Šie objektai automatiškai atnaujinami, kai jų parametrai pasikeičia, palaikydami iteratyvų projektavimą ir atitiktį statybos normoms. Darbo stalas palaiko IFC (Industry Foundation Classes) importą/eksportą, leidžiantį tarpusavio suderinamumą su pramonės standartų BIM programine įranga, tokia kaip Revit ir Archicad. Tokios funkcijos kaip teritorijos planavimas, energijos analizės nustatymas ir medžiagų išskaičiavimai daro FreeCAD tinkamą ankstyvosios architektūrinės projektavimo ir dokumentacijos stadijoms. Be to, Draft ir Sketcher darbo stalai sklandžiai integruojasi kuriant tikslius grindų planus ir fasadų brėžinius, o Drawing darbo stalas generuoja statybos dokumentus su anotacijomis, matmenimis ir tvarkaraščiais.
Sukurkite sieną ir pridėkite langą naudodami Python 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()
