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

openscad

 
 

Öppen källkod 3D CAD-modellering för programmerare

Skapa solida 3D-modeller med CSG, extrusion och konfigurerbara parametrar via öppen källkod gratis Python API.

Vad är OpenSCAD?

OpenSCAD är ett gratis och öppen källkod 3D CAD-modelleringsverktyg som är speciellt utformat för programmerare och ingenjörer. Till skillnad från interaktiva 3D-modellerare använder OpenSCAD ett skriptbaserat tillvägagångssätt för att definiera solida 3D-objekt med hjälp av konstruktiv solid geometri (CSG) och extruderingstekniker. Detta möjliggör exakt, reproducerbar och parametrisk modellering som är idealisk för mekaniska delar, prototyper och tekniska konstruktioner. Verktyget stöder Linux, Windows och macOS, och integreras väl med Python‑baserade arbetsflöden för automatisering och skriptning.

OpenSCAD läser skriptfiler som beskriver objektet och renderar 3D-modellen därefter, vilket ger designers full kontroll över modelleringsprocessen. Det stödjer operationer som union, intersektion, differens samt transformationer såsom translation, rotation och skalning. Data kan importeras från DXF-filer och exporteras till STL, OFF och andra format. Dess öppna arkitektur och aktiva community gör det till ett kraftfullt val för utvecklare som söker programmatisk 3D-modelleringskapacitet utan att förlita sig på GUI‑interaktioner.

Previous Next

Komma igång med OpenSCAD

OpenSCAD finns tillgängligt som förbyggda binärer för Linux, macOS och Windows från dess officiella webbplats. För utvecklare är källkoden hostad på GitHub, och du kan bygga den från källkoden med hjälp av CMake och de medföljande byggskripten. Det officiella [openscad GitHub](https://github.com/openscad/openscad)-arkivet innehåller detaljerade bygginstruktioner för alla större plattformar. För att snabbt komma igång, ladda ner den senaste versionen, installera den och öppna redigeraren för att skriva ditt första SCAD‑skript.

Installera OpenSCAD via paketförvaltare

# Ubuntu/Debian
sudo apt install openscad

# macOS (Homebrew)
brew install --cask openscad

# Windows (Chocolatey)
choco install openscad

Konstruktiv solid geometri (CSG)

OpenSCAD:s kärnstyrka ligger i dess stöd för konstruktiv solid geometri (CSG), vilket möjliggör kombination av grundläggande 3D‑primitiver med boolska operationer som union, intersektion och differens. Detta tillvägagångssätt säkerställer exakt, icke‑manifold‑säker modellering som är lämplig för ingenjörs- och tillverkningsarbete. Till exempel kan du skapa en cylinder med ett hål genom att subtrahera en mindre cylinder från en större. CSG‑operationer definieras deklarativt i skriptet, vilket möjliggör enkel parametrisering och revision. Detta gör OpenSCAD idealiskt för att designa mekaniska delar, höljen och funktionella prototyper där noggrannhet och reproducerbarhet är kritiska.

Hur skapar man en cylinder med ett hål med hjälp av CSG i OpenSCAD?

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

2D-omrissextrudering

OpenSCAD stöder extrudering av 2D‑konturer som importeras från DXF‑filer eller definieras direkt i SCAD‑kod. Denna teknik är avgörande för att skapa komplexa 3D‑former från 2D‑profiler, såsom kugghjul, fästen eller anpassade höljen. Du kan extrudera banor linjärt eller rotera dem kring en axel (via rotation). Extruderingsprocessen respekterar vertex‑ordningen och stöder både 2D‑polygoner och banor med hål. Kombinerat med transformationer och moduler möjliggör detta parametrisk generering av delar som rör, ramar eller arkitektoniska element, vilket gör OpenSCAD till ett kraftfullt verktyg för teknisk design och tillverkningsarbetsflöden.

Hur extruderar man en 2D-polygon till ett 3D-objekt?

linear_extrude(height = 10, center = true, convexity = 10)
  polygon(points = [[0,0], [10,0], [5,10]]);

Parametrisk modellering & konfiguration

OpenSCAD utmärker sig i parametrisk modellering, där dimensioner och former definieras med hjälp av variabler och funktioner. Detta gör det möjligt att enkelt anpassa designer genom att ändra några få parametrar, vilket gör det idealiskt för iterativ prototypframtagning och anpassning. Till exempel kan du definiera en modul som accepterar parametrar för bredd, höjd och tjocklek, och sedan återanvända den i flera designer. Parametrar kan också styras av extern data, såsom värden från en CSV- eller DXF-fil, vilket möjliggör integration med Python-baserade datapipelines. Denna funktionalitet stödjer generativ design, där modeller automatiskt anpassar sig till förändrade krav eller begränsningar.

Hur definierar man en återanvändbar 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 & exportintegration

OpenSCAD erbjuder robust stöd för import av 2D DXF-filer och export av 3D-modeller till STL, OFF och andra format. Detta gör det enkelt att integrera med CAD/CAM-verktyg, 3D-skrivare och simuleringsprogramvara. DXF-import kan inkludera banor för extrudering, medan export stödjer binär och ASCII STL för 3D-utskrift. Dessutom kan OpenSCAD läsa designparametrar från DXF-filer, vilket möjliggör hybridarbetsflöden där geometri definieras i externa verktyg men förfinas programmässigt. Denna interoperabilitet, kombinerad med dess skriptbaserade natur, gör det möjligt för utvecklare att automatisera modellgenerering och batchbearbetning med Python eller skal‑skript, vilket effektiviserar produktionsarbetsflöden.

Hur importerar man en DXF och extruderar den till 3D?

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