T-Junction-Toleranz auf 1cm gelockert + dJoin-Safety: keine _Join auf Achsen

T-Junction-Detection (_detect_t_junction): pos_tol von 1mm auf 1cm erhoeht.
User-Feedback: bei manuellem Snap kann's leicht ein paar mm danebengehen,
1mm war zu eng. 1cm ist immer noch tight genug fuer Architektur-Workflow.

smart_join (dJoin): Safety-Check vor _Join-Fallback. Wenn IRGENDEINE
wand_axis in der Selection ist (auch zusaetzlich zu anderen Curves), wird
NICHT auf Standard-_Join gefallen — sonst kleistert _Join mehrere Wand-
Achsen zu einer Polyline zusammen, der Listener detektiert das als
"Source-Duplikat" und vergibt neue Wall-IDs → alle Meta-Verknuepfungen
brechen.

Stattdessen: Print-Meldung dass T-Join/L-Join nicht gegriffen hat. User
muss GENAU 2 Waende selektieren die verbunden werden sollen.
This commit is contained in:
2026-05-31 12:29:54 +02:00
parent 9999f3d0ad
commit 17ff7a8017
2 changed files with 14 additions and 1 deletions
+1 -1
View File
@@ -2180,7 +2180,7 @@ def _miter_dir(out_a, out_b):
def _detect_t_junction(doc, geschoss_id, wall_id, endpoint,
pos_tol=0.001, end_tol=0.05, exclude_ids=None):
pos_tol=0.010, end_tol=0.05, exclude_ids=None):
"""Sucht ob `endpoint` auf der INNEREN Achse einer anderen Wand liegt
(T-Stoss). Endpunkte der anderen Wand (Eckverbindung) werden bewusst
ausgeschlossen die werden bereits durch die Corner-Logik abgedeckt.