Zum Inhalt springen

MWT Syntax-Block SOLLWERTE: Unterschied zwischen den Versionen

Aus VermCAD Hilfe Wiki
MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs)
MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs)
Zeile 72: Zeile 72:


{{Hilfe:NachOben}}
{{Hilfe:NachOben}}
[[Kategorie:MWT Syntax-Blöcke mit Messwerten oder Koordinaten|SOLLWERTE]]
[[Kategorie:Blöcke mit Messwerten oder Koordinaten|SOLLWERTE]]

Version vom 20. Juli 2026, 14:54 Uhr

Der Block SOLLWERTE entspricht syntaktisch vollständig dem Block VORGABEN. Zusätzlich setzt der Compiler in jedem Punkt automatisch die Soll-Kennung (interne Flags ifDesiredYX/ifDesiredZ, entspricht Flag S) — der Block enthält also ausschließlich vorgegebene Sollkoordinaten.

Syntaxregel

SOLLWERTE [<Systemangabe>] [, <HeaderInfo>]*
  {<Datenzeile> ;}*
END[;]

<Systemangabe> ::= LS <n> [HS <n>] | HS <n> [LS <n>] | KOORDINATENSYSTEM <n> | lokal | lokal_DE
<Datenzeile>   ::= <PunktIdent> { <Bezeichner> = <Wert> }*

Systemangabe, Header-Infos und Datenzeilen sind identisch zu VORGABEN (dort dokumentiert).

Parameter

Parameter Syntax Pflicht Bedeutung Bundesland
alle VORGABEN-Header siehe VORGABEN bzw. Blockkopf-Parameter nein Shift-Koordinaten (y,x[,z]), A=, AT, M=, ZP=, VRK, NE, REM=, DATUM=/ZEIT=/DEV=/PNR= … alle

Datenzeilen

Wie bei VORGABEN:

<PunktIdent>  Y = <w>  X = <w>  [Z = <w>]  [SYM = <code>] [REM = '…'] ;
  • Das Flag S muss nicht angegeben werden — es gilt implizit für jeden Punkt des Blocks (Lage und Höhe).
  • Weitere Flags (insbesondere A für Anschlusspunkte) sind zusätzlich möglich: ein Sollwert ohne Flag A ist keine Anschlusskoordinate.

Unterschied VORGABEN ↔ SOLLWERTE

VORGABEN SOLLWERTE
Soll-Kennung (Flag S) nur wenn je Punkt explizit gesetzt automatisch für alle Punkte (ifDesiredYX/ifDesiredZ)
zulässige Punktarten gemischte Vorgaben: Sollwerte (S), Bedingungskoordinaten (B), „vorgegebene Messwerte" (ohne Flag) nur Sollkoordinaten
Veränderbarkeit der Punkte Punkte ohne S/B können durch Messung/Berechnung neu bestimmt werden Koordinaten werden angehalten; Änderung nur über # hinter der Punktnummer bzw. Flag B*

Alles Übrige (Systemangaben, Transformationslogik, Header) ist identisch.

Beispiele

Beispiel (Thüringen)

SOLLWERTE  LS 489
  40  2    20025 010  S    Y  =32694311.438   X  =5590447.132   SYM = 101;
END

Beispiel (Verschiebung, konstruiert nach Regel)

SOLLWERTE, (3000, 1000, 100)
  xx  x    70  x   A    Y  =   0.000   X  = 316.576;
  xx  x    10  x   A    Y  =   0.000   X  =   0.000;
END

(VermCad ergänzt beim Speichern binäre Codierungszeilen; sie sind hier weggelassen.)

Verfügbarkeit und Besonderheiten

  • Technisch in allen Bundesland-Versionen verfügbar; in der Praxis vor allem in Thüringen und Sachsen verbreitet (Kontroll-Sollwerte).
  • ALKIS-Hinweis: Punkte ohne endgültige ALKIS-ID sollten nicht als gegebene Sollpunkte geführt werden (Widersprüche in ALKIS-Projekten).
  • lokal_DE-Variante nur Sachsen-Anhalt (wie VORGABEN).

Entwicklerhinweise

Diese Angaben richten sich an Entwickler bzw. eine KI mit Zugriff auf den VermCad-Quellcode; für die reine Nutzung der MWT-Syntax sind sie nicht nötig. Unit-Namen und besonders Zeilennummern können sich durch die laufende Weiterentwicklung verschieben - sie dienen als Einstieg, nicht als exakte Fundstelle.

Quellen im Code:

  • VCSCHMWT.PAS:4396-4607 — gemeinsamer CASE-Zweig kSollwerte/kVorgaben (Systemangabe, Header)
  • VCSCHMWT.PAS:4709-4710 — IF BlockKind = kSollwerte THEN DataPunkt.SetFlags([ifDesiredYX, ifDesiredZ], TRUE)
  • VCSCHMWT.PAS:2418-2845 — ReadBlockHeaderInfos
  • GlobalTypes.pas:1516 ff. — TBlockKind (kSollwerte)



[Nach oben]