Masstab: Persist vor Raum-Regen — sonst regent mit alter Skala
regen_masstab_raeume liest get_applied_scale_ratio() um die paper-mm- Hoehe in Modell-m umzurechnen. Lief bisher VOR _set_applied_scale_for_vp → las immer noch den alten Wert. Resultat: nach Skala-Wechsel war die Stempel-Hoehe um die alte Skala berechnet, naechster Wechsel um die vorletzte usw. Reihenfolge korrigiert: erst write_user_scale + set_applied_scale_for_vp, DANN regen_masstab_raeume.
This commit is contained in:
+11
-12
@@ -890,9 +890,17 @@ def _apply_scale(doc, vp, ratio):
|
||||
apply_scaled_hatches(doc, float(ratio))
|
||||
except Exception as ex:
|
||||
print("[MASSSTAB] Hatch-Rescale:", ex)
|
||||
# Raumstempel im masstab-Modus skalieren mit dem Scale-Wechsel —
|
||||
# ihre TextHeight ist (paper_mm * scale / 1000) und muss neu
|
||||
# gerendert werden. Lazy-Import um circular dep zu vermeiden.
|
||||
# Neuen Wert ZUERST persistieren — sowohl per-Viewport (fuer das
|
||||
# Dropdown, damit jeder Viewport seinen eigenen Massstab behaelt) als
|
||||
# auch als globaler "letzter Wert". WICHTIG: vor dem Raumstempel-
|
||||
# Regen weil _resolve_raum_text_height_m get_applied_scale_ratio()
|
||||
# liest — sonst regennt mit ALTER Skala.
|
||||
_write_user_scale(doc, ratio)
|
||||
try:
|
||||
_set_applied_scale_for_vp(doc, vp.Name, float(ratio))
|
||||
except Exception as ex:
|
||||
print("[MASSSTAB] per-vp scale write:", ex)
|
||||
# Raumstempel im masstab-Modus regennen mit der NEUEN Skala.
|
||||
try:
|
||||
import elemente as _el
|
||||
n_regen = _el.regen_masstab_raeume(doc)
|
||||
@@ -900,15 +908,6 @@ def _apply_scale(doc, vp, ratio):
|
||||
print("[MASSSTAB] {} masstab-Raum/Raeume regenned".format(n_regen))
|
||||
except Exception as ex:
|
||||
print("[MASSSTAB] Raumstempel-Regen:", ex)
|
||||
# Neuen Wert persistieren — sowohl per-Viewport (fuer das Dropdown,
|
||||
# damit jeder Viewport seinen eigenen Massstab behaelt) als auch als
|
||||
# globaler "letzter Wert" (Legacy-Key; wird von Plotweight/Hatch-Rescale
|
||||
# doc-weit benutzt — dort ist nur EIN Faktor sinnvoll).
|
||||
_write_user_scale(doc, ratio)
|
||||
try:
|
||||
_set_applied_scale_for_vp(doc, vp.Name, float(ratio))
|
||||
except Exception as ex:
|
||||
print("[MASSSTAB] per-vp scale write:", ex)
|
||||
try: doc.Views.Redraw()
|
||||
except Exception: pass
|
||||
print("[MASSSTAB] Skala 1:{:.2f} gesetzt (Faktor {:.4f}, soll-frustum {:.4f} {})".format(
|
||||
|
||||
Reference in New Issue
Block a user