Raumstempel-Panel: Hoehe + Ausrichtung weg, kommt aus Oberleiste
UX-Konsolidierung: Texthoehe und Ausrichtung wurden bisher doppelt gesetzt (Panel + Oberleiste-Text-Block). Jetzt nur noch via Oberleiste wenn der Stempel selektiert ist — Panel zeigt nur noch den Skala-Modus (fix/masstab) als kompakten Dropdown. Backend: _sync_raum_stamps_to_source spiegelt jetzt auch TextHorizontalAlignment vom Stempel zur Source (Left/Center/Right → links/mid/rechts). Damit kommt die User-Wahl aus der Oberleiste sauber in die UserStrings — und wird beim naechsten Regen + bei Stil-Speichern korrekt uebernommen. Frontend RaumProperties: - Ausrichtung-Zeile (3 BarToggles) raus - Hoehe-Zeile reduziert auf Skala-Modus-Dropdown: "fix · Hoehe = Oberleiste-Wert (m)" | "masstab · skaliert mit Plan-Massstab" - Local-State txtH + setTxtH entfernt (unused) - Stempel-Stil-Speichern liest weiter raum.txtH + raum.align (kommen jetzt vom Sync) → captured korrekt
This commit is contained in:
+18
-1
@@ -12388,6 +12388,20 @@ def _sync_raum_stamps_to_source(doc):
|
||||
except Exception: new_bold = False
|
||||
try: new_ital = bool(cur_font.Italic) if cur_font else False
|
||||
except Exception: new_ital = False
|
||||
# Alignment aus der TextEntity — Mapping Rhino-Enum →
|
||||
# raum_align-String. Wenn Oberleiste die Ausrichtung via
|
||||
# TextHorizontalAlignment setzt, hier auf "links/mid/rechts"
|
||||
# mappen damit der naechste Regen die User-Wahl uebernimmt.
|
||||
try:
|
||||
h_align = te.TextHorizontalAlignment
|
||||
if h_align == Rhino.DocObjects.TextHorizontalAlignment.Left:
|
||||
new_align = "links"
|
||||
elif h_align == Rhino.DocObjects.TextHorizontalAlignment.Right:
|
||||
new_align = "rechts"
|
||||
else:
|
||||
new_align = "mid"
|
||||
except Exception:
|
||||
new_align = meta.get("raum_align", "mid")
|
||||
# Nur schreiben wenn was geaendert hat — vermeidet Modify-
|
||||
# Storms bei jedem Idle-Tick.
|
||||
old_dx = float(meta.get("raum_stamp_dx", 0.0))
|
||||
@@ -12396,6 +12410,7 @@ def _sync_raum_stamps_to_source(doc):
|
||||
old_face = meta.get("raum_txt_font", "") or ""
|
||||
old_bold = bool(meta.get("raum_txt_bold", False))
|
||||
old_ital = bool(meta.get("raum_txt_italic", False))
|
||||
old_align = meta.get("raum_align", "mid")
|
||||
# Im masstab-Modus ist die TextHeight am Stempel abgeleitet
|
||||
# (paper_mm * scale / 1000) — NICHT zurueck-spiegeln, sonst
|
||||
# waere der naechste Regen sofort verschoben. Wenn der User
|
||||
@@ -12409,7 +12424,8 @@ def _sync_raum_stamps_to_source(doc):
|
||||
(sync_height and abs(new_h - old_h) > 1e-6) or
|
||||
new_face != old_face or
|
||||
new_bold != old_bold or
|
||||
new_ital != old_ital
|
||||
new_ital != old_ital or
|
||||
new_align != old_align
|
||||
)
|
||||
if not changed: continue
|
||||
attrs = src_obj.Attributes.Duplicate()
|
||||
@@ -12417,6 +12433,7 @@ def _sync_raum_stamps_to_source(doc):
|
||||
"{:.6f}".format(new_dx))
|
||||
attrs.SetUserString(_KEY_RAUM_STAMP_DY,
|
||||
"{:.6f}".format(new_dy))
|
||||
attrs.SetUserString(_KEY_RAUM_ALIGN, new_align)
|
||||
if sync_height:
|
||||
attrs.SetUserString(_KEY_RAUM_TXT_H,
|
||||
"{:.4f}".format(new_h))
|
||||
|
||||
Reference in New Issue
Block a user