Zum Inhalt

ID 15 – Output ellipse – ISO 11783-6 – B.10.4

Das Output Ellipse Objekt mit der ID 15 dient zum Zeichnen von Kreisen, Ellipsen sowie Kreisbögen, Segmenten und Sektoren (Tortendiagramm-Stücke).

Attribute und Record Format (Tabelle B.31)

Die folgende Tabelle beschreibt den Aufbau des Output Ellipse Objekts im Objektpool.

AID Name Typ Größe (Bytes) Bereich / Wert Record Byte Beschreibung
- Object ID Integer 2 0 – 65534 1 – 2 Eindeutige ID im Objektpool.
[0] Type Integer 1 15 3 Objekttyp = Ellipse.
[1] Line attributes Integer 2 0 – 65534 4 – 5 Objekt-ID eines Line Attributes Objekts (für den Umriss).
[2] Width Integer 2 0 – 65535 6 – 7 Breite des umschließenden virtuellen Rechtecks.
[3] Height Integer 2 0 – 65535 8 – 9 Höhe des umschließenden virtuellen Rechtecks.
[4] Ellipse type Integer 1 0 – 3 10 0=Closed Ellipse, 1=Open Ellipse (Bogen), 2=Segment (Sehne), 3=Sector (Tortestück).
[5] Start angle Integer 1 0 – 180 11 Startwinkel / 2 (in Grad, gegen den Uhrzeigersinn ab positiver X-Achse).
[6] End angle Integer 1 0 – 180 12 Endwinkel / 2 (in Grad, gegen den Uhrzeigersinn ab positiver X-Achse).
[7] Fill attributes Integer 2 0 – 65534, 65535 13 – 14 Objekt-ID eines Fill Attributes Objekts (für die Füllung) oder NULL für keine Füllung.
- Number of macros to follow Integer 1 0 – 255 15 Anzahl der folgenden Makro-Referenzen.
- Repeat: Integer 1 0 – 255 var. Event ID, die das Makro auslöst.
- {Macro ID} Integer 1 0 – 255 var. Makro ID des auszuführenden Makros.

Ellipsentypen und Geometrie

Die Ellipse wird in ein virtuelles Rechteck (Width x Height) eingepasst.

  • Closed Ellipse (0): Eine vollständige Ellipse oder ein Kreis (wenn Width = Height).
  • Open Ellipse (1): Nur der Bogen zwischen Start- und Endwinkel wird gezeichnet.
  • Segment (2): Ein Kreisabschnitt (die Sehne zwischen den Winkelpunkten wird geschlossen).
  • Sektor (3): Ein Kreisausschnitt (die Winkelpunkte werden mit dem Mittelpunkt verbunden, ideal für Tortendiagramme).

Winkelberechnung (Wichtig!)

Die Winkelwerte in AID 5 und 6 werden halbiert übertragen (Bereich 0-180 entspricht 0-360°). * 90° (Oben): Wert 45 * 180° (Links): Wert 90 * 270° (Unten): Wert 135

Besonderheit bei skalierten Ellipsen: Wenn die Ellipse kein Kreis ist (Width != Height), muss das VT sicherstellen, dass die Winkel mathematisch korrekt gezeichnet werden und nicht nur ein skalierter Kreisbogen dargestellt wird (siehe ISO-Norm Figure B.8).

Ereignisse (Events - Tabelle B.30)

Das Output Ellipse Objekt reagiert auf folgende Ereignisse:

  • On Change Size: Wird ausgelöst, wenn die Größe des Rechtecks zur Laufzeit geändert wird.
  • On Change Attribute: Wird ausgelöst, wenn sich Linien- oder Füllattribute (z. B. Farben) ändern.
  • On Refresh: Wird ausgelöst, wenn das VT das Objekt neu zeichnen muss.

Bedeutung für die Implementierung

Ellipsen und Sektoren sind unverzichtbar für die Erstellung von analogen Zeigerinstrumenten (Meters) oder Fortschrittsanzeigen. Durch die dynamische Änderung des End angle per ECU-Kommando lassen sich füllende Kreisbögen realisieren, die intuitiv Zustände visualisieren.

Weitere Informationen und Beispiele finden sich im ISOBUS Wiki - Ellipse von Tobias Tenberg.


Hinweis: Für detaillierte Spezifikationen zu Datentypen und Nachrichtenformaten wird auf die offizielle ISO 11783-6:2018 verwiesen.