OpenSCAD
Zo stránky SensorWiki
OpenSCAD je voľne dostupný softvér pre počítačom podporovanú CAD (computer-aided design) tvorbu 3D objektov. Je založený na skriptovacom jazyku, ktorým sú jednotlivé objekty vytvárané. Graficky sa dajú len prezerať a natáčať, ale nedá sa pracovať interaktívne s myšou. Základom jazyka sú primitívne geometrické útvary (napr. guľa, hranol, valec a pod.) a tieto modifikujeme pomocou základných geometrických a matematických operácií (napr. posun, prienik, rozdiel a pod.) čím vznikne požadovaný objekt -- 3D model. Program je zástupcom programov skupiny CSG -- t.j. constructive solid geometry (CSG). Softvér existuje vo verzii pre Windows, Linux aj OS X.
Príklady:
Príklady:
cylinder(d=6,h=10);
|
Kompilácia a rendrovanie modelu
Príkaz pre vykreslenie valčeka vložíme do príkazového okna a skompilujeme ho klávesou F5. Ak bol preklad úspešný, zároveň uvidíte v pravom okne náhľad objektu. Ak potrebujete kvalitný obraz, vyrendrujte ho klávesou F6, ale počítajte s dlhším časom potrebným na výpočet.
ekvivalentné príkazy
cube(size = 18);
cube(18);
cube([18,18,18]);
.
cube(18,false);
cube([18,18,18],false);
cube([18,18,18],center=false);
cube(size = [18,18,18], center = false);
cube(center = false,size = [18,18,18] );
|
] | |
sphere(r = 10);
translate([0,25,0])
color([0,1,0])
sphere(d = 20);
translate([0,50,0])
color([0.8,0.1,1])
sphere(d = 20);
|
Na poslednom príklade vidno aj možnosť zmeny farby objektu. Farba sa zadáva ako trojica komponentov RGB farby, akurát namiesto
obvyklých hodnôt 0 - 255 sa zadávajú ako reálne čísla v intervale 0,0 - 1,0. Okrem toho môžete používať aj pomenované farby,
pričom sa používajú tie isté ako pre web -- Web colors, napríklad: color("red") cube();
Pozn.: farby sa prejavia len v režime Preview mode (F5); render mode (F6) zatiaľ farby nepodporuje.
Export do STL
Transformácie
translate
Príkaz translate presunie svoje komponenty podľa daného vektora.
sphere(r = 10);
translate([0,25,0])
sphere(d = 20);
|
difference
Príkaz difference odpočíta druhý (a všetky nasledujúce) objekty od prvého.
difference()
{
cylinder (h = 4, r=1, center = true, $fn=100);
rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100);
}
|
Text
Text je 2D objekt, ktorý musíme neskôr "extrudovať" aby z neho vznikol 3D objekt. Všimnite si rozdiel medzi preview [F5] a render [F6].
text("Ahoj");
|
Ďalšími parametrami príkazu vieme meniť font, jeho veľkosť, typ a zarovnanie textu.
text(text = "Ahoj", font = "Arial:style=Bold", size = 10, halign = "center", valign = "center");
Zoznam dostupných fontov získate z menu Help -> Font List
linear_extrude(height = 10, center = true)
text(text = "Ahoj", font = "Arial:style=Bold", size = 10, halign = "center", valign = "center");
|
Viac o texte - pozri https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Text
Funkcie - moduly
spacer(30);
module spacer(length=15)
{
$fn = 15;
difference()
{
cylinder(d=6, h=length, $fn=6);
translate([0,0,-1])
cylinder(d=3.2,h=length+2);
}
}
|