fix: flache Schleife am selben Kreisel im Hoehen-Check einzeln fragen

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-26 11:27:13 +01:00
parent 35339b270a
commit 0dfea8754d
4 changed files with 21 additions and 1 deletions
+12 -1
View File
@@ -401,6 +401,13 @@
(cons "innen" (cadddr fs))
(ch-kreuz-abzug (cadddr fs) (cadddr fe) (caddr fs) (caddr fe) maxdiff))
)
;;; Flache Schleife (reiner Kern): Strecke startet und endet am SELBEN Kreisel
;;; (h1 = h2) und hat gleiche Anfangs-/Endhoehe (|z1 - z2| <= tol, mm). Ihre
;;; Buehne laesst sich nicht aus der Familie ableiten und wird einzeln gefragt.
(defun ch-schleife-p (h1 h2 z1 z2 tol)
(and h1 h2 (= h1 h2) (<= (abs (- z1 z2)) tol))
)
;;; ID-Nummer eines Elements (999999 ohne gueltige ID).
(defun ch-id-nummer (id)
(if (and id (/= id "") (> (atoi id) 0)) (atoi id) 999999)
@@ -519,6 +526,10 @@
fe (ch-kreisel-finden (nth 5 rec) (caddr (nth 5 rec)) elems
*ch-zuordnung-xy-mm* *ch-zuordnung-z-mm*))
(if (and fs fe)
(if (ch-schleife-p fs fe (caddr (nth 4 rec)) (caddr (nth 5 rec)) 1.0)
;; Flache Schleife am selben Kreisel: Buehne nicht ableitbar ->
;; bleibt unentschieden und wird im Rest einzeln gefragt
(princ (ssg-textf "chh-schleife" (list lbl)))
(progn
(setq fs (assoc (cdr (assoc fs h2f)) famdat)
fe (assoc (cdr (assoc fe h2f)) famdat)
@@ -543,7 +554,7 @@
(setq n-kreuz (1+ n-kreuz))))
(princ (ssg-textf "chh-strecke-neg"
(list lbl (rtos (cdr kr) 2 3) (rtos (nth 3 rec) 2 3))))))
)))))))
))))))))
(princ (ssg-text "chh-kein-kreisel")))
;; --- Rest: blockweise wie bisher ---