T-Junction Phase 2 mit 3D Brep Union + Material-Prio-Carve

Asymmetric L-merge fuer Schichtdurchdringung:
- Backbone (= hoechste Material-Prio in beiden Waenden) bildet T-form
- Non-backbone Layer werden gecarved mit backbone-Column + through-Bands
  hoeherer Prio
- ext=0 fuer T-Stem-Axis (= column endet am snap, kein "drueber")
- 3D Brep Union via Brep.CreateBooleanUnion mit cross-junction safety
  (= aktueller through-Brep statt von Meta neu zu bauen)
- Cleanup: MergeCoplanarFaces

Plus:
- Innenwand Beton 20cm Style (Putz + Beton + Putz, ref-mid)
- curve_vertex_dots.py: gruene Vertex-Punkte fuer Polylinen/Curves
- Cluster-Volume Select Handler: Shift-Modifier fuer Multi-Select
- startup.py: Top-View maximieren on Doc-Open

Known limitation: Putz-Schicht kann in bestimmten Konfigurationen visuell
suedlich des Daemm-Band-Top weiter sichtbar sein (= edge case fuer
asymmetric layers). Naechster Schritt: manuelle 2D-Polygon-Konstruktion
statt 3D Boolean.
This commit is contained in:
2026-06-01 14:32:55 +02:00
parent 9cce8199c3
commit df56a54b66
4 changed files with 756 additions and 51 deletions
+16
View File
@@ -349,6 +349,22 @@ _PROJECT_SETTINGS_DEFAULTS = {
{"material": "Daemmung", "dicke": 0.10},
{"material": "Putz", "dicke": 0.02},
]},
{"id": "style_innen_holz", "name": "Innenwand Holzstaender 14 cm",
"prio": 250, "dicke": 0.14, "referenz": "mid",
"layered": True, "material": "",
"layers": [
{"material": "Putz", "dicke": 0.015},
{"material": "Holzstaender", "dicke": 0.110},
{"material": "Putz", "dicke": 0.015},
]},
{"id": "style_innen_beton", "name": "Innenwand Beton 20 cm",
"prio": 700, "dicke": 0.23, "referenz": "mid",
"layered": True, "material": "",
"layers": [
{"material": "Putz", "dicke": 0.015},
{"material": "Stahlbeton", "dicke": 0.200},
{"material": "Putz", "dicke": 0.015},
]},
],
"project": {
"name": "",