Zum Inhalt springen

CAD XML Syntax-Objekt VC_CADBoeschung

Aus VermCAD Hilfe Wiki
Version vom 20. Juli 2026, 13:50 Uhr von Hahn (Diskussion | Beiträge) (CAD-XML-Syntax-Dokumentation (automatischer Import))
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Die Böschung stellt eine Böschungsschraffur zwischen zwei Kantenobjekten (Oberkante und Unterkante) dar. Delphi-Klasse ist T2DBoeschung (CAD\GLGeometrics.pas), abgeleitet direkt von T3DBaseObject, XML-Tag VC_CADBoeschung. Nicht verwechseln mit dem BoeschungsInfos-Container an Flächen (VC_CADFlaeche) — das ist eine andere, flächengebundene Böschungs-Variante.

Strukturregel

<VC_CADBoeschung>
  <VermCadID> … </VermCadID>                     (siehe VermCadID-Block; CADObjektArt=cadBoeschung)
  [Basiselemente]                                (siehe Basiselemente; Layer ist Pflicht)
  <Oberkante GUID="guid"/>
  <Unterkante GUID="guid"/>
  [<NumBoxes>ganzzahl</NumBoxes>]
</VC_CADBoeschung>

Geerbte Elemente: VermCadID-Block und Basiselemente; Werteformate: Werteformate.

Elemente

Nur die eigenen Elemente von T2DBoeschung:

Element Typ/Format Pflicht Default Bedeutung
Oberkante GUID-Attribut-Element ja — Referenz auf das Oberkanten-Objekt
Unterkante GUID-Attribut-Element ja — Referenz auf das Unterkanten-Objekt
NumBoxes ganzzahl nein 0 (INIT_T2DBOESCHUNG_FNUMBOXES, nicht geschrieben) Anzahl der Schraffur-Boxen (Unterteilungen der Böschungsschraffur); 0 = automatisch

Der Schraffur-Stil der Böschung kommt aus dem geerbten Basiselement BoeschungsSchraffurStil (Integer-Config-ID einer Böschungsschraffur-Definition; Default 2147483644 = nicht gesetzt/erben) — siehe Basiselemente.

Referenzen

Referenz Ziel Pflicht Verhalten bei fehlendem Ziel
Oberkante beliebiges T3DBaseObject mit Kanten-Geometrie — typischerweise eine Linie oder ein Linien-Kompo ja siehe unten
Unterkante wie Oberkante ja siehe unten

Auflösungsverhalten von T2DBoeschung.SetReferencesAndUpdate (nach dem Laden aller Objekte):

  • Fehlt eine der beiden GUIDs im XML → Logeintrag „hat nicht alle Verweis-GUIDs belegt. Objekt wird nicht eingelesen" — die Böschung wird verworfen.
  • Ziel-GUID (noch) nicht verarbeitet → Wiedervorlage-Liste; bleibt ein Ziel bis zum „LastTry" unauffindbar, wird die Böschung als fehlerhaft zerstört (harte Referenzen, siehe Lesemechanik).
  • Syntaktisch ungültige GUID → Böschung wird verworfen.

Nach der Auflösung trägt sich die Böschung bei beiden Kantenobjekten in deren ConnectedCADObjects ein; die Darstellung (Boxen, Schraffurlinien) wird komplett aus den Kanten-Geometrien neu berechnet und nicht gespeichert.

Minimalform

<VC_CADBoeschung>
  <VermCadID>
    <GUID>{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}</GUID>
    <ObjektArt>oaCAD</ObjektArt>
    <CADObjektArt>cadBoeschung</CADObjektArt>
  </VermCadID>
  <Layer>0</Layer>
  <Oberkante GUID="{XXXX…}"/>
  <Unterkante GUID="{XXXX…}"/>
</VC_CADBoeschung>

Beide GUIDs müssen auf existierende Objekte derselben Datei zeigen — sonst wird die Böschung beim Laden verworfen.

Beispiele

Beispiel (konstruiert — kein Bestandsbeleg)

Hinweis: In keinem der drei untersuchten Beispielprojekte (BW/Sachsen/THR) kommt ein VC_CADBoeschung-Objekt vor. Das folgende Beispiel ist nach den Code-Regeln konstruiert:

<VC_CADBoeschung>
  <VermCadID>
    <GUID>{A1B2C3D4-XXXX-XXXX-XXXX-XXXXXXXXXXXX}</GUID>
    <ObjektArt>oaCAD</ObjektArt>
    <CADObjektArt>cadBoeschung</CADObjektArt>
  </VermCadID>
  <Layer>346</Layer>
  <BoeschungsSchraffurStil>3</BoeschungsSchraffurStil>
  <Oberkante GUID="{B2C3D4E5-…}"/>
  <Unterkante GUID="{C3D4E5F6-…}"/>
  <NumBoxes>12</NumBoxes>
</VC_CADBoeschung>

Verfügbarkeit und Besonderheiten

  • Verfügbar in allen Bundesland-Versionen (kein IFDEF); in den drei Beispielprojekten aber ohne Bestandsbeleg.
  • Beim interaktiven Erzeugen (NewBoeschung) übernimmt die Böschung Farbe und Alpha von Ober-/Unterkante; im XML stehen diese Werte wie üblich nur bei Abweichung vom Default.
  • Schreibreihenfolge im Manager: Böschungen sind die letzte Objektgruppe (nach Punkten, Linien, Flächen, Kompos, Texten, Bildern, Plotrahmen) — ihre Kantenobjekte stehen beim Lesen also bereits im GUID-Suchbaum.
  • Renderreihenfolge (TCADObjArt): cadBoeschung liegt zwischen cadKompo und cadLinie.
  • Es werden nur die zwei Referenzen und NumBoxes persistiert; sämtliche Boxen-/Schraffurkoordinaten sind Laufzeitdaten.

Quellen im Code

  • CAD\GLGeometrics.pas:3782-3860 — Klassendeklaration T2DBoeschung (OK/UK als T3DBaseObject, FNumBoxes)
  • CAD\GLGeometrics.pas:67258-67313 — DataToXMLLite (Oberkante/Unterkante als GUID-Attribut-Elemente, NumBoxes nur ≠ 0)
  • CAD\GLGeometrics.pas:67174-67202 — InternalCreateComplexStructsFromXML (Lesen der OK/UK-GUIDs)
  • CAD\GLGeometrics.pas:67232-67255 — InternalCreateFromXML (NumBoxes)
  • CAD\GLGeometrics.pas:67803-67865 — SetReferencesAndUpdate (beide GUIDs Pflicht, Fehlerverhalten)
  • CAD\GLGeometrics.pas:66684-66738 — Konstruktoren (Init-Werte, Farb-/Alpha-Übernahme)
  • CAD\GLConsts.pas:513-583 — INIT_T2DBOESCHUNG_FNUMBOXES = 0
  • VERMCAD\GlobalConsts.pas — Tag-Konstanten xn_CADBoeschung=VC_CADBoeschung, xn_OK=Oberkante, xn_UK=Unterkante, xn_NumBoxes



[Nach oben]