Erste Schritte
  • 13 May 2024
  • 6 Minutes to read
  • Dark
    Light
  • PDF

Erste Schritte

  • Dark
    Light
  • PDF

The content is currently unavailable in English. You are viewing the default German version.
Article summary

Allgemeines

Jede zur Laufzeit erstellte Grafik die im visuellen Parametersystem erzeugt wird, ist im Konfigurationsteilfenster Grafikanzeige zu sehen.

Je nach Initialisierung sind diverse Funktionalitäten (Zoomen, Drehen, Verschieben, ...) und Schaltflächen (Schattierung, Kantenverstärkung, Ansichten, …) verfügbar.

Kann man Objekte drehen und kann man Objekte vergrößern bzw. verkleinern, so hat man das System mit einer 3D-Lizenz aktiviert, andernfalls mit der Standardlizenz. Zum Entwickeln ist unbedingt eine 3D-Lizenz erforderlich, jedoch ist diese beim Ausliefern von Stammdatenroutinen nicht zwingend notwendig, da die Händler zumeist mit einer Innen- bzw. Außenansicht ohne Zoom- oder Drehfunktionalität auskommen.

In der Konfiguration kann via F8-Taste das Fenster Grafikanzeige als Einzelfenster dargestellt werden, oder durch nochmaliges Drücken wieder eingebettet werden (Standardeinstellung).

Grafikanzeige (ObjectViewer)

1 - Sichten

Jede erstellte Grafik kann in der Grafikanzeige (ObjectViewer) von den verschiedensten Winkeln aus betrachtet werden. Dies erreicht man am einfachsten dadurch, indem man die Rotationsache verändert. Meist reichen jedoch Standard-Sichten wie vorne und hinten aus. Solche fixen Sichten kann man vordefinieren und je nach Konfigurationsmodell einstellen.11

Im Warenstamm unter der Lasche Grafik kann man unter Grafik die Grafiksichten verändern.

Wenn das Eingabefeld ausgewählt kann mit der rechten Maustaste ein Menü aufrufen welches einen die Grafiksichten verändern lässt. Wählt man Anzeigen, Erfassen oder Ändern im PopUp-Menü aus, so erscheint eine Eingabemaske, wo alle bereits vorhandenen Sichten angezeigt und verändert bzw. neue hinzugefügt werden können. Diese sind je nach Stammdaten unterschiedlich – zumeist sind aber immer eine Innenansicht und eine Außenansicht vorhanden.

Die gängigsten Werte-Triple für die einzelnen Sichten sind folgende:

  • Vorne 90,180, 0

  • Hinten 90, 0, 0

  • Oben 180, 0, 180

  • Unten 180, 180, 0

  • Rechts 90, 90, 0

  • Links 90, -90, 0

  • Schrägriss 237, 33, 161

Jedes Objekt welches später wie auch immer erzeugt wird, besitzt eine Eigenschaft namens Layer (0, 1, 2, …) und jeder Layer kann mit Sichten verknüpft werden. Die Verknüpfung passiert via Ausschlussverfahren, d.h. man gibt für jede Sicht die Layers an, die nicht sichtbar sein sollen. Das bedeutet das alle Objekte die z.b. auf Layer 1 liegen auf einer Sicht nicht dargestellt werden, die eben Layer 1 ausschließen.

Ein klassisches Beispiel hierfür sind Bemaßungen, solche sind bei der Ansicht Vorderansicht mit Bemaßung sehr wohl sichtbar, aber in der Ansicht Vorderansicht eben nicht.

2 - Zoomen und Bewegen

Durch Anklicken der dementsprechenden Symbole kann in der Szenerie die Grafik verkleinert bzw. vergrößert werden. Denselben Effekt erzielt man natürlich auch durch Verwendung des Mausrades, die Handhabung ist hier intuitiv.

3 - Darstellung der Grafik

Hier kann man wenn diese Schaltflächen aktiviert sind zwischen schattierter Darstellung und schattierter Darstellung mit Kantenverstärkung wechseln. Die Schaltfläche Gitternetzlinien (Wireframe) hat keine Bedeutung mehr!

4 - Ansicht

Durch Anklicken des dementsprechenden Symbols wird die Grafik von vorne, hinten, oben, unten, links oder rechts betrachtet. Dies funktioniert jedoch nur wenn bei der Initialisierung die dementsprechenden Schaltflächen aktiviert worden sind.

5 - Rotation und Anzeigemodus und Beschriftung

Je gewählten Anzeigemodus wird die Grafik entweder mathematisch richtig und ohne Glanz dargestellt, oder es wird eine geschönte Form der Grafik mit Glanzeffekten gewählt:

Anzeigemodus Orthogonal:

Anzeigemodus Perspektive

Über die Beschriftungsschaltfläche können Händler zusätzlichen Text in der erstellten Grafik hinzufügen!

6 - Szenerie

Eine Szenerie ist eine Hierarchie von Objekten, wobei jedes Objekt über eine eindeutige Nummer (ID) identifiziert wird. Ein Objekt erhält seine ID wenn es geboren wird und behält diese ID solange die Szenerie existiert.

Alle Veränderungen eines Objektes erfordern also zwingend die Angabe dieser ID. Wird eine Funktion benutzt, die eine neues Objekt erzeugt und ist die Funktion nicht in der Lage diese Operation durchzuführen, so liefert die Funktion als ID den Wert 0 zurück. ID-Werte werden immer in Variablen gespeichert, diese sollten dementsprechend benannt werden.

Es gibt folgende Objekte zu unterscheiden:

  • Geometrien (Quader, Zylinder, Kegel, Kugeln, Tori (Reifen))

  • Körper die durch Extrusionen oder boolsche Operationen entstehen

  • Bemaßungen, Texte und geladene Objekte (z.B. Fenstergriffe)

  • Leere Objekte

    Enthalten zum Zeitpunkt der Geburt (CreateObject) noch kein Objekt, haben aber schon eine ID. Solche Objekte werden für mehrere Objekte verwendet die in Gruppen zusammengefasst werden.

Objekte und deren Verwaltung

Objekte besitzen immer folgende Eigenschaften

  • ID

  • Name

  • Layer (wichtig für Sichten)

  • Position (Lage im Raum)

  • Attribute

  • Fanginformation (Größe)

Die Geometrie legt das äußere Erscheinungsbild einer Geometrie fest. Diese wird durch die Angabe der Lageinformation in der 3D Welt positioniert. Zusätzlich kann ein Objekt noch einen beliebigen Satz an Attributen tragen. Attribute kann man sich als Name/Wert Paare vorstellen, d.h. bei einem Objekt wird ein bestimmter Wert unter einem bestimmten Namen abgespeichert.

Diese Attribute sind fixer Bestandteil des Objektes und was immer auch mit dem Objekt geschieht, es nimmt seinen Attributsatz mit. In gewisser Weise können Attribute daher als eine Art Variablen eines Objektes angesehen werden. Es gibt einen Satz von Standardattributen deren Namen und Bedeutung für ein Objekt festgelegt wurde, aber ansonsten kann nahezu jegliche Art von Information über ein Attribut an ein Objekt geknüpft werden.

Um ein Objekt farbig darzustellen, ist es notwendig, Materialinformation an das Objekt zu binden. Dies geschieht indem dem Objekt sein Materialname als Attribut zugeordnet wird. Die eigentliche Materialbeschreibung erfolgt getrennt vom Objekt. Materialien sind in Katalogen organisiert, die durch Herstellername und Katalogname eindeutig identifiziert werden (siehe Materialeditor).

Koordinatensystem und Objektpositionierung

Das verwendete Koordinatensystem ist ein sog. "Rechte-Hand-System". Versucht man mit der rechten Hand dieses Koordinatensystem nachzubilden, so zeigt der Daumen die Richtung der X-Achse, der Zeigefinger die Richtung der Y Achse und der Mittelfinger die Richtung der Z Achse an. Die X und Y Achse bilden gemeinsam die Grundplatte, während die Z-Achse als Höhe angesehen wird.

Objekte werden generell über den Punkt links/unten/vorne ihrer umhüllenden Box positioniert. Dazu wird das Objekt mit dem kleinsten noch möglichen, achsparallelen Quader eingehüllt (der Box) und diese mit ihrer kleinsten X, Y, Z Koordinate positioniert. Dieses Prinzip gilt für alle Objekte, auch Zylinder und Torus.

Grafikdatenmodell

Definition der Geometrie

Die Geometrie wird mit Polygonnetzen definiert. Dabei besteht die Geometrie auf unterster Ebene aus einer Anzahl von Punkten. Diese Punkte werden in Form von dreidimensionalen Vektoren gespeichert:

Die Punkte bilden Linien (Kanten), und die Linien bilden wiederum Flächen. Die Gesamtheit einer Geometrie, bestehend aus Punkten, Linien und Flächen, wird als Primitiv bezeichnet. Die verwendete Datenstruktur heißt Winged Edge Data Strukture. Eine andere Möglichkeit, eine Geometrie zu definieren, wäre z.B. als Constructive Solid Geometry. Beide Arten haben ihre Vor- und Nachteile.

Transformation von Objekten

Objekte werden transformiert (verschoben und/oder gedreht), indem die Punkte, aus denen sie bestehen, transformiert werden. Dazu werden die Punkte einer Transformationsmatrix multipliziert:

Eine Transformationsmatrix besteht aus 4 Zeilen und 3 Spalten:

In den ersten drei Zeilen stehen X-, Y- und Z-Achse. Durch die Achsen wird letztlich festgelegt, wie das Objekt rotiert werden soll. In der vierten Zeile steht die Position, zu der das Objekt verschoben werden soll. Die Länge einer jeden Achse muss 1 betragen. Es muss also gelten:

Hinweis: Eine Transformationsmatrix kann auch als Koordinatensystem interpretiert werden. Das globale Koordinatensystem ist gleich der Einheitsmatrix:

Eine wichtige Transformationsmatrix ist die Objektmatrix. Nachdem ein Objekt geladen wurde, wird es mit der Objektmatrix transformiert und damit in die Ausgangslage gebracht. Die Objektmatrix wird zusammen mit dem Objekt gespeichert. Oft befinden sich die Punkte eines Objektes nach dem Laden bereits in der Ausgangslage und müssen daher weder verschoben noch rotiert werden. Die Objektmatrix ist in diesem Fall die Einheitsmatrix. Ein Punkt, der mit der Einheitsmatrix multipliziert wird, behält seinen Wert.

Jedes Objekt im Objektbaum hat eine Transformationsmatrix. Jede Transformationsmatrix ist absolut zu verstehen. D. h. dass die jeweilige Transformationsmatrix angibt, wie das Objekt nach dem Laden zu transformieren ist, damit es in die gegenwärtige Lage im Raum kommt. Insbesondere werden die Matrizen von der Wurzel bis hin zu einem Blatt des Objektbaumes nicht aufmultipliziert. Wird ein Knoten transformiert, werden die Objektmatrizen der Kindobjekte nachgerechnet.

Die Matrix eines Objektes wird im Debug-Dialog des Objekt-Viewers angezeigt:

Objektboxen

Jedes Objekt hat eine Box. Dabei handelt es sich um einen Quader, der dem Objekt zugeordnet ist. Die Box wird zusammen mit dem Objekt gespeichert. Statt der Grafik eines Objektes wird oft dessen Box verwendet, wenn es z.B. darum geht, welche Dimensionen ein Objekt hat. Grund ist, dass Objekte aus tausenden und zehntausenden von Punkte bestehen kann, während die Box lediglich aus acht Eckpunkten besteht. Berechnungen können daher mit der Box viel schneller durchgeführt werden als mit den Punkten eines Objekts.

Eine Box wird durch zwei Punkte bestimmt. Der eine Punkt enthält die minimalen und der andere Punkt die maximalen Koordinaten der Box. Die Angaben sind im Objektkoordinatensystem zu verstehen. D.h. heißt im Koordinatensystem, das durch die Transformationsmatrix des Objektes gebildet wird. Eine Objektbox dreht sich dadurch z.B. mit, wenn das zugehörige Objekt rotiert wird.


Was this article helpful?

What's Next