
openscad
Open Source 3D CAD-modeller for programmører
Opret solide 3D-modeller ved hjælp af CSG, ekstrudering og konfigurerbare parametre via open source gratis Python API.
Hvad er OpenSCAD?
OpenSCAD er et gratis og open source 3D CAD-modelleringsværktøj, der er designet specifikt til programmører og ingeniører. I modsætning til interaktive 3D-modellere bruger OpenSCAD en scriptbaseret tilgang til at definere solide 3D-objekter ved hjælp af konstruktiv solid geometri (CSG) og ekstruderingsteknikker. Dette muliggør præcis, reproducerbar og parametrisk modellering, ideel til mekaniske dele, prototyper og tekniske design. Værktøjet understøtter Linux, Windows og macOS og integreres godt med Python-baserede arbejdsgange til automatisering og scripting.
OpenSCAD læser scriptfiler, der beskriver objektet, og gengiver 3D-modellen derefter, hvilket giver designere fuld kontrol over modelleringsprocessen. Det understøtter operationer som union, intersection, difference og transformationer såsom translate, rotate og scale. Data kan importeres fra DXF-filer og eksporteres til STL, OFF og andre formater. Dets åbne arkitektur og aktive fællesskab gør det til et kraftfuldt valg for udviklere, der søger programmatiske 3D-modelleringsmuligheder uden at være afhængige af GUI-interaktioner.
Kom i gang med OpenSCAD
OpenSCAD er tilgængelig som forudbyggede binære filer til Linux, macOS og Windows fra dens officielle hjemmeside. For udviklere er kildekoden hostet på GitHub, og du kan bygge den fra kilde ved hjælp af CMake og de medfølgende build‑scripts. Det officielle [openscad GitHub](https://github.com/openscad/openscad)-arkiv indeholder detaljerede byggeinstruktioner til alle større platforme. For at komme hurtigt i gang, download den seneste udgivelse, installer den, og åbn editoren for at skrive dit første SCAD‑script.
Installer OpenSCAD via pakkehåndterere
# Ubuntu/Debian
sudo apt install openscad
# macOS (Homebrew)
brew install --cask openscad
# Windows (Chocolatey)
choco install openscad
Konstruktiv Solid Geometri (CSG)
OpenSCADs kernefordel ligger i dets understøttelse af konstruktiv solid geometri (CSG), som gør det muligt at kombinere grundlæggende 3D-primitive ved hjælp af boolske operationer som union, intersection og difference. Denne tilgang sikrer præcis, non-manifold-sikker modellering, der er egnet til ingeniørarbejde og fremstilling. For eksempel kan du skabe en cylinder med et hul ved at trække en mindre cylinder fra en større. CSG-operationer defineres deklarativt i scriptet, hvilket muliggør nem parametrisering og revision. Dette gør OpenSCAD ideelt til at designe mekaniske dele, indkapslinger og funktionelle prototyper, hvor nøjagtighed og reproducerbarhed er kritisk.
Hvordan opretter man en cylinder med et hul ved hjælp af CSG i OpenSCAD?
difference() {
cylinder(h = 20, r = 10);
cylinder(h = 25, r = 4, center = true);
}
2D Kontur Ekstrudering
OpenSCAD understøtter ekstrudering af 2D-omrids importeret fra DXF-filer eller defineret direkte i SCAD-kode. Denne teknik er afgørende for at skabe komplekse 3D-former ud fra 2D-profiler, såsom tandhjul, beslag eller specialfremstillede indkapslinger. Du kan ekstrudere stier lineært eller rotere dem omkring en akse (via rotation). Ekstruderingsprocessen respekterer rækkefølgen af vertexer og understøtter både 2D-polygoner og stier med huller. Kombineret med transformationer og moduler muliggør dette parametrisk generering af dele som rør, rammer eller arkitektoniske elementer, hvilket gør OpenSCAD til et kraftfuldt værktøj til teknisk design og fremstillingsarbejdsprocesser.
Hvordan extruderer man en 2D-polygon til et 3D-objekt?
linear_extrude(height = 10, center = true, convexity = 10)
polygon(points = [[0,0], [10,0], [5,10]]);
Parametrisk Modellering & Konfiguration
OpenSCAD udmærker sig i parametrisk modellering, hvor dimensioner og former defineres ved hjælp af variable og funktioner. Dette gør det muligt at tilpasse designs nemt ved at ændre nogle få parametre, hvilket gør det ideelt til iterativ prototyping og tilpasning. For eksempel kan du definere et modul, der accepterer parametre for bredde, højde og tykkelse, og derefter genbruge det i flere designs. Parametre kan også styres af eksterne data, såsom værdier fra en CSV- eller DXF-fil, hvilket muliggør integration med Python-baserede datapipelines. Denne funktion understøtter generativt design, hvor modeller automatisk tilpasser sig ændrede krav eller begrænsninger.
Hvordan definerer man et genanvendeligt parametrisk modul?
module box(width, height, thickness) {
difference() {
cube([width, height, thickness]);
translate([thickness, thickness, -1])
cube([width - 2*thickness, height - 2*thickness, thickness + 2]);
}
}
box(50, 30, 3);
Dataimport & Eksportintegration
OpenSCAD tilbyder robust support til import af 2D DXF-filer og eksport af 3D-modeller til STL, OFF og andre formater. Dette gør det nemt at integrere med CAD/CAM-værktøjer, 3D-printere og simuleringssoftware. DXF-import kan inkludere stier til ekstrudering, mens eksport understøtter binær og ASCII STL til 3D-print. Derudover kan OpenSCAD læse designparametre fra DXF-filer, hvilket muliggør hybride arbejdsgange, hvor geometri defineres i eksterne værktøjer men raffineres programmatisk. Denne interoperabilitet, kombineret med dens script-baserede natur, giver udviklere mulighed for at automatisere modelgenerering og batchbehandling ved hjælp af Python eller shell-scripts, hvilket strømliner produktionsarbejdsprocesser.
Hvordan importerer man en DXF og extruderer den til 3D?
linear_extrude(height = 5) {
import(file = "profile.dxf", layer = "outer");
}
