Operácie

OpenSCAD: Rozdiel medzi revíziami

Z SensorWiki

(Transformácie)
Riadok 87: Riadok 87:
 
|  [[Súbor:OpenSCAD-sphere.png|thumb|Guľa]]
 
|  [[Súbor:OpenSCAD-sphere.png|thumb|Guľa]]
 
|}
 
|}
 +
 +
 +
 +
 +
=== difference ===
 +
 +
Príkaz difference odpočíta druhý (a všetky nasledujúce) objekty od prvého.
 +
 +
{| width="100%"
 +
|
 +
| <source lang="C++">
 +
  difference()
 +
  {
 +
    cylinder (h = 4, r=1, center = true, $fn=100);
 +
    rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100);
 +
  }
 +
  </source>
 +
|  [[Súbor:OpenSCAD-difference.png|thumb|Difference]]
 +
|}
 +
  
  
 
[[Category:OpenSCAD]] [[Category:DTV]] [[Category:NAVEZ]]
 
[[Category:OpenSCAD]] [[Category:DTV]] [[Category:NAVEZ]]

Verzia zo dňa a času 13:03, 12. marec 2018

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);
Jednoduchý valec


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] );
Kocka
]
   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);
Guľa

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);
Guľa



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);
   }
Difference