3Dscena.cz: 3D grafika jako na dlani
GALERIE DISKUSE SOFTWARE HARDWARE SLUŽBY



3D Max
Blender
Cinema 4D
Lightwave
Maya
Rhino3D
Truespace



Amapi 3D
Dění v 3D
Freeware utility
Kolekce 3D modelů
Konverze formátů
Animace
Světlo
Krajina
Oheň
Postavy
Předměty
Voda

Broccato
Galerie 3dscény:
Broccato
přidal: Balcik
komentářů: 0
3Dscena \ články


Rhinoceros a skripty II

18.10.2002 Autor: Pavel Kryštůfek - Typ: Tutoriál

Součást seriálu: 

Nádech VBScriptu

V minulém díle jsme si probrali starou metodu skriptování, která též dobře poslouží, ale nemá takové možnosti jako jazyk VBScript. V dnešním díle vás lehce s tímto jazykem seznámím, aby uživatel, který jej nikdy neviděl, mohl začít pracovat s námi a v průběhu seriálu si informace o tomto jazyku doplňoval z MSDN. Lidem, kteří již umí programovat ve Visual Basicu (VB) či Visual Basicu for Aplication (VBA), přechod na VBScript nebude dělat problémy. VBScript totiž výchází z jazyka VB.

Co použít za editor na scripty? Je mnoho editorů zdarma, mnoho shareware. Zaleží na vás, můžete používat i normální poznámkový blok (Notepad). Já osobně využívám služeb Code-Genie, což je editor pro programátory a dokáže rozpoznat symboliku pro mnoho jazyků včetně VBScriptu (symboliku jazyka si sami můžete upravovat).

Základy VBScriptu

Zde si probereme jak se deklarují proměnné, jak lze s nimi pracovat, jak usměrňovat tok ve skriptu a podobně. Proměnné se deklarují takto:

Dim Zkusebni_Promenna

Lze definovat více proměnných najednou:

Dim Zkusebni_Promenna, Zkusebni_Promenna2

Přiřazení proměnné hodnotu:

Zkusebni_Promenna = 10 'Priradi promenné cele cislo 10
Zkusebni_Promenna2 = 50 'Priradi promenne cele cislo 50

'Priradi promenne hodnotu Zkusebni_Promenna a pricte k ni
'hodnotu Zkusebni_Promenna2


Zkusebni_Promenna = Zkusebni_Promenna + Zkusebni_Promenna2

'Promenna ma nyni hodnotu 60

Jak vidíte poznámky se vkládají pomocí apostrofy '. Doporučuji nepoužívat diakritiku a vkládat poznámky k důležitým úsekům kódu. Hodí se to až se k němu budete vracet za měsíc i více, ale také to poslouží lidem, kteří budou po vás kód číst.

Operátory jsou zapisovány standardním způsobem.

'Scitani
Zkusebni_Promenna = Zkusebni_Promenna + Zkusebni_Promenna2

'Odecitani
Zkusebni_Promenna = Zkusebni_Promenna - Zkusebni_Promenna2

'Deleni
Zkusebni_Promenna = Zkusebni_Promenna / Zkusebni_Promenna2

'Nasobeni
Zkusebni_Promenna = Zkusebni_Promenna * Zkusebni_Promenna2

'Deleni beze zbytku
Zkusebni_Promenna = Zkusebni_Promenna \ Zkusebni_Promenna2

'Exponent
Zkusebni_Promenna = Zkusebni_Promenna ^ Exponent


Existuje samozřejmě více operátorů, ale zatím nám vystačí (doufám) pouze tyto. Pokud vás zajímají, odkážu vás opět na MSDN.

Tok lze řídit standardními příkazy, ale upozorňuji, že jsou okleštěny oproti VB. Opět jenom ty základní:

If Podminka1 Then
Prikaz_Pro_Podminku1
ElseIf Podminka2 Then
Prikaz_Pro_Podminku2
Else
Prikaz_Pro_Zbytek
End If

Řízení toku pomocí podmínky IF je snad v každém jazyce. Pokud je splněna podmínka, vykoná se daný příkaz. Chybí zde parametr GOTO, čili nelze zde skákat v kódu. Pokud chceme spouštět více příkazu za Then a psát pouze na jednom řádku, stačí příkazy oddělit dvojtečkou:

If A > 10 Then A = A + 1 : B = B + A : C = C + B

Dalším způsobem je cyklus pomocí FOR. Probíháme v cyklu dokud proměnná Pocet nenabyde hodnoty Konec. Možnosti v hranatých závorkách naznačují, že tuto volbu nemusíme použít. Lze tedy skákat po zadaných krocích a cyklus předčasně ukončit.

For Pocet = pocatek To Konec [Step Krok]
Prikazy

[Exit For]
Prikazy
Next

Aby jsem zbytečně nerozepisoval o každé funkci, objektech, nabízím vám seznamy s českým popisem.
Funkce se zapisují takto:

Zkusebni_Promenna = Exp(2)
'Vrati hodnotu 7,389056099

Zkusebni_Promenna = LTrim("   Zijeme jednom jednou")
'Vrati retezec "Zijeme jednom jednou"


Objekty se vytvářejí takto:

Dim fso, f, ZkouskaCteni
'Nadefinuju promenne objektu

Set fso = CreateObject("Scripting.FileSystemObject")
'Vytvorim objekt fso a jeho rodic je FileSystemObject
Set f = fso.OpenTextFile("c:\testfile.txt", 2, True)
'Vytvorim objekt f z fso, f je nyni soubor testfile.txt a muzu do nej zapisovat
f.Write "Ahoj světe!"
'Zapisu do f text
Set f = fso.OpenTextFile("c:\testfile.txt", 1)
'Znova vytvorim objekt f z fso, f je nyni soubor testfile.txt a muzu z nej pouze cist
ZkouskaCteni = f.Read(5)
'Prectu z f 5 znaku
Msgbox ZkouskaCteni
'Zobrazim dialogove okno s nactenym obsahem

Jak to použít v Rhinu

To byl teda velmi lehký základ. Jak ale dostat tyto skripty do Rhina?
Skripty musíte ukládat s příponou ".RVB". Soubory lze načítat pomocí příkazů. Slouží k tomu:
  • LoadScript
  • RunScript
Nyní si jednotlivé příkazy probereme.

LoadScript

Dialogové okno LoadScript
Po provedení příkazu se nám objeví dialogové okno, ve kterém lze pomocí tlačítka Add.. načítat skripty do paměti, tlačítkem Load je spouštět, Edit... je měnit, Remove odstranit. Dále je tu zatržítko Save. To vám umožní již načtené skripty uchovat v paměti. Rhino totiž automaticky po skončení skriptu pamět uvolní.

RunScript

Dialogové okno RunScript
Po provedení příkazu se nám objeví dialogové okno, které je podobné jako u LoadScript. Pomocí tlačítka Merge.. načteme skript ze souboru. Daný skript se objeví v textovém okně a my je můžem upravovat. Tlačítkem Save... jej můžeme zpětně uložit do souboru a Run jej spustit. Ve spodní části máme ještě volbu jazyka, pro nás je standardně zvolen VBScript.

Jak jsem v minulém díle slíbil, že si ukážeme vložení skriptu do tlačítka (přece jenom spouštění skriptů přes tyto obludná dialogová okna není to pravé), tak to bude až v příštím díle, kde si už ukážeme praktické ukázky využítí VBScriptu, a vysvětlíme si hrubou kostru objektů v Rhinu.

-Pavel Kryštůfek- (další články autora)

Následující kapitola (Funkce podporované ve VBScriptu) >>

  aktuální hodnocení: 1.64 (84 hlasů)
 1 = výborný, 3 = dobrý, 5 = špatný
výborný velmi dobrý dobrý podprůměrný špatný


TISKNOUT
ODESLAT NA E-MAIL
INFORMACE O AUTOROVI


© 2002 - 2003
Grafika Publishing - všechna práva rezervována
Designed by deepcube.com