Skip to content
Menu

VIS-All 3D Handbuch

VIS-All 3D Handbuch

VIS-All® 3D Handbuch

Baukran

image_print

Animationsskript Baukran

Die folgenden Kapitel beschreiben das Einfügen und Verknüpfen verschiedener Animationsskripte mit 3D-Elementen in der VIS-All-Grafik. Im Folgenden wird eine Animation für den Schwenkarm des Baukrans installiert. Klicken Sie dazu mit der rechten Maustaste auf “Steuerskript” und wählen Sie im Kontextmenü “Script neu”.

Animationeditorfenster: Script öffnen

Achtung: Wenn Sie unsere mitgelieferten Animationsskripte verwenden, dann fügen Sie diese mit “Script öffnen” ein.

Für unser Beispiel wird das Skript Baukran.ani aus dem Ordner “Animation-Scripts” der VIS-Installation gewählt.

Skript Baukran.ani

Verknüpfung Skript – Feature

Im nächsten Schritt muss das Animationsskript “Baukran” mit den Objekten in VIS-All verbunden werden, auf welche dieses Skript angewandt werden soll. Öffnen Sie dafür den Eigenschaften-Dialog des Skriptes.

Animationeditorfenster: Verknüpfung Skript – Feature

Wählen Sie als Feature-Type den Baukran unter Ausgestaltung -> Animiert -> Baukran”.

Eigenschaftensfenster: Optionen

Nach Klick auf den Feature-Typ wird in diesem Dialog die Struktur des Symbols sowie die Methoden, welche der Featuretyp unterstützt, angezeigt.

Dialog die Struktur des Symbols

Nun drücken Sie die Schaltfläche Bearbeiten im Eigenschafts-Dialog und wählen das Feature, auf welches das Skript angewandt werden soll. Es gibt nur ein Feature, welches einen Baukran darstellt, deshalb fällt die Wahl natürlich leicht. Mit Klick auf den Pfeil wird das Feature der Kategorie “animierte Features” auf der rechten Seite des Dialogs zugeordnet.

Auswahl der Features

Anschließend schließen Sie den Dialog zur Auswahl der Features und den Eigenschaftsdialog. Jetzt ist das Skript mit dem Feature, also dem Baukran, verknüpft. Der Skriptcode kann natürlich auch editiert werden. Über die Scriptsprache informieren Sie sich im gleichnamigen Kapitel. Falls Sie über die Bedeutung des Skriptcodes Baukran mehr erfahren möchten, bietet die folgende Tabelle einen Überblick.   Erklärung zum Steuerskriptcode “BuildingCrane”

Skriptzeile

begin

Erläuterung

Mit Begin wird der Start einer Sequenz eingeleitet. Beginmuss immer zu Beginn eines Skriptes stehen.

Skriptzeile

‘globale Variablen

Erläuterung

Kommentar, dass jetzt alle nötigen globalen Variablen importiert werden.

Skriptzeile

import double dPI;

Erläuterung

Diese Anweisung importiert die globale Variable dPI.

Skriptzeile

import float fSeillaenge;

Erläuterung

Diese Anweisung importiert die globale Variable fSeillaenge.

Skriptzeile

import bool bDown;

Erläuterung

Diese Anweisung importiert die globale Variable bDown.

Skriptzeile

import float fRotation;

Erläuterung

Diese Anweisung importiert die globale Variable fRotation. Diese Variable wird genutzt, um den Drehwinkel des Krans zu speichern. Bei jedem Durchlauf des Skripts wird diese Variable vergrößert.

Skriptzeile

import long ttime;

Erläuterung

Diese Anweisung importiert die globale Zeitvariable ttime.

Skriptzeile

import long lTimeDiff;

Erläuterung

Diese Anweisung importiert die globale Zeitvariable lTimeDiff. Diese Variable beschreibt die vergangene Zeit seit dem letzten Skript-Durchlauf und dem aktuellen Durchlauf.

Skriptzeile

import bool bBCRotate;

Erläuterung

Diese Anweisung importiert die globale Variable bBCRotate. Diese Variable gibt an, ob der Kran sich drehen darf.

Skriptzeile

‘lokale Variable

Erläuterung

Kommentar, dass jetzt alle nötigen lokalen Variablen deklariert werden. ( Es gibt aber keine 🙂 )

Skriptzeile

‘ Implementierung

Erläuterung

Kommentar, dass jetzt die Implementierung erfolgt.

Skriptzeile

if ( true == bBCRotate )

Erläuterung

Wenn der Kran arbeitet, dann

Skriptzeile

begin

Erläuterung

Mit Begin wird der Start einer Sequenz eingeleitet.

Skriptzeile

fRotation += ( 0.0002 * lTimeDiff );

Erläuterung

Diese Anweisung vergrößert den Winkel des Baukrans, abhängig von der verstrichenen Zeit seit dem letzten Durchlauf des Skripts. ( Berechnung im Bogenmass )

Skriptzeile

if ( 2*dPI < fRotation ) fRotation = 0.0;

Erläuterung

Falls der Winkel größer als 2*Pi ( also 360 Grad ) ist, wird er wieder auf 0 gesetzt.

Skriptzeile

if ( bDown )
begin
if ( fSeillaenge <7)    fSeillaenge+= 0.001 * lTimeDiff;
else bDown = false;
end
else
begin
if ( fSeillaenge >1) fSeillaenge-= 0.001 * lTimeDiff;
else bDown = true;
end

Erläuterung

Anweisung für Seillängenänderung abwärts (bis <7) und aufwärts (>1) mit Schrittweite 0.001

Skriptzeile

‘debug_print << fSeillaenge;

Erläuterung

Hiermit kann der Wert für die Seillänge ausgegeben werden. Entfernt man das Kommentarzeichen, kann dieser Wert über den Button Debug im Animationseditor ausgegeben werden.

Skriptzeile

this.beginAnimationScene();

Erläuterung

Diese Anweisung gibt dem Feature Baukran bekannt, dass die Eigenschaften der Animation verändert werden sollen. Um alle anderen Methoden eines Features aufrufen zu können, muss zuerst diese Methode aufgerufen werden.

Skriptzeile

this.Tripod_Rotor.RotateJoint( “Rotor_Tripod”, fRotation );

Erläuterung

Diese Anweisung lässt den Arm des Baukrans um den Winkel fRotation drehen.

Skriptzeile

this.Tripod_Rotor.Rotor_LiftTruck.LiftTruck_Cable.Scale( 1, 1 + fSeillaenge, 1 );

this.Tripod_Rotor.Rotor_LiftTruck.LiftTruck_Cable.Cable_Hook.RotateJoint (“Hook_Cable”, -1);

this.Tripod_Rotor.TranslateJoint( “Rotor_Tripod”, fSeillaenge*sin( fRotation ) , 0.0, fSeillaenge*cos( fRotation ) );

Erläuterung

Die Anweisungen steuern die Joint- Animation innerhalb des HierarchiKrans.

(siehe dazu Hierarchische Symbole)

Skriptzeile

this.endAnimationScene();

Erläuterung

Diese Anweisung greift auf den Baukran zu, und gibt ihm Bescheid, dass alle Manipulierungen abgeschlossen sind. Ab jetzt dürfen keine Methoden mehr auf this aufgerufen werden.

Skriptzeile

end

Erläuterung

Alle Skripte müssen mit end enden.

Start der Animation

Um die Funktion des Skripts zu überprüfen, kann die Animation sofort gestartet werden. Dazu muss das Skript “kompiliert” werden (wie auch die globale Initialisierung und das Steuerskript). Klicken Sie dazu links im Projektbaum mit der rechten Maustaste auf Baukran.ani und wählen Sie “Kompilieren”. Oder kompilieren Sie alle Skripte über das Kontextmenü (rechte Maustaste auf Projektmappe) – Projekt erstellen. Lesen Sie dann weiter unter Starten der Animation.

Start der Animation