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:
@@ -114,6 +114,8 @@ export function translateProject(project: Project, dx: number, dy: number): Proj
|
||||
return { ...d, geom: { ...g, pts: shiftAll(g.pts, dx, dy) } };
|
||||
case "dimension":
|
||||
return { ...d, geom: { ...g, a: shift(g.a, dx, dy), b: shift(g.b, dx, dy) } };
|
||||
case "kote":
|
||||
return { ...d, geom: { ...g, at: shift(g.at, dx, dy) } };
|
||||
case "text":
|
||||
return { ...d, geom: { ...g, at: shift(g.at, dx, dy) } };
|
||||
case "image":
|
||||
|
||||
@@ -1534,6 +1534,22 @@ export type Drawing2DGeom =
|
||||
* andere Elemente — Assoziativität nur über die eigenen Endpunkte).
|
||||
*/
|
||||
| { shape: "dimension"; a: Vec2; b: Vec2; offset: number }
|
||||
/**
|
||||
* Höhenkote (SIA 400 B.5.4, Figur 18): Dreieck-Symbol + Höhenwert (Meter,
|
||||
* ±0.00-Referenz frei wählbar, s. Norm) an einem Punkt. `kind` bestimmt
|
||||
* Dreieck-Richtung (OK = Spitze nach unten, UK = Spitze nach oben) UND
|
||||
* Füllung (fertig = Kontur/hohl, roh = voll gefüllt) — vier norm-genaue
|
||||
* Varianten, die fünfte („OK fertig UND roh kombiniert") ist nicht gebaut.
|
||||
* `at` ist die SPITZE des Dreiecks (der exakte referenzierte Punkt).
|
||||
*/
|
||||
| {
|
||||
shape: "kote";
|
||||
at: Vec2;
|
||||
value: number;
|
||||
kind: "okFertig" | "ukFertig" | "okRoh" | "ukRoh";
|
||||
/** Drehung (Radiant); Werkzeug erzeugt bewusst nur 0, s. Ellipse-Muster. */
|
||||
rotation: number;
|
||||
}
|
||||
| {
|
||||
shape: "text";
|
||||
at: Vec2;
|
||||
|
||||
Reference in New Issue
Block a user