diff --git a/rhino/elemente.py b/rhino/elemente.py
index 78c0231..ef59bdf 100644
--- a/rhino/elemente.py
+++ b/rhino/elemente.py
@@ -9315,6 +9315,7 @@ class ElementeBridge(panel_base.BaseBridge):
"ok": ok,
"layered": bool(meta.get("wand_layered", False)),
"layers": meta.get("wand_layers", []),
+ "styleId": meta.get("wand_style_id", "") or "",
})
elif meta["type"] == "decke_outline":
uk, ok = _resolve_decke_z(doc, meta["geschoss"], meta["dicke"],
@@ -9641,6 +9642,7 @@ class ElementeBridge(panel_base.BaseBridge):
{"name": n, "color": m["color"]}
for n, m in _get_all_materials(doc).items()],
"oeffStyles": list_oeff_styles(doc),
+ "wandStyles": _get_all_wand_styles(doc),
"raumStempelStile": load_raum_stempel_stile(doc),
"stempelStile": load_stempel_stile(doc),
"treppe2DShow": _treppe_2d_enabled(doc),
@@ -14296,6 +14298,21 @@ class ElementeBridge(panel_base.BaseBridge):
attrs.LayerIndex = _ensure_layer(doc, _layer_path_decke(doc, geschoss_name))
elif old_meta["type"] == "dach_outline":
attrs.LayerIndex = _ensure_layer(doc, _layer_path_dach(doc, geschoss_name))
+ # Wand-Stil: bei Stil-Wechsel uebernehmen wir dicke aus dem Style
+ # (defaults), die Referenz bleibt erhalten. User kann dicke danach
+ # individuell wieder ueberschreiben.
+ if old_meta["type"] == "wand_axis" and "styleId" in p:
+ new_style_id = p.get("styleId") or ""
+ if new_style_id != old_meta.get("wand_style_id", ""):
+ stl = _find_wand_style(doc, new_style_id)
+ if stl is not None:
+ # dicke nur uebernehmen wenn User nicht explizit dicke
+ # ueberschrieben hat im selben Patch
+ if "dicke" not in p:
+ try: dicke = float(stl.get("dicke", dicke))
+ except Exception: pass
+ else:
+ new_style_id = old_meta.get("wand_style_id", "")
# Wenn layered + Layers gegeben: dicke aus Summe nachfuehren
if wand_layered and wand_layers:
try:
@@ -14315,7 +14332,8 @@ class ElementeBridge(panel_base.BaseBridge):
neigung_unten=neigung_unten, knick_h=knick_h,
dach_variante=dach_variante,
wand_layered=wand_layered,
- wand_layers=wand_layers if wand_layered else [])
+ wand_layers=wand_layers if wand_layered else [],
+ wand_style_id=new_style_id if old_meta["type"] == "wand_axis" else None)
axis_obj.Attributes = attrs
axis_obj.CommitChanges()
# Volumen regenerieren (Layer ggf. anpassen)
diff --git a/src/ElementeApp.jsx b/src/ElementeApp.jsx
index 7a93124..87d9c49 100644
--- a/src/ElementeApp.jsx
+++ b/src/ElementeApp.jsx
@@ -527,12 +527,13 @@ function NeuesElementSection({ noGeschoss, activeName, elementsCount, treppe2DSh
// PropertiesView: gemeinsame Komponente, rendert die passende Property-
// Form je nach Element-Typ. Wiederverwendbar in Inline + Satellite-Window.
-export function PropertiesView({ selected, geschosse, materials, hatchPatterns, oeffStyles, fonts, raumStempelStile, stempelStile }) {
+export function PropertiesView({ selected, geschosse, materials, hatchPatterns, oeffStyles, wandStyles, fonts, raumStempelStile, stempelStile }) {
if (!selected) return null
const upd = (p) => updateElement(selected.id, p)
const del = (label) => () => { if (window.confirm(`${label} löschen?`)) deleteElement(selected.id) }
if (selected.kind === 'wand')
return