2D: Höhenkoten-Werkzeug + Masskette bleibt gerade + Punkt-Notation

Neues Werkzeug "Höhenkote" (SIA 400 B.5.4, Figur 18): Dreieck-Symbol +
Höhenwert an einem Punkt. Vier Varianten (OK/UK × fertig/roh) bestimmen
Dreieck-Richtung und Füllung, per Option umschaltbar. Die Norm ordnet
Zahlen UNTERHALB einer Masslinie explizit Höhenmassen zu — das war der
eigentliche Grund, warum ein separater Typ statt einer Bemassungs-Variante
nötig war.

Bemassungs-Korrektur: eine Masskette bleibt beim Zeichnen immer eine
GERADE Linie (Klicks ab dem dritten Punkt werden auf die durch Punkt 1/2
festgelegte Gerade projiziert), auch wenn die Bedienung wie eine Polylinie
funktioniert — vorher konnte man versehentlich einen Zickzack-Pfad
erzeugen.

Ausserdem: Masszahlen nutzen jetzt Punkt- statt Komma-Notation ("3.96"
statt "3,96") — die tatsächlich gezeichneten Beispiele in der Norm
(Figur 13/14/18) verwenden durchgängig den Punkt, nicht das Komma aus der
abstrakten B.5.2-Beispielliste.
This commit is contained in:
2026-08-22 02:32:11 +02:00
parent 4c7fc99eb8
commit 2dc57d01a5
21 changed files with 433 additions and 19 deletions
+10 -1
View File
@@ -183,7 +183,9 @@ export const en: Record<TranslationKey, string> = {
"tool.bezier": "Bezier",
"tool.bezier.hint": "Bezier: anchor, handle 1, handle 2, end point — per segment; Enter finishes",
"tool.dimension": "Dimension",
"tool.dimension.hint": "Dimension: click points like a polyline, double-click/Enter finishes, then set the dimension line position (chains in one gesture)",
"tool.dimension.hint": "Dimension: click points like a polyline (point 3+ snaps to a straight line), double-click/Enter finishes, then set the dimension line position (chains in one gesture)",
"tool.kote": "Elevation mark",
"tool.kote.hint": "Elevation mark: set a point, then type the height value (type toggle: top/bottom, finished/raw)",
"tool.text": "Text",
"tool.text.hint": "Text: set anchor point, then type the text",
"tool.textbox": "Text column",
@@ -1157,6 +1159,13 @@ export const en: Record<TranslationKey, string> = {
"cmd.dimension.offset": "Dimension line position:",
"cmd.dimension.undo": "Undo",
"cmd.dimension.finish": "Finish",
"cmd.kote.label": "Elevation mark",
"cmd.kote.point": "Point:",
"cmd.kote.value": "Height value ( Type ):",
"cmd.kote.kind.okFertig": "Top, finished",
"cmd.kote.kind.ukFertig": "Bottom, finished",
"cmd.kote.kind.okRoh": "Top, raw",
"cmd.kote.kind.ukRoh": "Bottom, raw",
"cmd.field.offset": "Offset",
"cmd.text.label": "Text",
"cmd.text.point": "Anchor point:",