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

FreeCAD

 
 

Open Source 3D parametrisk CAD-modellering

Opret, modificer og automatiser 3D-designs med Python API til maskiningeniørkunst, arkitektur og produktdesign.

Hvad er FreeCAD?

FreeCAD er en kraftfuld, open-source 3D parametrisk CAD-modellering, designet til at skabe virkelige objekter i enhver størrelse. Den understøtter parametrisk modellering, så brugerne nemt kan ændre designs ved at justere parametre i modellens historik. Bygget på en robust arkitektur med OpenCASCADE, Coin3D, Qt og Python, henvender FreeCAD sig til mekanisk ingeniørarbejde, arkitektur, produktdesign og mere. Dens fleksible Python API giver udviklere og avancerede brugere mulighed for at automatisere opgaver, udvide funktionaliteten og integrere med eksterne værktøjer. Uanset om du er hobbyist, studerende, ingeniør eller underviser, giver FreeCAD en professionel platform til 3D-design uden licensomkostninger.

FreeCAD's kerne styrke ligger i dets evne til at forbinde 2D-skitsning og 3D-modellering, så brugerne kan skitsere geometrisk begrænsede 2D-profiler og ekstrudere dem til 3D-funktioner. Den indeholder specialiserede arbejdsbænke til Part Design, Samling, Tegning, Arkitektur og mere. Applikationen kører native på Windows, macOS og Linux, hvilket sikrer bred tilgængelighed. Med aktivt fællesskabsstøtte, omfattende dokumentation og en modulær plugin-arkitektur er FreeCAD ideel for både begyndere og erfarne CAD-professionelle, der søger et gennemsigtigt, tilpasseligt og gratis alternativ til proprietære værktøjer. Dens integration med simulerings- og fremstillingsarbejdsgange gør den egnet til hele produktudviklingslivscyklussen.

Previous Next

Kom i gang med FreeCAD

FreeCAD er tilgængelig som forudkompilerede installationsprogrammer til Windows, macOS og Linux på seneste udgivelsesside. På Linux er det ofte tilgængeligt via din distributions pakkehåndtering eller softwarecenter. For udviklere og avancerede brugere understøttes bygning fra kildekode ved hjælp af CMake. Den officielle Udviklerhåndbog giver detaljerede byggeinstruktioner. Når den er installeret, start FreeCAD og udforsk arbejdsbænke via værktøjslinjen. Python‑konsollen og makrosystemet muliggør automatisering og tilpasning. For læringsressourcer, besøg Kom i gang-guiden på FreeCAD‑wikien.

Installer FreeCAD via pakkehåndtering (Linux) eller download

# Ubuntu/Debian
sudo apt install freecad

# macOS (Homebrew)
brew install --cask freecad

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

Parametrisk 3D-modellering med Python API

FreeCADs parametriske modelleringsmotor giver brugerne mulighed for at definere objekter med redigerbare parametre, så designiterationer kan udføres ved blot at justere værdier. Python-API'en eksponerer hele modelleringsstakken, så udviklere kan skabe komplekse geometriske former programmatisk. Ved at bruge Part- og PartDesign-værktøjsbænke kan du generere primitive, udføre boolske operationer, tilføje afrundinger/fasetter og oprette funktioner som pads, lommer og rotationer – alt sammen via Python. Denne funktion er essentiel for generativt design, topologioptimering og integration af CAD med simulerings- eller fremstillingsarbejdsgange. API'en understøtter både objektorienterede og funktionelle tilgange, hvilket gør den egnet til scripting, makroer og fuldt udstyrede plugins. Med adgang til den underliggende OpenCASCADE-kerne leverer FreeCAD geometriske operationer i professionelt niveau, samtidig med at den bevarer brugervenlighed for begyndere.

Opret en parametrisk kube og modificer dens dimensioner via 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-skitsning & tegnearbejdsbord

FreeCAD inkluderer et robust 2D-skitselægningsmiljø integreret med 3D-modelleringspipeline. Sketcher-arbejdsbænken giver brugerne mulighed for at tegne geometrisk begrænsede 2D-profiler ved hjælp af linjer, buer, cirkler og splines. Begrænsninger såsom vandrette, lodrette, parallelle, vinkelrette og dimensionelle begrænsninger sikrer præcis kontrol over skitsegeometrien. Når de er færdige, fungerer disse skitser som grundlag for 3D-funktioner som ekstruderinger, rotationer og lofts. Derudover giver Draft-arbejdsbænken værktøjer til at skabe 2D-vektortegninger uden begrænsninger, ideelle til arkitektoniske plantegninger eller tekniske illustrationer. Drawing-arbejdsbænken muliggør generering af ortografiske projektioner, snitvisninger og annoterede tegninger fra 3D-modeller, og understøtter ISO-kompatibel teknisk dokumentation med dimensionering, tolerancering og styklister.

Opret en skitse, tilføj begrænsninger og ekstruder for at danne en 3D-funktion

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

Samlingsdesign og begrænsningsløsning

FreeCAD understøtter kompleks samlingsmodellering gennem Assembly4- og Assembly3-arbejdsbænke, så brugerne kan kombinere flere dele til funktionelle mekanismer. Samlinger bygges ved hjælp af begrænsninger såsom sammenfaldende, parallel, vinkelret, tangent og afstand for at definere relative positioner og bevægelser mellem komponenter. Løseren opdaterer automatisk samlingen, når en del eller begrænsning ændres, hvilket sikrer designintegritet. Denne funktion er afgørende for mekanisk ingeniørarbejde som tandhjulsdrev, leddelt systemer og husdesign. Samlinger kan eksporteres som STEP-filer for samarbejde med andre CAD-systemer, og bevægelsessimulering er mulig gennem integration med eksterne værktøjer som Yade eller brugerdefinerede Python-scripts. FreeCADs parametriske natur sikrer, at ændringer i individuelle dele automatisk videreføres til samlingen, hvilket reducerer manuelle opdateringer og minimerer fejl.

Opret en simpel samling med to dele og anvend en sammenfaldende begrænsning

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- og arkitektoniske modelleringsværktøjer

FreeCAD inkluderer specialiserede værktøjer til Building Information Modeling (BIM) og arkitektonisk design gennem Arch-arbejdsbænken. Brugere kan oprette vægge, gulve, tage, vinduer, døre og strukturelle elementer ved hjælp af intuitive parametriske objekter. Disse objekter opdateres automatisk, når deres parametre ændres, hvilket understøtter iterativt design og overholdelse af byggeregler. Arbejdsbænken understøtter IFC (Industry Foundation Classes) import/eksport, hvilket muliggør interoperabilitet med branchestandard BIM-software som Revit og Archicad. Funktioner som stedplanlægning, opsætning af energianalyse og materialeudtagninger gør FreeCAD egnet til tidlig fase af arkitektonisk design og dokumentation. Derudover integrerer Draft- og Sketcher-arbejdsbænkene problemfrit for at skabe præcise grundplaner og elevationer, mens Drawing-arbejdsbænken genererer konstruktionsdokumenter med annoteringer, dimensioner og tidsplaner.

Opret en væg og tilføj et vindue ved hjælp af 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()
 Dansk