Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
3D grafika
Rhinoceros a skripty - úvod
3. října 2002, 00.00 | Vývoj software jde kupředu a pozadu nezůstává NURBS modelář Rhinoceros (dále Rhino) od Roberta McNeela. Tímto článkém začínáme seriál o používání skriptů při 3D modelování v tomto programu.
Úvod do skriptování
Vývoj software jde kupředu a pozadu nezůstává NURBS modelář Rhinoceros (dále Rhino) od Roberta McNeela. Tímto článkém začínáme seriál o používání skriptů při 3D modelování v tomto programu. Již ve verzi 1.0 umožňoval Rhino skriptování ve formě posloupnosti příkazů. Neohrabané, staré, ale přece jenom se to dá dobře použít a popíšu vám jej v tomto článku. Od verze 2.0 a vyšší lze již v Rhinu používat Microsoftem vytvořené jazyky MS Visual Basic Scripting (VBScript) a MS Java Script (JScript), což otevírá Rhinu širší možnosti do systému, k proměným, objektům a jejich vlastnostem. V dálších dílech se budeme věnovat pouze VBScriptu. Je velmi dobře z dokumentován (v MSDN) a samotný Rhino obsahuje řadu ukázek pravě v něm. Z počátku se vám může zdát, že se vůbec nedostaneme k samotnému Rhinu, ale je třeba si vystvětlit základní funkce programování, aby i neznalý člověk jež nikde jinde nebude potřebovat programovat, mohl v Rhinu tvořit skripty. To ale až v dalším díle. Nyní se vrhneme na starý způsob skriptování, který funguje ve všech verzích Rhina.Pomůcky pro skriptování
Mnoho příkazů bylo napsáno pro použítí z příkazové řádky. Čehož právě lze krásně využít pro skriptování. Skripty můžeme spouštět pomocí tlačítek v menu, klávesových zkratek, zástupných příkazů, z textového souboru a posledním vložením ze schránky do příkazového řádku. Vše je shrnuto v menu Tools > Commands. Lze použít mnoho příkazů, jejich přesné zadání najdete v nápovědě, či odkoukáním z příkazové řádky. Pokud jednou skript vložíte, lze jej zopakovat stisknutím klávesy Enter, nebo pomocí pravého tlačítka vybrat jiný předchozí skript (viz obrázek).Základ
Nyní jak reprezentovat různé akce. Mezerník představuje ENTER v příkazovém řádku. ! ruší předchozí příkaz, proto je dobré ho použít, pokud jej vkládáme přes tlačítko (nemusíme vždy, například pokud děláme vnořené příkazy).Menší ukázka:
! Box 0,0,0 10,10,0 30
Tento skript nejdříve přeruší jakýkoliv příkaz, který je vykonáván. Po té zavolá příkazem BOX tvorbu krychle, zadá první bod, druhý bod a nakonec výšku.
Skripty nemusí sami o sobě skončit. Mohou třeba vykonat určitý sled operací a pak zavolat nějaký příkaz na editaci, tvorbu, atd.
! SelAll Points -2,1 4,2 4,4 -5,3 10,-2 Enter Invert MoveTento skript jak vidíte není na jednom řádku, ale pomocí entrů zapsán na více řádcích. I toto Rhino považuje za správný zápis. Potom ale musíte pro konec příkazu použít "celý" zápis slova Enter. Skript přeruší příkaz, vybere všechny objekty, vytvoří 5 bodů, ukončí příkaz, invertuje výběr (tím pádem máme vybrány jenom naše nové body - chytré a účinné) a nabídne příkaz Move (posun) do aktivního režimu. Čili po skončení skriptu máte aktivní příkaz a pracujete s ním.
Příkazy podporující argumenty
V Rhinu jsou příkazy, které mohou příjimat argumenty (parametry) za svým voláním. Zde je uvedu i s možnými argumenty:Bend StraightEnd=Yes/No Copy=Yes/No
BlendSrf Degree=3/5
ChangeLayer Layer=NazevHladiny
Curve Close=Yes/No
Extrude Cap= Yes/No
Fillet Join= Yes/No
FilletSrf Trim= Yes/No/Split Extend= Yes/No
FlattenSrf Verbose=1/2/3 zobrazí triangulaci na cíly/zdroji/obojí
InterpCrv Close=Yes/No
LayerLock Layer=NazevHladiny
LayerOff Layer=NazevHladiny
LayerOn Layer=NazevHladiny
MergeSrf Smooth=Yes/No
NetworkSrf Autosort=Yes/No
Orient Scale=Yes/No
OrientOnSrf SurfaceBased=Yes/No
Pipe Cap=Yes/No, Thick=Yes/No
SelLayer Layer=NazevHladiny1, NazevHladiny2, NazevHladiny3
SetLayer Layer=NazevHladinyBezMezer nebo "Nazev hladiny s mezerami"
Taper Flat= Yes/No
UndoMultiple Steps=Cislo
UnrollSrf Mode=1 Divs=1-128 Fit=0/1
Popisovat to snad nemá cenu. Zápis je viditelný.
Další příkazy vhodné k použití
Zde vám popíšu příkazy, které se vám hodí při práci a pro používání skriptů.CloseDisplayWindow - Uzavření renderovacího okna
CloseViewport - Uzavření aktivního okna
MaxViewport - Maximalizování aktivního okna
CopyDisplayWindowToClipboard - Obraz z okna rendereru se zkopíruje do schránky
CopyViewToAll - Zkopíruje se aktivní pohled do všech ostatních
Pause - Zastaví skript a čeká na odezvu od uživatele (například pro vložení počátečního bodu)
NextOrthoViewport - Další pohled s orthogonálním (rovnoběžným) promítáním aktivním
NextPerspectiveViewport - Další pohled s perspektivním promítáním aktivním
NextViewport - Další pohled aktivní
PrevViewport - Předchozí pohled aktivní
NextViewportToTop - Vyzvedne další pohled na povrh
SetActiveViewport JmenoPohledu - Nastaví aktivní pohled dle jména pohledu
SetMaximizedViewport JmenoPohledu - Maximalizuje pohled dle jména pohledu
SaveDisplayWindowAs "CestaKamSeSouborMaUlozit" - Uloží obraz z renderovacího okna do souboru
Co říci na závěr? Je to jednoduchý, účinný způsob zrychlení práce. Například hromadné načítání souřadnic bodů ze souboru, a jiné.
V příštím díle se již koukneme na VBScript, seznámíme se s jeho funkcemi, objekty a instrukcemi a na lehkých příkladech si ukážeme jak skripty vkládat do tlačítek.
Obsah seriálu (více o seriálu):
- Rhinoceros a skripty - úvod
- Rhinoceros a skripty II
- Rhinoceros a skripty III - první lehký praktický příklad
- Rhinoceros a skripty - druhý střední praktický příklad
- Rhinoceros a skripty - třetí praktický příklad
Tématické zařazení:
-
23. dubna 2014
Konica Minolta přenesla výhody velkých zařízení do kompaktních modelů
-
11. května 2014
-
23. května 2014
Epson na konferenci Droidcon Berlin ukázal nové možnosti čekající na vývojáře OS Android
-
24. listopadu 2014
-
13. května 2014
Samsung NX3000: retro styl, špičkový výkon a snadná konektivita v jednom přístroji
-
30. listopadu 2014
Nový fotoaparát α7 II: první plnoformát s pětiosou optickou stabilizací obrazu na světě
-
15. prosince 2014
Konica Minolta pomůže živnostenským úřadům s digitalizací dokumentů
-
11. května 2014
-
26. listopadu 2014
Canon Junior Awards již posedmé ocení mladé fotografy v rámci Czech Press Photo
-
21. srpna 2014