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

openscad

 
 

Åpen kildekode 3D CAD-modellering for programmerere

Lag solide 3D-modeller ved bruk av CSG, ekstrudering og konfigurerbare parametere via gratis åpen kildekode Python API.

Hva er OpenSCAD?

OpenSCAD er et gratis og åpen kildekode 3D CAD-modelleringsverktøy designet spesielt for programmerere og ingeniører. I motsetning til interaktive 3D-modelleringsprogrammer bruker OpenSCAD en skriptbasert tilnærming for å definere solide 3D-objekter ved hjelp av konstruktiv solid geometri (CSG) og ekstruderingsteknikker. Dette muliggjør presis, reproduserbar og parametrisk modellering som er ideell for mekaniske deler, prototyper og tekniske design. Verktøyet støtter Linux, Windows og macOS, og integreres godt med Python-baserte arbeidsflyter for automatisering og skripting.

OpenSCAD leser skriptfiler som beskriver objektet og gjengir 3D-modellen deretter, noe som gir designere full kontroll over modelleringsprosessen. Det støtter operasjoner som union, intersection, difference, og transformasjoner som translate, rotate og scale. Data kan importeres fra DXF-filer og eksporteres til STL, OFF og andre formater. Den åpne arkitekturen og det aktive fellesskapet gjør det til et kraftig valg for utviklere som søker programmatisk 3D-modelleringskapasitet uten å være avhengig av GUI-interaksjoner.

Previous Next

Kom i gang med OpenSCAD

OpenSCAD er tilgjengelig som forhåndsbygde binærfiler for Linux, macOS og Windows fra den offisielle nettsiden. For utviklere er kildekoden hostet på GitHub, og du kan bygge den fra kildekode ved hjelp av CMake og de medfølgende byggeskriptene. Det offisielle [openscad GitHub](https://github.com/openscad/openscad)-depotet inneholder detaljerte byggeinstruksjoner for alle større plattformer. For å komme i gang raskt, last ned den nyeste versjonen, installer den, og åpne redigeringsprogrammet for å skrive ditt første SCAD‑skript.

Installer OpenSCAD via pakkebehandlere

# Ubuntu/Debian
sudo apt install openscad

# macOS (Homebrew)
brew install --cask openscad

# Windows (Chocolatey)
choco install openscad

Konstruktiv solid geometri (CSG)

OpenSCADs kjerne­styrke ligger i støtten for konstruktiv solid geometri (CSG), som gjør det mulig å kombinere grunnleggende 3D‑primitive ved hjelp av boolske operasjoner som union, interseksjon og differanse. Denne tilnærmingen sikrer presis, ikke‑manifold‑sikker modellering som er egnet for ingeniørarbeid og produksjon. For eksempel kan du lage en sylinder med et hull ved å trekke fra en mindre sylinder fra en større. CSG‑operasjoner defineres deklarativt i skriptet, noe som muliggjør enkel parametrisering og revisjon. Dette gjør OpenSCAD ideelt for å designe mekaniske deler, innkapslinger og funksjonelle prototyper hvor nøyaktighet og reproduserbarhet er kritisk.

Hvordan lage en sylinder med et hull ved hjelp av CSG i OpenSCAD?

difference() {
    cylinder(h = 20, r = 10);
    cylinder(h = 25, r = 4, center = true);
}

2D-omriss ekstrudering

OpenSCAD støtter ekstrudering av 2D‑konturer importert fra DXF‑filer eller definert direkte i SCAD‑koden. Denne teknikken er essensiell for å lage komplekse 3D‑former fra 2D‑profiler, som tannhjul, braketter eller tilpassede innkapslinger. Du kan ekstrudere baner lineært eller rotere dem rundt en akse (via rotasjon). Ekstruderingsprosessen respekterer rekkefølgen på vertexene og støtter både 2D‑polygoner og baner med hull. Kombinert med transformasjoner og moduler gjør dette mulig parametrisk generering av deler som rør, rammer eller arkitektoniske elementer, og gjør OpenSCAD til et kraftig verktøy for teknisk design og fabrikasjonsarbeidsflyter.

Hvordan ekstrudere 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 og konfigurasjon

OpenSCAD utmerker seg i parametrisk modellering, hvor dimensjoner og former defineres ved hjelp av variabler og funksjoner. Dette gjør det mulig å enkelt tilpasse design ved å endre noen få parametere, noe som gjør det ideelt for iterativ prototyping og tilpasning. For eksempel kan du definere en modul som godtar parametere for bredde, høyde og tykkelse, og deretter bruke den på flere design. Parametere kan også styres av ekstern data, som verdier fra en CSV- eller DXF-fil, noe som muliggjør integrasjon med Python-baserte datapipelines. Denne funksjonaliteten støtter generativ design, hvor modeller automatisk tilpasser seg endrede krav eller begrensninger.

Hvordan definere en gjenbrukbar 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 og eksportintegrasjon

OpenSCAD gir robust støtte for import av 2D DXF-filer og eksport av 3D-modeller til STL, OFF og andre formater. Dette gjør det enkelt å integrere med CAD/CAM-verktøy, 3D-skrivere og simuleringsprogramvare. DXF-import kan inkludere baner for ekstrudering, mens eksport støtter binær og ASCII STL for 3D-utskrift. I tillegg kan OpenSCAD lese designparametere fra DXF-filer, noe som muliggjør hybride arbeidsflyter hvor geometri defineres i eksterne verktøy men raffineres programmatisk. Denne interoperabiliteten, kombinert med den skriptbaserte naturen, gjør at utviklere kan automatisere modellgenerering og batch-behandling ved hjelp av Python- eller skallskript, og strømlinjeformer produksjonsarbeidsflyter.

Hvordan importere en DXF og ekstrudere den til 3D?

linear_extrude(height = 5) {
    import(file = "profile.dxf", layer = "outer");
}
 Norsk