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))
|
apply_scaled_hatches(doc, float(ratio))
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
print("[MASSSTAB] Hatch-Rescale:", ex)
|
print("[MASSSTAB] Hatch-Rescale:", ex)
|
||||||
# Raumstempel im masstab-Modus skalieren mit dem Scale-Wechsel —
|
# Neuen Wert ZUERST persistieren — sowohl per-Viewport (fuer das
|
||||||
# ihre TextHeight ist (paper_mm * scale / 1000) und muss neu
|
# Dropdown, damit jeder Viewport seinen eigenen Massstab behaelt) als
|
||||||
# gerendert werden. Lazy-Import um circular dep zu vermeiden.
|
# 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:
|
try:
|
||||||
import elemente as _el
|
import elemente as _el
|
||||||
n_regen = _el.regen_masstab_raeume(doc)
|
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))
|
print("[MASSSTAB] {} masstab-Raum/Raeume regenned".format(n_regen))
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
print("[MASSSTAB] Raumstempel-Regen:", 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()
|
try: doc.Views.Redraw()
|
||||||
except Exception: pass
|
except Exception: pass
|
||||||
print("[MASSSTAB] Skala 1:{:.2f} gesetzt (Faktor {:.4f}, soll-frustum {:.4f} {})".format(
|
print("[MASSSTAB] Skala 1:{:.2f} gesetzt (Faktor {:.4f}, soll-frustum {:.4f} {})".format(
|
||||||
|
|||||||
Reference in New Issue
Block a user