Zum Inhalt springen

CAD XML Syntax-Objekt VC_Hintergrundbild

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)

Das Hintergrundbild bindet eine Rasterbild-Datei (z. B. gescannter Riss, Orthofoto) lagerichtig in die CAD-Szene ein. Delphi-Klasse ist T2DBackgroundPicture (CAD\GLGeometrics.pas), abgeleitet von T3DBaseObject. Achtung: Das XML-Tag heißt VC_Hintergrundbild — OHNE das sonst übliche „CAD" im Namen (wie auch VC_Plotrahmen).

Strukturregel

<VC_Hintergrundbild>
  <VermCadID> … </VermCadID>                     (siehe VermCadID-Block; CADObjektArt=cadBackgroundPicture)
  [Basiselemente]                                (siehe Basiselemente; Layer ist Pflicht)
  [<Verankert>bool</Verankert>]
  <HBild_Dateiname>text</HBild_Dateiname>        (Dateiname/Pfad der Bilddatei)
  <HBild_Centre0>zahl</HBild_Centre0>            (Bildmittelpunkt X)
  <HBild_Centre1>zahl</HBild_Centre1>            (Bildmittelpunkt Y)
  <HBild_Centre2>zahl</HBild_Centre2>            (Bildmittelpunkt Z)
  <HBild_ZLevel>ganzzahl</HBild_ZLevel>
  <HBild_Width>zahl</HBild_Width>
  <HBild_Height>zahl</HBild_Height>
  <HBild_RotAngle>zahl</HBild_RotAngle>
  <HBild_ScaleWidth>zahl</HBild_ScaleWidth>
  <HBild_ScaleHeight>zahl</HBild_ScaleHeight>
  <HBild_SpiegelHor>bool</HBild_SpiegelHor>
  <HBild_SpiegelVert>bool</HBild_SpiegelVert>
  <HBild_Ausblenden>bool</HBild_Ausblenden>
  <HBild_HasMWTRef>bool</HBild_HasMWTRef>
</VC_Hintergrundbild>

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

Schreib-Vorbedingung: Die eigenen HBild_*-Elemente werden beim Speichern NUR geschrieben, wenn die Textur geladen ist UND die Bilddatei auf der Platte existiert — sonst landen nur VermCadID und Basisdaten in der Datei (und das Objekt überlebt das nächste Laden nicht, siehe Referenzen).

Elemente

Nur die eigenen Elemente von T2DBackgroundPicture:

Element Typ/Format Pflicht Default Bedeutung
Verankert bool nein False Bild ist verankert (nicht verschiebbar); wird beim Einpassen über World-File automatisch gesetzt
HBild_Dateiname text ja — Bilddatei. Geschrieben wird der projektrelative Pfad, wenn vorhanden (relativ zur Projektdatei), sonst der absolute; die Nutzereinstellung „Absolute Pfade" erzwingt absolute Pfade. Beim Lesen werden Pfade ohne Laufwerksangabe gegen den Projektdatei-Ordner aufgelöst
HBild_Centre0 / HBild_Centre1 / HBild_Centre2 zahl (Float) praktisch ja 0 Bildmittelpunkt X / Y / Z in Weltkoordinaten
HBild_ZLevel ganzzahl nein 0 Z-Ebene (Zeichenreihenfolge mehrerer Bilder)
HBild_Width / HBild_Height zahl (Float) praktisch ja — Bildgröße in Pixeln; historisch Integer — der Leser akzeptiert Float
HBild_RotAngle zahl (Float) nein 0 Drehwinkel des Bildes
HBild_ScaleWidth / HBild_ScaleHeight zahl (Float) praktisch ja — Skalierungsfaktor Breite / Höhe (Weltmaß pro Pixel-Anteil); bei unverzerrten Bildern identisch
HBild_SpiegelHor / HBild_SpiegelVert bool nein False horizontale / vertikale Spiegelung
HBild_Ausblenden bool nein False Bild ist ausgeblendet
HBild_HasMWTRef bool nein False Bild stammt aus einer Referenz in der MWT-Datei (MWT Syntax)

Beim Lesen wird der Textknoten NAN bei allen Float-Elementen ignoriert (Wert bleibt Default).

Referenzen

Das Hintergrundbild hat keine GUID-Referenzen auf andere CAD-Objekte, aber eine harte Datei-Referenz: In SetReferencesAndUpdate (nach dem Laden) gilt

  • leerer Dateiname → „Objekt wird nicht eingelesen" — das Bild wird verworfen;
  • Laufwerk oder Datei nicht vorhanden → Logeintrag „Hintergrundbild … konnte nicht gefunden werden. Objekt wird nicht eingelesen" — das Bild wird zerstört (siehe Lesemechanik).

Ein gültiges VC_Hintergrundbild setzt also voraus, dass die Bilddatei beim Laden erreichbar ist.

Minimalform

<VC_Hintergrundbild>
  <VermCadID>
    <GUID>{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}</GUID>
    <ObjektArt>oaCAD</ObjektArt>
    <CADObjektArt>cadBackgroundPicture</CADObjektArt>
  </VermCadID>
  <Layer>0</Layer>
  <HBild_Dateiname>bild.jpg</HBild_Dateiname>
  <HBild_Centre0>545000.0</HBild_Centre0>
  <HBild_Centre1>5721000.0</HBild_Centre1>
  <HBild_Centre2>0</HBild_Centre2>
  <HBild_Width>2000</HBild_Width>
  <HBild_Height>1500</HBild_Height>
  <HBild_ScaleWidth>0.1</HBild_ScaleWidth>
  <HBild_ScaleHeight>0.1</HBild_ScaleHeight>
</VC_Hintergrundbild>

bild.jpg muss neben der Projektdatei existieren, sonst wird das Objekt beim Laden verworfen.

Beispiele

Beispiel (Sachsen, echt)

<VC_Hintergrundbild>
  <VermCadID>
    <GUID>{76E4D488-…}</GUID>
    <ObjektArt>oaCAD</ObjektArt>
    <CADObjektArt>cadBackgroundPicture</CADObjektArt>
  </VermCadID>
  <Layer>1018</Layer>
  <Verankert>-1</Verankert>
  <HBild_Dateiname>4267USR3-3.jpg</HBild_Dateiname>
  <HBild_Centre0>3332591.62810421</HBild_Centre0>
  <HBild_Centre1>5683956.65895749</HBild_Centre1>
  <HBild_Centre2>0</HBild_Centre2>
  <HBild_ZLevel>0</HBild_ZLevel>
  <HBild_Width>21252</HBild_Width>
  <HBild_Height>28818</HBild_Height>
  <HBild_RotAngle>22.4573631286621</HBild_RotAngle>
  <HBild_ScaleWidth>0.0861217868039655</HBild_ScaleWidth>
  <HBild_ScaleHeight>0.0861217868039655</HBild_ScaleHeight>
  <HBild_SpiegelHor>0</HBild_SpiegelHor>
  <HBild_SpiegelVert>0</HBild_SpiegelVert>
  <HBild_Ausblenden>0</HBild_Ausblenden>
  <HBild_HasMWTRef>0</HBild_HasMWTRef>
</VC_Hintergrundbild>

Verfügbarkeit und Besonderheiten

  • Verfügbar in allen Bundesland-Versionen (kein IFDEF); in den drei Beispielprojekten nur in Sachsen belegt (1 Exemplar).
  • Legacy-Alias HBild_Scale: einheitlicher Skalierungsfaktor alter Dateien; wird nicht mehr geschrieben (write=False), beim Lesen setzt er sowohl ScaleWidth als auch ScaleHeight. Folgen in einer alten Datei danach noch HBild_ScaleWidth/HBild_ScaleHeight, überschreiben diese den Wert.
  • HBild_Width/HBild_Height wurden früher als Integer geschrieben; aktueller Stand ist Float — der Leser verarbeitet beides.
  • Schreibreihenfolge im Manager: Bilder als eigene Gruppe nach den Texten, vor den Plotrahmen.
  • Unterstützte Bildformate verarbeitet die FreeImage-Bibliothek (u. a. JPG, TIF, PNG, BMP); World-File-Einpassung (z. B. .jgw/.tfw) setzt Verankert automatisch.

Quellen im Code

  • CAD\GLGeometrics.pas:68197-68302 — T2DBackgroundPicture.DataToXMLLite (Schreib-Vorbedingung Textur+Datei, alle HBild_*-Elemente)
  • CAD\GLGeometrics.pas:68100-68195 — InternalCreateFromXML (Lesen inkl. Legacy HBild_Scale, NAN-Behandlung)
  • CAD\GLGeometrics.pas:68728-68755 — SetReferencesAndUpdate (Dateiname Pflicht, Datei muss existieren)
  • CAD\GLGeometrics.pas:69209-69237 — SetFileName/GetSaveFileName (relative/absolute Pfadlogik, Einstellung „Absolute Pfade")
  • VERMCAD\GlobalConsts.pas — Tag-Konstanten xn_Hintergrundbild=VC_Hintergrundbild, xn_HBild* (write_xn_HBildScale=False)



[Nach oben]