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

FreeCAD

 
 

Atvērtā koda 3D parametriskā CAD modelētājs

Izveidojiet, modificējiet un automatizējiet 3D dizainus ar Python API mehāniskajai inženierijai, arhitektūrai un produktu dizainam.

Kas ir FreeCAD?

FreeCAD ir jaudīgs, atvērtā koda 3D parametriskās CAD modelētājs, kas paredzēts reālu objektu izveidei jebkurā izmērā. Tas atbalsta parametrisko modelēšanu, ļaujot lietotājiem viegli modificēt dizainus, mainot modeļa vēstures parametrus. Būvēts uz stabilas arhitektūras, izmantojot OpenCASCADE, Coin3D, Qt un Python, FreeCAD apmierina mehāniskās inženierijas, arhitektūras, produktu dizaina un citus vajadzības. Tā elastīgā Python API ļauj izstrādātājiem un pieredzējušiem lietotājiem automatizēt uzdevumus, paplašināt funkcionalitāti un integrēties ar ārējiem rīkiem. Neatkarīgi no tā, vai esat brīvmākslinieks, students, inženieris vai izglītotājs, FreeCAD nodrošina profesionāla līmeņa platformu 3D dizainam bez licences izmaksām.

FreeCAD galvenais spēks slēpjas tās spējā savienot 2D skicēšanu un 3D modelēšanu, ļaujot lietotājiem izveidot ģeometrijas ierobežotas 2D profila skices un izstiept tās par 3D elementiem. Tajā ir iekļauti specializēti darbalauki Part Design, Assembly, Drafting, Architecture un citi. Lietojumprogramma darbojas dabiski Windows, macOS un Linux operētājsistēmās, nodrošinot plašu pieejamību. Ar aktīvu kopienas atbalstu, visaptverošu dokumentāciju un modulāru spraudņu arhitektūru, FreeCAD ir ideāls gan iesācējiem, gan pieredzējušiem CAD profesionāļiem, kas meklē caurspīdīgu, pielāgojamu un bezmaksas alternatīvu īpašnieku rīkiem. Tā integrācija ar simulācijas un ražošanas darba plūsmām padara to piemērotu pilnam produktu izstrādes dzīves ciklam.

Previous Next

Sākums ar FreeCAD

FreeCAD ir pieejams kā iepriekškompilēti instalētāji Windows, macOS un Linux jaunāko laidienu lapā. Linuxā tas bieži ir pieejams caur jūsu izplatījuma pakotņu pārvaldnieku vai programmatūras centru. Izstrādātājiem un pieredzējušiem lietotājiem būvēšana no pirmkoda tiek atbalstīta, izmantojot CMake. Oficiālā Izstrādātāju rokasgrāmata sniedz detalizētus būvēšanas norādījumus. Kad instalēts, palaidiet FreeCAD un izpētiet darba virsmas caur rīkjoslu. Python konsole un makro sistēma ļauj automatizēt un pielāgot. Lai iegūtu mācību resursus, apmeklējiet Sākuma rokasgrāmata FreeCAD viki.

Instalējiet FreeCAD, izmantojot pakotņu pārvaldnieku (Linux) vai lejupielādējiet

# Ubuntu/Debian
sudo apt install freecad

# macOS (Homebrew)
brew install --cask freecad

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

Parametriskā 3D modelēšana ar Python API

FreeCAD parametriskā modelēšanas dzinējs ļauj lietotājiem definēt objektus ar rediģējamiem parametriem, ļaujot veikt dizaina iterācijas, vienkārši pielāgojot vērtības. Python API atklāj visu modelēšanas struktūru, ļaujot izstrādātājiem programmatiski izveidot sarežģītas ģeometrijas. Izmantojot Part un PartDesign darba virsmas, jūs varat ģenerēt primitīvus, veikt Boolea operācijas, pievienot noapaļojumus/pārliekumus un izveidot funkcijas, piemēram, pamatus, kabatas un rotācijas — visu caur Python. Šī iespēja ir būtiska ģeneratīvam dizainam, topoloģiskai optimizācijai un CAD integrēšanai ar simulācijas vai ražošanas darba plūsmām. API atbalsta gan objektorientētus, gan funkcionālus pieejas veidus, padarot to piemērotu skriptu, makro un pilnīgi aprīkotu spraudņu izstrādei. Iegūstot piekļuvi pamatā esošajam OpenCASCADE kodolam, FreeCAD nodrošina profesionāla līmeņa ģeometriskās operācijas, vienlaikus saglabājot vienkāršu lietošanas pieredzi iesācējiem.

Izveidojiet parametrisku kubu un modificējiet tā dimensijas, izmantojot 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 skicēšana un rasējumu darba vide

FreeCAD ietver robustu 2D skicēšanas vidi, kas integrēta ar 3D modelēšanas cauruļvadu. Sketcher darbalaukums ļauj lietotājiem zīmēt ģeometrijas ierobežotus 2D profilus, izmantojot līnijas, lokus, riņķus un splainus. Ierobežojumi, piemēram, horizontālie, vertikālie, paralēlie, perpendikulārie un dimensiju ierobežojumi, nodrošina precīzu kontroli pār skices ģeometriju. Kad tas ir pabeigts, šīs skices kalpo kā pamats 3D funkcijām, piemēram, ekstrūzijām, revolūcijām un loftiem. Turklāt Draft darbalaukums nodrošina rīkus 2D vektoru zīmējumu izveidei bez ierobežojumiem, kas ir ideāli piemēroti arhitektūras plāniem vai tehniskām ilustrācijām. Drawing darbalaukums ļauj ģenerēt ortogrāfiskās projekcijas, sekcijas skatus un anotētus zīmējumus no 3D modeļiem, atbalstot ISO atbilstīgu tehnisko dokumentāciju ar dimensiju, tolerances un materiālu saraksta funkcijām.

Izveidojiet skici, pievienojiet ierobežojumus un izstiepiet, lai izveidotu 3D elementu

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

Montāžas projektēšana un ierobežojumu risināšana

FreeCAD atbalsta sarežģītu montāžas modelēšanu, izmantojot Assembly4 un Assembly3 darba virsmas, ļaujot lietotājiem apvienot vairākas detaļas funkcionālos mehānismos. Montāžas tiek veidotas, izmantojot ierobežojumus, piemēram, sakritību, paralēlumu, perpendikulāritāti, tangentu un attālumu, lai definētu relatīvos pozīcijas un kustības starp komponentēm. Risinātājs automātiski atjaunina montāžu, kad tiek mainīta jebkura detaļa vai ierobežojums, nodrošinot dizaina integritāti. Šī iespēja ir būtiska mehāniskās inženierijas uzdevumiem, piemēram, pārnesumu kāpām, savienojumiem un korpusu projektēšanai. Montāžas var eksportēt kā STEP failus, lai sadarboties ar citām CAD sistēmām, un kustības simulācija ir iespējama, integrējot ārējus rīkus, piemēram, Yade vai pielāgotus Python skriptus. FreeCAD parametriskā daba nodrošina, ka izmaiņas atsevišķās detaļās automātiski izplatās uz montāžu, samazinot manuālos atjauninājumus un minimizējot kļūdas.

Izveidojiet vienkāršu montāžu ar divām daļām un piemērojiet sakritības ierobežojumu

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 un arhitektūras modelēšanas rīki

FreeCAD ietver specializētus rīkus būvniecības informācijas modelēšanai (BIM) un arhitektūras projektēšanai, izmantojot Arch darbalapu. Lietotāji var izveidot sienas, grīdas, jumtus, logus, durvis un strukturālus elementus, izmantojot intuitīvus parametriskus objektus. Šie objekti automātiski atjaunojas, kad mainās to parametri, atbalstot iteratīvu projektēšanu un atbilstību būvnormām. Darbalapa atbalsta IFC (Industry Foundation Classes) importu/eksportu, nodrošinot savietojamību ar nozares standartiem BIM programmatūrā, piemēram, Revit un Archicad. Tādas funkcijas kā vietas plānošana, enerģijas analīzes iestatīšana un materiālu aprēķini padara FreeCAD piemērotu agrīnas posma arhitektūras projektēšanai un dokumentācijai. Turklāt Draft un Sketcher darbalapas integrējas bez problēmām, lai izveidotu precīzus grīdas plānus un elevācijas, kamēr Drawing darbalapa ģenerē būvniecības dokumentus ar anotācijām, dimensijām un grafikiem.

Izveidojiet sienu un pievienojiet logu, izmantojot 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()
 Latviski