CAD XML Syntax-Objekt VC_AreaCADLTK und VC_AreaCADAlkisDE
Spezial-Flächen der Sachsen-Anhalt-Version (LTK = Linien-Teilungs-Kennzeichnung/„Zitronenschalen", DE = ALKIS-Dateneinheiten). Delphi-Klassen sind T2DAreaLTK (XML-Tag VC_AreaCADLTK) und T2DAreaAlkisDE (XML-Tag VC_AreaCADAlkisDE), beide in CAD\GLGeometrics.pas und nur unter {$IFDEF Anhalt} übersetzt. Beide erben über die Zwischenklasse T2DAreaLTKDE von T2DArea — die gesamte Rand-Mechanik entspricht VC_CADFlaeche.
VC_AreaCADLTK
Strukturregel
<VC_AreaCADLTK>
<VermCadID> … </VermCadID> (siehe VermCadID-Block; CADObjektArt=cadFlaeche)
[Basiselemente] (siehe Basiselemente; Layer ist Pflicht)
<Rand>
<Exterior GUID="guid"/>
{<Interior GUID="guid"/>}*
</Rand>
</VC_AreaCADLTK>
T2DAreaLTK hat keine eigenen XML-Elemente — es wird exakt die T2DArea-Serialisierung geerbt (Rand + optional BoeschungsInfos + Basiselemente). Das einzige Unterscheidungsmerkmal in der Datei ist das Wurzeltag.
Referenzen
Wie bei VC_CADFlaeche: Exterior ist harte Pflicht-Referenz auf eine geschlossene Kurve, Interior weich. Die Verknüpfung zu den beiden LTK-Bezugspunkten (BezugspunkteItem) wird nicht im Objekt gespeichert — sie wird nach dem Laden von der ALKIS-Seite (LTK-Daten in der VC_AlkisDaten-Sektion) wiederhergestellt.
VC_AreaCADAlkisDE
Strukturregel
<VC_AreaCADAlkisDE>
<VermCadID> … </VermCadID> (siehe VermCadID-Block; CADObjektArt=cadFlaeche)
[Basiselemente]
<Rand>
<Exterior GUID="guid"/>
{<Interior GUID="guid"/>}*
</Rand>
<AlkisDEShowPermanent>bool</AlkisDEShowPermanent> (wird immer geschrieben)
<AlkisDEItemName>text</AlkisDEItemName> (wird immer geschrieben)
</VC_AreaCADAlkisDE>
Elemente
Nur die eigenen Elemente von T2DAreaAlkisDE:
| Element | Typ/Format | Pflicht | Default | Bedeutung |
|---|---|---|---|---|
AlkisDEShowPermanent |
bool (-1/0) | nein (wird aber immer geschrieben) | False | DE-Fläche permanent anzeigen (sonst nur, wenn das DE-Item die aktuelle CAD-Repräsentation ist) |
AlkisDEItemName |
String | ja (für die DE-Verknüpfung) | Name der ALKIS-Dateneinheit — namensbasierte Verknüpfung: die ALKIS-Seite (TAlkisDE) sucht nach dem Laden die CAD-Fläche, deren AlkisDEItemName ihrem Namen entspricht. Fehlt der Name oder gibt es die DE nicht mehr, bleibt die Fläche unverknüpft (weich, kein Objektverlust)
|
Minimalform
<VC_AreaCADAlkisDE>
<VermCadID>
<GUID>{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}</GUID>
<ObjektArt>oaVC</ObjektArt>
<CADObjektArt>cadFlaeche</CADObjektArt>
</VermCadID>
<Layer>-102</Layer>
<Rand>
<Exterior GUID="{XXXX…}"/>
</Rand>
<AlkisDEShowPermanent>0</AlkisDEShowPermanent>
<AlkisDEItemName>DE 10-56 / 10-57</AlkisDEItemName>
</VC_AreaCADAlkisDE>
Für VC_AreaCADLTK gilt dieselbe Minimalform ohne die beiden DE-Elemente. Die Exterior-GUID muss auf ein existierendes geschlossenes Ring-Objekt zeigen, sonst wird die Fläche beim Laden verworfen.
Beispiele
Beispiel (KONSTRUIERT — die drei Beispielprojekte sind BW/Sachsen/THR, kein Anhalt-Beleg vorhanden)
<VC_AreaCADLTK>
<VermCadID>
<GUID>{1A2B3C4D-…}</GUID>
<ObjektArt>oaVC</ObjektArt>
<CADObjektArt>cadFlaeche</CADObjektArt>
</VermCadID>
<Layer>-102</Layer>
<Rand>
<Exterior GUID="{5E6F7A8B-…}"/>
</Rand>
</VC_AreaCADLTK>
Verfügbarkeit und Besonderheiten
- Nur Sachsen-Anhalt (
{$IFDEF Anhalt}): In allen anderen Bundesland-Versionen sind die Tags nicht in der Objekt-Factory registriert — die Elemente würden beim Laden stillschweigend ignoriert. - Kein Bestandsbeleg: In den drei untersuchten Beispielprojekten (BW/Sachsen/THR) kommen beide Tags nicht vor; alle Beispiele auf dieser Seite sind nach den Code-Regeln konstruiert.
- KS-0-Bindung: Beim Referenzen-Update setzen beide Klassen
Deleted := True, wenn die umgebendeVCCADDaten-Sektion nicht KSID 0 ist — LTK-/DE-Flächen leben nur im Koordinatensystem 0 und werden in anderen KS-Sektionen beim Laden entsorgt (und nicht erneut gespeichert). - Beide Objekte sind im CAD nie verschiebbar — sie folgen ihren Bezugspunkten (Geometrie wird von der ALKIS-Seite aktualisiert).
- Schreibreihenfolge im Manager:
T2DAreaLTKwird in der Objektgruppe „Flächen" geschrieben,T2DAreaAlkisDEals eigene Gruppe direkt danach (beide nur Anhalt). - Sichtbarkeit der DE-Fläche zur Laufzeit: nur wenn
AlkisDEShowPermanentgesetzt ist oder das DE-Item gerade als CAD-Repräsentation aktiv ist.
Quellen im Code
CAD\GLGeometrics.pas:3601-3651— KlassendeklarationenT2DAreaLTKDE/T2DAreaLTK(keine eigenen XML-Methoden bei LTK)CAD\GLGeometrics.pas:3653-3702— KlassendeklarationT2DAreaAlkisDECAD\GLGeometrics.pas:65419-65454—T2DAreaAlkisDE.DataToXMLLite(beide Elemente bedingungslos)CAD\GLGeometrics.pas:65528-65554—T2DAreaAlkisDE.InternalCreateFromXMLCAD\GLGeometrics.pas:65115-65125und65380-65389—SetReferencesAndUpdate(Deleted bei KSID ≠ 0)Alkis\TAlkisDEUnit.pas:334— namensbasierte Suche der CAD-Fläche überAlkisDEItemNameCAD\GLGeometrics.pas:97015, 97016ff— Factory-Registrierung (nur Anhalt)VERMCAD\GlobalConsts.pas:4702— Tag-Konstantenxn_AlkisDEItemName/xn_AlkisDEShowPermanent