From 1b49bd3c3baee9ca0dd5595e7720893ac2221721 Mon Sep 17 00:00:00 2001 From: Yuelin Wang Date: Mon, 14 Sep 2026 08:36:17 +0200 Subject: [PATCH] feat: Option 5 "QC Linie mit GF und U-Form" implementiert (Fa/S dynamisch, Kolinearitaet exakt) Linienzug-Modus 5: AS(90 Grad) -> Richtung+E1 in einem Klick -> 90-Grad- GF-U-Turn (Gegenseite von AS) -> Fa(fallend, unbekannt)+Sep -> Bogen-auf-6 -> S(steigend, dynamisch 3/6/9/...Grad, flachster passender Winkel wird automatisch gewaehlt) -> Bogen-ab-6 -> ES, mit exakter Kolinearitaets- Rueckkehr zur AS-Eintrittsachse (2x2-Gleichungssystem Hoehe+Lage, analog zu Option 4's E2-Loesung). E1 nutzt AS's real gemessene KS_AUS-Neigung (neue vf-element-plan-neigung) statt der angenommenen 3 Grad - das macht Fa/S ueberhaupt erst ueber E1 steuerbar. Bei "nicht baubar" wird eine exakte Mindest-E1-Laenge vorgeschlagen (wie Option 4's Mindest- Gesamtlaenge). Zusaetzlich: Bogen-Seite = Gegenseite der AS-Seite (Option 4 und 5), Fehler in vf-element-plan-neigung-Vorzeichen behoben, fehlender Separator-Fussabdruck in der Hoehen-/Lage-Bilanz ergaenzt. Neue GF-eigene Vertikalbogen-Bloecke (Vario_Bogen_auf/ab_3/6_rechts, 2D+3D) fuer die Uebergaenge. Co-Authored-By: Claude Sonnet 5 --- Lisp/vf_core.lsp | 50 +- Lisp/vf_konstanten.lsp | 8 + Lisp/vf_linienzug.lsp | 1342 ++++++++++++++++++++-- data/ils/Vario_Bogen_ab_3_rechts_2D.dwg | Bin 0 -> 20422 bytes data/ils/Vario_Bogen_ab_3_rechts_3D.dwg | Bin 0 -> 85368 bytes data/ils/Vario_Bogen_ab_6_rechts_2D.dwg | Bin 0 -> 20902 bytes data/ils/Vario_Bogen_ab_6_rechts_3D.dwg | Bin 0 -> 84853 bytes data/ils/Vario_Bogen_auf_3_rechts_2D.dwg | Bin 0 -> 19333 bytes data/ils/Vario_Bogen_auf_3_rechts_3D.dwg | Bin 0 -> 76721 bytes data/ils/Vario_Bogen_auf_6_rechts_2D.dwg | Bin 0 -> 21094 bytes data/ils/Vario_Bogen_auf_6_rechts_3D.dwg | Bin 0 -> 76369 bytes dcl/variofoerderer.dcl | 8 + dcl/vf_linienzug_wizard.dcl | 31 + lang/de_DE.json | 41 +- lang/en_GB.json | 41 +- 15 files changed, 1410 insertions(+), 111 deletions(-) create mode 100644 data/ils/Vario_Bogen_ab_3_rechts_2D.dwg create mode 100644 data/ils/Vario_Bogen_ab_3_rechts_3D.dwg create mode 100644 data/ils/Vario_Bogen_ab_6_rechts_2D.dwg create mode 100644 data/ils/Vario_Bogen_ab_6_rechts_3D.dwg create mode 100644 data/ils/Vario_Bogen_auf_3_rechts_2D.dwg create mode 100644 data/ils/Vario_Bogen_auf_3_rechts_3D.dwg create mode 100644 data/ils/Vario_Bogen_auf_6_rechts_2D.dwg create mode 100644 data/ils/Vario_Bogen_auf_6_rechts_3D.dwg diff --git a/Lisp/vf_core.lsp b/Lisp/vf_core.lsp index 9b45dc1..b17af32 100644 --- a/Lisp/vf_core.lsp +++ b/Lisp/vf_core.lsp @@ -546,6 +546,43 @@ (* (atan (cadr (cadr fe)) (car (cadr fe))) (/ 180.0 pi))) 90.0)))) +;; Neigungs-Aenderung (Grad) eines Elements: Winkel von KS_EIN.xu nach +;; KS_AUS.xu ausserhalb der XY-Ebene (Steigung/Gefaelle), direkt aus dem Block +;; gemessen - Gegenstueck zu vf-element-plan-turn (das nur die XY-Ebene +;; misst). Genutzt fuer Faelle, in denen ein Element NICHT mit der +;; angenommenen *vfk-gefaelle-winkel*-Neigung weitergebaut werden soll, +;; sondern mit der REALEN, am Block gemessenen Neigung (Nutzer-Vorgabe +;; 2026-09-13, NUR fuer vfl-qc-linie-mit-gf-uform - siehe dortiger +;; Kommentar; alle anderen Aufrufer bleiben bei der angenommenen Neigung). +;; WICHTIG: dieselbe Vorzeichen-Konvention wie frame->hz-winkel (vf_core.lsp) +;; - "winkel" = atan(-xu.z, horiz), NICHT atan(xu.z, horiz) - positiv heisst +;; FALLEND (xu zeigt nach unten, negatives Welt-Z), damit der Rueckgabewert +;; direkt (ohne weiteres Vorzeichen-Umdenken) als winkel-Parameter fuer +;; vfl-insert-gf-segment/vfl-acc-gf-seg verwendet werden kann - ohne die +;; Negation kam beim BricsCAD-Test ein KLETTERNDES statt fallendes E1 heraus +;; (Nutzer-Befund 2026-09-13: reale Neigung maass -3 Grad, ergab ohne +;; Vorzeichen-Fix ein steigendes statt fallendes Element). +;; Fallback 0.0 (keine Neigungsaenderung), falls der Block fehlt. +(defun vf-element-plan-neigung (blockname / temp-obj ks-data fe fa xu-e xu-a horiz-e horiz-a) + (setq blockname (ensure-block-loaded blockname)) + (if (not (tblsearch "BLOCK" blockname)) + 0.0 + (progn + (setq temp-obj (vla-InsertBlock modelspace + (vlax-3D-point '(0 0 0)) blockname 1.0 1.0 1.0 0)) + (setq ks-data (extract-ks-from-block temp-obj)) + (if (not (vlax-erased-p temp-obj)) (vla-Delete temp-obj)) + (setq fe (ks-frame-extract (cadr (assoc "KS_EIN" ks-data)))) + (setq fa (ks-frame-extract (cadr (assoc "KS_AUS" ks-data)))) + (if (and fe fa) + (progn + (setq xu-e (cadr fe) xu-a (cadr fa)) + (setq horiz-e (sqrt (+ (* (car xu-e) (car xu-e)) (* (cadr xu-e) (cadr xu-e))))) + (setq horiz-a (sqrt (+ (* (car xu-a) (car xu-a)) (* (cadr xu-a) (cadr xu-a))))) + (- (* (atan (- (caddr xu-a)) horiz-a) (/ 180.0 pi)) + (* (atan (- (caddr xu-e)) horiz-e) (/ 180.0 pi)))) + 0.0)))) + ;; KS-Info eines Elements (im Block, Einbau-Rotation 0): ;; Rueckgabe (ein-ang aus-ang vx vy) ;; ein-ang / aus-ang : Ebenen-Winkel (Grad) von KS_EIN.xu bzw. KS_AUS.xu @@ -1148,6 +1185,8 @@ (action_tile "accept" "(setq gmodus (cond ((= (get_tile \"modus_2\") \"1\") 2) ((= (get_tile \"modus_3\") \"1\") 3) + ((= (get_tile \"modus_4\") \"1\") 4) + ((= (get_tile \"modus_5\") \"1\") 5) (t 1))) (done_dialog 1)") (action_tile "cancel" "(done_dialog 0)") @@ -1169,6 +1208,12 @@ ;; ============================================================ ;; TEIL 12: DISPATCHER c:VarioFoerderer ;; ============================================================ +;; Erzwungener QC-Modus (Linienzug-Modus 4/5, vfc-dialog-linienzug-modus- +;; waehlen/Konsolen-Fallback unten): "4"/"5" waehrend des naechsten +;; vf-linienzug-modus-Laufs, sonst nil. Von vf-linienzug-modus (vf_linienzug. +;; lsp, spaeter geladen) gelesen/geleert - globale Vorab-Deklaration hier, +;; damit sie unabhaengig von der Lade-Reihenfolge existiert. +(if (not (boundp '*vfl-forciere-qc-modus*)) (setq *vfl-forciere-qc-modus* nil)) (defun c:VarioFoerderer ( / typ-eintr anlage-typ berechne-fn einfuege-fn eingabe deltaL deltaH richtung startpunkt seite hz eingabe-modus ergebnis ergebnis-liste gueltige-winkel @@ -1248,7 +1293,9 @@ (princ (ssg-text "vfc-linienzug-modus-1")) (princ (ssg-text "vfc-linienzug-modus-2")) (princ (ssg-text "vfc-linienzug-modus-3")) - (setq wahl (getint (ssg-text "prompt-wahl-1-2-3"))) + (princ (ssg-text "vfc-linienzug-modus-4")) + (princ (ssg-text "vfc-linienzug-modus-5")) + (setq wahl (getint (ssg-text "prompt-wahl-1-5"))) ) ) (if (not zurueck-zu-typ) @@ -1267,6 +1314,7 @@ ;; Hochziehen ein reiner Bugfix. Setzt zugleich *vfl-seg-glied-letzte* ;; zurueck, das sonst vom Vorlauf stehenbleibt. (vfl-journal-reset) + (setq *vfl-forciere-qc-modus* (cond ((= wahl 4) "4") ((= wahl 5) "5") (t nil))) (cond ((= wahl 2) (vf-linienzug-modus2)) ((= wahl 3) (vf-linienzug-modus3)) (t (vf-linienzug-modus))) diff --git a/Lisp/vf_konstanten.lsp b/Lisp/vf_konstanten.lsp index 9ee5599..cba3082 100644 --- a/Lisp/vf_konstanten.lsp +++ b/Lisp/vf_konstanten.lsp @@ -144,6 +144,14 @@ ;; traegt den Wert weiterhin zusaetzlich im String - dort unangetastet). (if (null *vfk-separator-laenge*) (setq *vfk-separator-laenge* 300.0)) +;; "QC Linie mit GF" / "QC Linie mit GF und U-Form" (Lisp/vf_linienzug.lsp, +;; vfl-qc-linie-mit-gf/-uform): reine Vorschlagswerte fuer die Ein-/Auslauf- +;; Geradenstuecke bzw. die feste U-Form-Zwischenstrecke - alle drei bleiben +;; Nutzereingaben (getreal mit diesem Default), keine harten Konstanten. +(if (null *vfk-qc-einlauf-laenge*) (setq *vfk-qc-einlauf-laenge* 1000.0)) +(if (null *vfk-qc-u-fest-laenge*) (setq *vfk-qc-u-fest-laenge* 400.0)) +(if (null *vfk-qc-fallend-anteil-default*) (setq *vfk-qc-fallend-anteil-default* 0.5)) + ;; Mindestlaenge (mm) fuer eine VF-Einheit (Umlenk+Motor = 2x ;; *vfk-stations-laenge*). Aktiv referenziert in vf_linienzug.lsp ;; (vfl-vf-entscheidung, vfl-vf-machbar-p, vfl-segment-entscheidung, diff --git a/Lisp/vf_linienzug.lsp b/Lisp/vf_linienzug.lsp index 42e09fd..230c32c 100644 --- a/Lisp/vf_linienzug.lsp +++ b/Lisp/vf_linienzug.lsp @@ -812,6 +812,33 @@ ) (princ)) +;; Nur Winkel (30/90), OHNE Seite - fuer "QC Linie mit GF" (vfl-qc-linie- +;; mit-gf): deren ES-Seite = AS-Seite ist bereits erzwungen, eine Seiten- +;; Frage im selben Dialog waere irrefuehrend. Schiebt "90"/"30" (den +;; AUFGELOESTEN Wert, kein Index - vf-frage-element-winkel wird beim +;; Pending-Konsum NICHT mehr durchlaufen) in die Pending-Queue. +(defun vflw-gruppe-qc-winkel-impl (kopf-key / dat ergebnis gwinkel) + (setq dat (load_dialog (vflw-dcl-pfad))) + (if (not (new_dialog "vflw_qc_winkel" dat)) + (if (and dat (>= dat 0)) (unload_dialog dat)) + (progn + (set_tile "kopf" (vflw-clean (ssg-text kopf-key))) + (action_tile "accept" + "(setq gwinkel (if (= (get_tile \"winkel_30\") \"1\") \"30\" \"90\")) + (done_dialog 1)") + (action_tile "cancel" "(done_dialog 0)") + (action_tile "back" "(done_dialog 2)") + (setq ergebnis (start_dialog)) + (unload_dialog dat) + (cond + ((= ergebnis 1) (vflw-pending-push-all (list gwinkel))) + ((= ergebnis 2) (setq *vfl-wizard-abbruch-grund* "zurueck")) + (t (setq *vfl-wizard-abbruch-grund* "abbrechen")) + ) + ) + ) + (princ)) + ;; ------------------------------------------------------------ ;; Gruppe "Vario-Kurve": Winkel(90/60/30) + Seite + Variante(aussen/innen). ;; Reihenfolge/Journal: vfl-menu-winkel (Winkel als ECHTER Wert 90/60/30, als @@ -934,6 +961,7 @@ (action_tile "accept" "(setq gwahl (cond ((= (get_tile \"modus_hoehe\") \"1\") \"2\") ((= (get_tile \"modus_steigend\") \"1\") \"3\") + ((= (get_tile \"modus_qc\") \"1\") \"4\") (t \"1\"))) (done_dialog 1)") (action_tile "cancel" "(done_dialog 0)") @@ -1460,7 +1488,13 @@ ;; (wahl_gfbogen usw.), waehrend die Umrechnung auf die richtige Positions- ;; Nummer hier im Callback passiert (kettenanfang: 1:1: 1-6; sonst: Slot 2 ;; entfaellt, alles ab Slot 3 ruecktr um 1 nach vorn). -(defun vflw-gruppe-naechstes-element-impl (kettenanfang / dat ergebnis slot gwahl) +;; familie: bei Kettenanfang das Ergebnis der KS_AUS-Erkennung ("GF"/"VF"/nil) +;; - eindeutig als VF erkannt (Startpunkt liegt auf einer bestehenden +;; VF-Kette) macht "GF-Bogen"/"Neue Linie: GF" als DIREKTE Fortsetzung keinen +;; Sinn (kein GF-Baustein wird an dieser Stelle einfach an ein VF-Teil +;; angeflanscht) - diese beiden Optionen werden dann ausgegraut. "Neue Linie +;; BIS Kettenende" bleibt immer waehlbar (hat ihre eigene GF/VF-Erkennung). +(defun vflw-gruppe-naechstes-element-impl (kettenanfang familie / dat ergebnis slot gwahl) (setq dat (load_dialog (vflw-dcl-pfad))) (if (not (new_dialog "vflw_naechstes_element" dat)) (if (and dat (>= dat 0)) (unload_dialog dat)) @@ -1468,6 +1502,11 @@ (set_tile "kopf" (vflw-clean (ssg-text "vfl-naechstes-element-header"))) (set_tile "wahl_liniegf" "1") (if (not kettenanfang) (mode_tile "wahl_variokurve" 1)) + (if (and kettenanfang (equal familie "VF")) + (progn + (mode_tile "wahl_gfbogen" 1) + (mode_tile "wahl_liniegf" 1) + (set_tile "wahl_variokurve" "1"))) (action_tile "accept" "(setq slot (cond ((= (get_tile \"wahl_gfbogen\") \"1\") 1) ((= (get_tile \"wahl_variokurve\") \"1\") 2) @@ -1852,6 +1891,32 @@ ;; als gueltig (-> kind), nil als Abbruch (-> "NIL"). Fuer Faelle, in denen die ;; Gueltigkeit strenger geprueft werden muss (z.B. vfl-in-string: "" ist ein ;; gueltiger String), siehe vfl-in-value-p. +;; Generisches Echo der Antwort auf JEDE vfl-in-*-Frage (Nutzerwunsch: nach +;; jeder Konsolen-/Wizard-Frage soll sichtbar sein, was gewaehlt wurde) - +;; zentral in vfl-in-value/-value-p verankert (statt an jeder Aufrufstelle +;; einzeln), deckt dadurch ALLE Fragen ab, auch kuenftige. Bei einer Menue- +;; Frage (vfl-menu/-menu-int, *vflw-menu-optionen* gesetzt - dynamisch aus +;; deren eigener '/'-Deklaration sichtbar) wird die Antwort, falls sie als +;; 1-basierter Index in die Options-Liste passt, zum Options-Text aufgeloest +;; (vflw-clean entfernt das "\n N - "-Praefix); sonst (z.B. vfl-menu-winkel +;; mit einem echten Winkelwert statt Index, oder eine freie Texteingabe wie +;; der AS-/ES-Winkel "90"/"30") wird der Rohwert gezeigt. Nur STR/INT +;; (echte Auswahl-Antworten) - REAL (Hoehen/Laengen/Winkel-Zahlen) und +;; PT/DL (Punktwahl) werden NICHT echot, das Ergebnis zeigt sich ohnehin +;; ueber die nachfolgende Bau-/KS_AUS-Ausgabe. +(defun vfl-echo-antwort (kind v / idx label) + (if (and v (member kind '("STR" "INT"))) + (progn + (setq label nil) + (if (and *vflw-menu-optionen* + (setq idx (if (= kind "INT") v (atoi v))) + (>= idx 1) (<= idx (length *vflw-menu-optionen*))) + (setq label (vflw-clean (nth (1- idx) *vflw-menu-optionen*)))) + (vfl-echo-wahl (if label label (if (= kind "STR") v (vl-princ-to-string v)))) + ) + ) +) + (defun vfl-in-value (kind livefn / popped v) ;; Zentraler Abbruch-Trigger fuer den "Zurueck"/"Abbrechen"-Button (siehe ;; vfl-modus-abbruch-sichern): EIN Check hier deckt vfl-in-point/-string/ @@ -1874,6 +1939,7 @@ (setq popped (vfl-headless-notausgang kind))) (if popped (setq v (car popped)) (setq v (apply livefn nil))))) (vfl-journal-record (if v kind "NIL") v) + (vfl-echo-antwort kind v) v) ;; Variante mit explizitem Gueltig-Praedikat (fuer vfl-in-string: "" ist gueltig). @@ -1892,6 +1958,7 @@ (setq popped (vfl-headless-notausgang kind))) (if popped (setq v (car popped)) (setq v (apply livefn nil))))) (vfl-journal-record (if (apply gueltig-p (list v)) kind "NIL") v) + (vfl-echo-antwort kind v) v) ;; --- String-Hilfen (generisch, Trenner beliebig) --- @@ -2527,7 +2594,7 @@ (setq aus-dx 0.0 aus-dz 0.0) (setq res (vfl-waehle-winkel - (nth 3 (berechne-alle-winkel deltaL deltaH richtung *vfl-feste-horizontal*)))) + (nth 3 (berechne-alle-winkel deltaL deltaH richtung *vfl-feste-horizontal* nil)))) (setq aus-dx save-ausdx aus-dz save-ausdz) res) @@ -2553,12 +2620,17 @@ ;; Gebraucht von vfl-vf-machbar-p fuer die Sondierung in vfl-vf-min-deltah, ;; die viele Testwerte durchprobiert (dort wuerde die Tabellenausgabe von ;; berechne-alle-winkel die Konsole zuspammen). -(defun vfl-winkel-machbar-p (deltaL deltaH richtung feste-hz / +(defun vfl-winkel-machbar-p (deltaL deltaH richtung feste-hz schon-flach / winkel-list cos3 sin3 mass1 mass2 rad5 rad7 bogen-x1 bogen-z1 bogen-x2 bogen-z2 cosa sina A B winkel-eff cosEff sinEff L_GF L_VF - abs-dz-AUS abs-dz-EIN gefunden) + abs-dz-AUS abs-dz-EIN gefunden entry-mass entry-dx entry-dz) (if (null feste-hz) (setq feste-hz FESTE_HORIZONTAL)) + (setq entry-dx 0.0 entry-dz 0.0) + (if schon-flach + (progn + (setq entry-mass (get-bogen-mass bogen-ab (fix *vfk-gefaelle-winkel*))) + (setq entry-dx (car entry-mass) entry-dz (caddr entry-mass)))) (setq abs-dz-AUS (abs aus-dz) abs-dz-EIN (abs ein-dz)) (setq winkel-list (ssg-cfg-or "vario" "bogen_winkel" '(3 6 9 12 15 18 21 27 33 39 45 51))) @@ -2584,14 +2656,14 @@ (setq bogen-z2 (+ (* (- (car mass2)) (sin rad7)) (* (caddr mass2) (cos rad7)))) (setq cosa (cos (* winkel (/ pi 180.0))) sina (sin (* winkel (/ pi 180.0)))) - (setq A (- deltaL aus-dx ein-dx bogen-x1 bogen-x2 (* feste-hz cos3))) + (setq A (- deltaL aus-dx ein-dx bogen-x1 bogen-x2 (* feste-hz cos3) entry-dx)) (setq winkel-eff (if (= richtung "Auf") (- winkel *vfk-gefaelle-winkel*) (+ winkel *vfk-gefaelle-winkel*))) (setq cosEff (cos (* winkel-eff (/ pi 180.0))) sinEff (sin (* winkel-eff (/ pi 180.0)))) (if (= richtung "Auf") - (setq B (+ deltaH abs-dz-AUS abs-dz-EIN (- bogen-z1) (- bogen-z2) + (setq B (+ deltaH abs-dz-AUS abs-dz-EIN (abs entry-dz) (- bogen-z1) (- bogen-z2) (* feste-hz sin3))) - (setq B (+ (- deltaH abs-dz-AUS abs-dz-EIN (* feste-hz sin3)) + (setq B (+ (- deltaH abs-dz-AUS abs-dz-EIN (abs entry-dz) (* feste-hz sin3)) bogen-z1 bogen-z2))) (if (> (abs sina) 0.0001) (progn @@ -2627,7 +2699,7 @@ ((= richtung "Auf") (setq save-ausdx aus-dx save-ausdz aus-dz) (setq aus-dx 0.0 aus-dz 0.0) - (setq ergebnis (vfl-winkel-machbar-p deltaL deltaH "Auf" *vfl-feste-horizontal*)) + (setq ergebnis (vfl-winkel-machbar-p deltaL deltaH "Auf" *vfl-feste-horizontal* nil)) (setq aus-dx save-ausdx aus-dz save-ausdz) ergebnis) (t @@ -2637,7 +2709,7 @@ (progn (setq save-ausdx aus-dx save-ausdz aus-dz) (setq aus-dx 0.0 aus-dz 0.0) - (setq ergebnis (vfl-winkel-machbar-p deltaL deltaH "Ab" *vfl-feste-horizontal*)) + (setq ergebnis (vfl-winkel-machbar-p deltaL deltaH "Ab" *vfl-feste-horizontal* nil)) (setq aus-dx save-ausdx aus-dz save-ausdz) ergebnis))) ) @@ -2723,6 +2795,23 @@ (princ) ) +;; Konsolen-Echo der aktuellen Kettenposition (X/Y/Z) - nach jedem gebauten +;; Kettenglied aufgerufen, damit der Nutzer ohne Attribut-Blick sofort sieht, +;; wo die Kette gerade steht (Wunsch nach durchgaengigem Fortschritts-Echo, +;; analog zu vfl-echo-endpunkt-hoehe). +(defun vfl-echo-position (pt) + (princ (ssg-textf "vfl-echo-position" + (list (rtos (car pt) 2 2) (rtos (cadr pt) 2 2) (rtos (caddr pt) 2 2)))) + (princ) +) + +;; Konsolen-Echo der getroffenen Menue-Auswahl (Label-Text statt nur "1"/"2"), +;; damit ein Log/Protokoll nachvollziehbar bleibt, was gewaehlt wurde. +(defun vfl-echo-wahl (label) + (princ (ssg-textf "vfl-echo-wahl" (list label))) + (princ) +) + ;; Wie vfl-vf-machbar-p, aber fuer das Budget von vfl-body-zerlegung ;; (Kettenende-Modus, "Ja - Motorstation setzen, Kettenende festlegen"): ;; feste-hz=800 (nur Motor+Separator, KEIN Umlenk-/AS-Anteil) statt @@ -2732,23 +2821,35 @@ ;; GF nur beim natuerlichen ~3-Grad-Fall weiter unten). aus-dx/aus-dz werden ;; wie im Original immer genullt (nicht nur bedingt wie bei vfl-vf-machbar-p), ;; da der Abschluss-Koerper nie einen AS-Fussabdruck traegt. -(defun vfl-body-machbar-p (deltaL deltaH richtung / horizontal-info save-ausdx save-ausdz ergebnis) +;; Reserviertes Fest-Budget am Kettenende: Motor+Separator (800), AUSSER kein +;; ES gewuenscht - dann baut vfl-insert-es-element (das den Separator +;; MITBRINGT) gar nicht erst, also darf auch kein Separator reserviert werden +;; (sonst bleibt die Kette um dessen Laenge hinter dem Zielpunkt zurueck - +;; realer Bug, siehe vfl-body-zerlegung). +(defun vfl-body-budget (es-gewuenscht) + (if es-gewuenscht + *vfk-feste-horizontal-kettenende* + (- *vfk-feste-horizontal-kettenende* *vfk-separator-laenge*))) + +(defun vfl-body-machbar-p (deltaL deltaH richtung es-gewuenscht schon-flach / + horizontal-info save-ausdx save-ausdz ergebnis budget) (if (or (not *lib-initialized*) (null bogen-auf)) (init-bibliothek)) + (setq budget (vfl-body-budget es-gewuenscht)) (setq save-ausdx aus-dx save-ausdz aus-dz) (setq aus-dx 0.0 aus-dz 0.0) (setq ergebnis (cond - ((< deltaL *vfk-kettenende-mindestlaenge*) nil) + ((< deltaL budget) nil) ((< deltaH 1.0) - (setq horizontal-info (berechne-horizontale-mitte deltaL deltaH "Ab" nil)) + (setq horizontal-info (berechne-horizontale-mitte deltaL deltaH "Ab" schon-flach)) (and horizontal-info (caddr horizontal-info) t)) ((= richtung "Auf") - (vfl-winkel-machbar-p deltaL deltaH "Auf" *vfk-feste-horizontal-kettenende*)) + (vfl-winkel-machbar-p deltaL deltaH "Auf" budget schon-flach)) (t - (setq horizontal-info (berechne-horizontale-mitte deltaL deltaH "Ab" nil)) + (setq horizontal-info (berechne-horizontale-mitte deltaL deltaH "Ab" schon-flach)) (if (and horizontal-info (caddr horizontal-info)) t - (vfl-winkel-machbar-p deltaL deltaH "Ab" *vfk-feste-horizontal-kettenende*))) + (vfl-winkel-machbar-p deltaL deltaH "Ab" budget schon-flach))) ) ) (setq aus-dx save-ausdx aus-dz save-ausdz) @@ -2757,12 +2858,12 @@ ;; Wie vfl-vf-min-deltah, aber mit vfl-body-machbar-p (Budget von ;; vfl-body-zerlegung statt vfl-vf-entscheidung). -(defun vfl-body-min-deltah (deltaL richtung / schritt grenze h gefunden) +(defun vfl-body-min-deltah (deltaL richtung es-gewuenscht schon-flach / schritt grenze h gefunden) (setq schritt 10.0) (setq grenze (/ deltaL *vfk-gefaelle-winkel*)) (setq h schritt gefunden nil) (while (and (not gefunden) (<= h grenze)) - (if (vfl-body-machbar-p deltaL h richtung) + (if (vfl-body-machbar-p deltaL h richtung es-gewuenscht schon-flach) (setq gefunden h) (setq h (+ h schritt))) ) @@ -2770,13 +2871,13 @@ ) ;; Wie vfl-vf-hoehe-vorschlaege, aber fuer vfl-body-abschluss (Kettenende- -;; Modus): nutzt vfl-body-min-deltah (800mm-Budget) statt vfl-vf-min-deltah -;; (1300mm-Budget) - sonst wuerde ein Vorschlag als baubar erscheinen, der es -;; am Kettenende (kleineres Budget: nur Motor+Separator, kein Umlenk-Anteil) -;; tatsaechlich nicht ist. -(defun vfl-body-hoehe-vorschlaege (p-aktuell-z deltaL / min-ab min-auf) - (setq min-ab (vfl-body-min-deltah deltaL "Ab")) - (setq min-auf (vfl-body-min-deltah deltaL "Auf")) +;; Modus): nutzt vfl-body-min-deltah (800mm-Budget, 500mm ohne ES) statt +;; vfl-vf-min-deltah (1300mm-Budget) - sonst wuerde ein Vorschlag als baubar +;; erscheinen, der es am Kettenende (kleineres Budget: nur Motor+Separator, +;; kein Umlenk-Anteil) tatsaechlich nicht ist. +(defun vfl-body-hoehe-vorschlaege (p-aktuell-z deltaL es-gewuenscht schon-flach / min-ab min-auf) + (setq min-ab (vfl-body-min-deltah deltaL "Ab" es-gewuenscht schon-flach)) + (setq min-auf (vfl-body-min-deltah deltaL "Auf" es-gewuenscht schon-flach)) (list (if min-ab (- p-aktuell-z min-ab) nil) (if min-auf (+ p-aktuell-z min-auf) nil)) @@ -3105,13 +3206,20 @@ ;; Genereller Uebergang zwischen zwei Basis-Neigungen (0/+3/-3 Grad, ;; Vorzeichenkonvention wie frame->hz-winkel: positiv=fallend, negativ= -;; steigend). Die Bibliothek kennt nur einen 3-Grad-Bogen gegenueber FLACH -;; (0 Grad) - ein Wechsel zwischen der fallenden (+3) und der steigenden (-3) -;; Basis braucht daher IMMER zwei Boegen ueber 0 als Zwischenhalt. "auf"- -;; Boegen senken die Neigung numerisch (Richtung steigend), "ab"-Boegen -;; erhoehen sie (Richtung fallend) - siehe vfl-nach-3grad/vfl-hor-koerper- -;; bauen, deren Uebergaenge hier verallgemeinert werden. Ist kein Uebergang -;; noetig (Start-/Zielbasis identisch), no-op. +;; steigend) MIT DER VF-BIBLIOTHEK (Vario_Bogen_*_TEF_rechts, init- +;; bibliothek) - fuer Uebergaenge VOR/IN einer VF-Baugruppe (vfs-vf-koerper/ +;; Motorstation), wo der Bogen ohnehin als VF-Familie zaehlt. Reine GF- +;; Kontexte (Linie-GF) nutzen stattdessen vfl-gf-bogen-uebergang (GF-eigene +;; Bloecke, siehe dort) - aktuell KEIN Aufrufer mehr hier im Code, aber als +;; Baustein fuer die dokumentierte Luecke in vfl-body-abschluss-bauen +;; (steigender Frame-Eintritt vor einem VF-Koerper) bewusst nicht entfernt. +;; Die VF-Bibliothek kennt nur einen 3-Grad-Bogen gegenueber FLACH (0 Grad) - +;; ein Wechsel zwischen der fallenden (+3) und der steigenden (-3) Basis +;; braucht daher IMMER zwei Boegen ueber 0 als Zwischenhalt. "auf"-Boegen +;; senken die Neigung numerisch (Richtung steigend), "ab"-Boegen erhoehen sie +;; (Richtung fallend) - siehe vfl-nach-3grad/vfl-hor-koerper-bauen, deren +;; Uebergaenge hier verallgemeinert werden. Ist kein Uebergang noetig (Start- +;; /Zielbasis identisch), no-op. ;; Rueckgabe: (neuer-frame fussabdruck-summe) - fussabdruck-summe (mm, auf hz ;; projiziert) muss der Aufrufer von der geplanten Restlaenge/Zielstrecke ;; abziehen. @@ -3172,6 +3280,873 @@ (list frame summe) ) +;; ------------------------------------------------------------------ +;; GF-eigene Vertikalboegen (Nutzer-Vorgabe): 8 dedizierte Bloecke in +;; data/ils - Vario_Bogen_ab/auf_3/6_rechts (OHNE "_TEF_", das Suffix der +;; VF-Bibliothek). Zweck: reine GF-Uebergaenge (Linie-GF: Einstieg aus der +;; aktuellen Kettenneigung, Ausstieg vor ES/AS) sollen NICHT laenger die +;; VF-Bogen-Bibliothek (bogen-ab/bogen-auf, init-bibliothek) mitbenutzen - +;; die Bloecke tragen dadurch ihre eigene GF-Familie in vfl-kette-typ statt +;; als VF ("BOGENAUF"/"BOGENAB") erkannt zu werden, und ein KS_AUS-Scan am +;; Kettenanfang klassifiziert eine Kette, die mit einem dieser Boegen endet, +;; weiterhin korrekt als GF. Eigener Satz Globals/Init, damit KEINE +;; Abhaengigkeit zu vf_standard.lsp/init-bibliothek entsteht (ensure-block- +;; loaded/vf-element-masse sind bereits generische ssg_ks_insert.lsp/ +;; vf_core.lsp-Helfer, keine VF-spezifischen). +(setq *gf-bogen-auf* nil *gf-bogen-ab* nil *gf-bogen-lib-initialized* nil) + +(defun vfl-gf-bogen-init ( / bname m) + (if (not *gf-bogen-lib-initialized*) + (progn + (setq *gf-bogen-auf* nil *gf-bogen-ab* nil) + (foreach w '(3 6) + (setq bname (strcat "Vario_Bogen_auf_" (itoa w) "_rechts")) + (if (tblsearch "BLOCK" (ensure-block-loaded bname)) + (progn + (setq m (vf-element-masse bname)) + (if m (setq *gf-bogen-auf* (cons (cons w m) *gf-bogen-auf*)) + (princ (ssg-textf "vfl-gf-bogen-ks-fehlt" (list bname))))) + (princ (ssg-textf "vfl-gf-bogen-block-fehlt" (list bname)))) + (setq bname (strcat "Vario_Bogen_ab_" (itoa w) "_rechts")) + (if (tblsearch "BLOCK" (ensure-block-loaded bname)) + (progn + (setq m (vf-element-masse bname)) + (if m (setq *gf-bogen-ab* (cons (cons w m) *gf-bogen-ab*)) + (princ (ssg-textf "vfl-gf-bogen-ks-fehlt" (list bname))))) + (princ (ssg-textf "vfl-gf-bogen-block-fehlt" (list bname)))) + ) + (setq *gf-bogen-auf* (reverse *gf-bogen-auf*) *gf-bogen-ab* (reverse *gf-bogen-ab*)) + (setq *gf-bogen-lib-initialized* t) + ) + ) +) + +;; Wie vfl-bogen-uebergang, aber fuer reine GF-Kontexte (Linie-GF: Einstieg +;; aus der aktuellen Kettenneigung VOR dem GF-Segment, Ausstieg VOR ES/AS) - +;; nutzt die GF-eigenen Vertikalboegen (siehe oben) statt der VF-Bibliothek. +;; WICHTIG: der 6-Grad-Sprung (steigend<->fallend) braucht dadurch NUR EINEN +;; dedizierten 6-Grad-Bogen statt zwei 3-Grad-Boegen ueber 0 als Zwischenhalt +;; (vfl-bogen-uebergang) - kuerzer und geometrisch sauberer, sobald die +;; passenden 6-Grad-Bloecke vorhanden sind (Nutzer-Vorgabe 2026-09-12). +;; Rueckgabe: (neuer-frame fussabdruck-summe), wie vfl-bogen-uebergang. +(defun vfl-gf-bogen-uebergang (frame ziel-winkel / t0 basis-ziel hz pt m summe) + (vfl-gf-bogen-init) + (setq hz (car (frame->hz-winkel frame))) + (setq t0 (cadr (frame->hz-winkel frame))) + (setq t0 (cond ((< (abs t0) *vfk-frame-flach-toleranz*) 0) + ((< t0 0) (- (fix *vfk-gefaelle-winkel*))) + (t (fix *vfk-gefaelle-winkel*)))) + (setq basis-ziel (cond ((< (abs ziel-winkel) *vfl-gf-winkel-toleranz*) 0) + ((< ziel-winkel 0) (- (fix *vfk-gefaelle-winkel*))) + (t (fix *vfk-gefaelle-winkel*)))) + (setq summe 0.0) + (cond + ((= t0 basis-ziel) (list frame summe)) + ;; 6 Grad in einem Zug: steigend<->fallend, EIN dedizierter Bogen. + ((and (/= t0 0) (/= basis-ziel 0)) + (if (> t0 0) + (progn + (setq m (get-bogen-mass *gf-bogen-auf* 6)) + (princ (ssg-text "vfl-gf-bogen-auf6-uebergang")) + (setq pt (insert-rotated-block-with-ks "Vario_Bogen_auf_6_rechts" (car frame) + (fix *vfk-gefaelle-winkel*) (car m) (caddr m) hz))) + (progn + (setq m (get-bogen-mass *gf-bogen-ab* 6)) + (princ (ssg-text "vfl-gf-bogen-ab6-uebergang")) + (setq pt (insert-rotated-block-with-ks "Vario_Bogen_ab_6_rechts" (car frame) + (- (fix *vfk-gefaelle-winkel*)) (car m) (caddr m) hz))) + ) + (setq summe (vfl-projiziere-distanz (car frame) pt hz)) + (list (make-frame-from-dir pt (hz-winkel->xu hz basis-ziel)) summe)) + ;; 3 Grad: flach -> geneigt oder geneigt -> flach, EIN 3-Grad-Bogen. + (t + (if (= t0 0) + (if (> basis-ziel 0) + (progn + (setq m (get-bogen-mass *gf-bogen-ab* 3)) + (princ (ssg-text "vfl-gf-bogen-ab3-uebergang")) + (setq pt (insert-rotated-block-with-ks "Vario_Bogen_ab_3_rechts" (car frame) + 0 (car m) (caddr m) hz))) + (progn + (setq m (get-bogen-mass *gf-bogen-auf* 3)) + (princ (ssg-text "vfl-gf-bogen-auf3-uebergang")) + (setq pt (insert-rotated-block-with-ks "Vario_Bogen_auf_3_rechts" (car frame) + 0 (car m) (caddr m) hz)))) + (if (> t0 0) + (progn + (setq m (get-bogen-mass *gf-bogen-auf* 3)) + (princ (ssg-text "vfl-gf-bogen-auf3-uebergang")) + (setq pt (insert-rotated-block-with-ks "Vario_Bogen_auf_3_rechts" (car frame) + (fix *vfk-gefaelle-winkel*) (car m) (caddr m) hz))) + (progn + (setq m (get-bogen-mass *gf-bogen-ab* 3)) + (princ (ssg-text "vfl-gf-bogen-ab3-uebergang")) + (setq pt (insert-rotated-block-with-ks "Vario_Bogen_ab_3_rechts" (car frame) + (- (fix *vfk-gefaelle-winkel*)) (car m) (caddr m) hz)))) + ) + (setq summe (vfl-projiziere-distanz (car frame) pt hz)) + (list (make-frame-from-dir pt (hz-winkel->xu hz basis-ziel)) summe)) + ) +) + +;; ECHTE Neigungs-Fortsetzung UEBER die von vfl-gf-bogen-uebergang +;; unterstuetzten Zustaende (flach/+3/-3) hinaus - z.B. steigend-3 -> +;; steigend-6 (oder mit grad=6 weiter -> steigend-9) und zurueck. +;; vfl-gf-bogen-uebergang selbst kennt NUR Uebergaenge zu/von flach (der +;; 3-Grad-Fall) bzw. zwischen +3/-3 (der kombinierte 6-Grad-Fall) - fuer eine +;; WEITERE Neigungs-Aenderung AUSGEHEND von einem bereits geneigten Zustand +;; (z.B. Option 5's S bei 6 oder 9 statt 3 Grad, Nutzer-Vorgabe 2026-09-13: +;; ECHTE Bausteine statt rein rechnerischem Ruecksprung) wird derselbe rohe +;; insert-rotated-block-with-ks-Aufruf wie dort direkt genutzt, nur mit einer +;; von 0/+3/-3 abweichenden "eingehende-neigung" als Rotationsparameter - +;; "Vario_Bogen_auf_3/6_rechts"/"_ab_3/6_rechts" sind generische Bloecke mit +;; einem FIXEN eigenen Bogen (grad=3 oder 6), ihre Projektion funktioniert +;; fuer JEDEN eingehenden Rotationswinkel, nicht nur die drei von +;; vfl-gf-bogen-uebergang klassifizierten Zustaende. +;; richtung="auf": eingehende-neigung -> eingehende-neigung-grad (steiler +;; steigend bzw. weniger fallend). richtung="ab": eingehende-neigung -> +;; eingehende-neigung+grad (steiler fallend bzw. weniger steigend). +(defun vfl-gf-bogen-weiter (frame richtung eingehende-neigung grad / m blockname pt hz exit-neigung) + (vfl-gf-bogen-init) + (setq hz (car (frame->hz-winkel frame))) + (if (= richtung "auf") + (progn + (setq m (get-bogen-mass *gf-bogen-auf* grad)) + (setq blockname (strcat "Vario_Bogen_auf_" (itoa grad) "_rechts")) + (setq exit-neigung (- eingehende-neigung grad))) + (progn + (setq m (get-bogen-mass *gf-bogen-ab* grad)) + (setq blockname (strcat "Vario_Bogen_ab_" (itoa grad) "_rechts")) + (setq exit-neigung (+ eingehende-neigung grad))) + ) + (setq pt (insert-rotated-block-with-ks blockname (car frame) eingehende-neigung (car m) (caddr m) hz)) + (make-frame-from-dir pt (hz-winkel->xu hz exit-neigung)) +) + +;; Verkettet mehrere vfl-gf-bogen-weiter-Schritte, um eine BELIEBIGE +;; Neigungs-Erweiterung (Vielfaches von 3 Grad) mit MOEGLICHST WENIGEN +;; Bausteinen zu erreichen (moeglichst viele 6-Grad-Bloecke, ein 3-Grad-Block +;; fuer den Rest) - Option 5's dynamische Winkelwahl (Nutzer-Vorgabe +;; 2026-09-13: "gegebene Laenge -> passenden Winkel waehlen" statt einem +;; einzigen fest verdrahteten Winkel). extra-grad=0 (S bei nur 3 Grad, der +;; symmetrische Grundfall) baut nichts und gibt frame unveraendert zurueck. +;; richtung wie vfl-gf-bogen-weiter ("auf"/"ab"); eingehende-neigung ist der +;; Startwert VOR der Erweiterung (z.B. -3 fuer "auf"). +(defun vfl-gf-bogen-erweitern (frame richtung eingehende-neigung extra-grad / rest neigung-jetzt) + (setq rest extra-grad) + (setq neigung-jetzt eingehende-neigung) + (while (>= rest 6) + (setq frame (vfl-gf-bogen-weiter frame richtung neigung-jetzt 6)) + (setq neigung-jetzt (if (= richtung "auf") (- neigung-jetzt 6) (+ neigung-jetzt 6))) + (setq rest (- rest 6)) + ) + (if (= rest 3) + (setq frame (vfl-gf-bogen-weiter frame richtung neigung-jetzt 3)) + ) + frame +) + +;; 2D-Rotation eines LOKALEN (dx,dy)-Versatzes (KS_EIN->KS_AUS eines Blocks +;; bei Rotation 0, siehe vf-element-masse) um einen WELT-Richtungswinkel +;; (Grad) - dieselbe Rz(hz)-Rotationsformel wie in insert-block-ks-to-ks/ +;; insert-rotated-block-with-ks, hier eigenstaendig fuer eine Vorab- +;; Berechnung OHNE Insert. Rueckgabe: (welt-dx welt-dy). +(defun vfl-rot2d (dx dy hz-grad / rad) + (setq rad (* (float hz-grad) (/ pi 180.0))) + (list (- (* dx (cos rad)) (* dy (sin rad))) + (+ (* dx (sin rad)) (* dy (cos rad))))) + +;; 2D-Kreuzprodukt (ax,ay) x (bx,by) = ax*by - ay*bx. Fuer eine Gerade durch +;; P0 mit Richtungsvektor d_ref gilt fuer einen Punkt P: (P-P0) x d_ref = 0 +;; genau dann, wenn P auf der Geraden liegt. +(defun vfl-kreuz2d (ax ay bx by) (- (* ax by) (* ay bx))) + +;; Weltposition eines benannten KS-Markers ("KS_EIN"/"KS_AUS") eines BEREITS +;; in der Zeichnung platzierten Blocks - wie vfl-kette-ks-aus-richtung, aber +;; fuer einen beliebigen KS-Namen und ohne die Richtung (nur der Punkt wird +;; gebraucht). Ueber eine skalierungsneutrale KOPIE gemessen (das Original +;; bleibt unangetastet in der Zeichnung stehen). Rueckgabe: Weltpunkt oder +;; nil, falls der Marker nicht gefunden wurde. +;; Hintergrund (Nutzer-Befund 2026-09-12): bei AS_Element/ES_Element liegt +;; KS_EIN/KS_AUS aus mechanischen Gruenden (Drehteller-Anschluss) seitlich +;; versetzt vom Block-URSPRUNG - insert-block-mixed-to-ks fluchtet bewusst +;; den Ursprung (nicht KS_EIN) auf den Kettenpunkt (siehe dortiger +;; Kommentar). Der geklickte Startpunkt ist darum NICHT identisch mit +;; KS_EIN - fuer die Kolinearitaets-Referenzgerade in vfl-qc-linie-mit-gf +;; wird das ECHTE, gemessene KS_EIN gebraucht, nicht der rohe Klickpunkt. +(defun vfl-block-ks-punkt (block-obj ks-name / copyobj ksdata p) + (setq copyobj (vla-Copy block-obj)) + (vla-put-XScaleFactor copyobj 1.0) + (vla-put-YScaleFactor copyobj 1.0) + (vla-put-ZScaleFactor copyobj 1.0) + (setq ksdata (extract-ks-from-block-raw copyobj)) + (if (not (vlax-erased-p copyobj)) (vl-catch-all-apply 'vla-Delete (list copyobj))) + (setq p (if (assoc ks-name ksdata) (car (cadr (assoc ks-name ksdata))) nil)) + p +) + +;; ------------------------------------------------------------------ +;; "QC Linie mit GF" (Option 4 der gf-laenge-modus-Frage, Nutzer-Vorgabe +;; 2026-09-12, Geometrie danach nach BricsCAD-Test komplett ueberarbeitet): +;; automatisch berechnete Auf-Ab-GF-Kette, die auf derselben +;; Hoehe endet, auf der sie beginnt - AS -> fallend-GF -> 30-Grad-Bogen -> +;; [fallend-GF -> 6-Grad-Bogen auf -> steigend-GF -> 6-Grad-Bogen ab -> +;; fallend-GF] -> 30-Grad-Bogen (Gegenseite) -> fallend-GF -> ES. Die beiden +;; fallenden Mittelstuecke (vor/nach dem Steig-Stueck) werden als EIN +;; gemeinsamer Unbekannter F_total behandelt (Nutzer-Vorgabe, aufgeteilt +;; nach einem waehlbaren Anteil) - vfl-gf-auf-ab-solve loest F_total und das +;; steigende Mittelstueck S aus der vorgegebenen Mittelteil-Gesamtlaenge und +;; der geforderten Netto-Hoehenaenderung (hier immer 0, da AS/ES auf +;; derselben Hoehe liegen sollen). +;; +;; Weltmass-Formel wie insert-rotated-block-with-ks (ssg_ks_insert.lsp): +;; world_dx = dx*cos(rot) + dz*sin(rot) (horizontal, entlang hz) +;; world_dz = -dx*sin(rot) + dz*cos(rot) (Hoehenaenderung) +;; rot=+gefaelle-winkel fuer den "auf"-Bogen (Einstieg fallend), rot= +;; -gefaelle-winkel fuer den "ab"-Bogen (Einstieg steigend) - siehe +;; vfl-gf-bogen-uebergang, das dieselben Tabellen beim tatsaechlichen Bau +;; verwendet. +;; Rueckgabe: (f-total s gueltig ziel-laenge-min) - f-total/s als horizontale +;; Laengen (wie deltaL bei vfl-insert-gf-segment), gueltig=nil bei negativem +;; Ergebnis (Mittelteil-Vorgabe geometrisch nicht baubar). ziel-laenge-min ist +;; in diesem Fall die kleinste Gesamtlaenge, mit der f-total UND s beide >= 0 +;; wuerden (Nutzer-Vorgabe 2026-09-13: als Vorschlag in der Fehlermeldung +;; ausgeben) - hergeleitet aus a=f-total+s, c=s-f-total (a,c wie unten): damit +;; beide >=0 sind, muss a >= |c| gelten, also ziel-laenge-horiz >= fix-dx+|c|. +(defun vfl-gf-auf-ab-solve (ziel-laenge-horiz ziel-hoehe-delta / + rad3 tan3 m-auf m-ab dx-auf dz-auf dx-ab dz-ab + fix-dx fix-dz a b c f-total s gueltig ziel-laenge-min) + (vfl-gf-bogen-init) + (setq rad3 (* (float (fix *vfk-gefaelle-winkel*)) (/ pi 180.0))) + (setq tan3 (/ (sin rad3) (cos rad3))) + (setq m-auf (get-bogen-mass *gf-bogen-auf* 6)) + (setq m-ab (get-bogen-mass *gf-bogen-ab* 6)) + (setq dx-auf (car m-auf) dz-auf (caddr m-auf)) + (setq dx-ab (car m-ab) dz-ab (caddr m-ab)) + ;; Fixterme: zwei Separatoren (300mm, fallend) + die zwei 6-Grad-Boegen, + ;; jeweils per obiger Rotationsformel ins hz-Frame transformiert. + (setq fix-dx (+ (* 2.0 *vfk-separator-laenge* (cos rad3)) + (* (cos rad3) (+ dx-auf dx-ab)) + (* (sin rad3) (- dz-auf dz-ab)))) + (setq fix-dz (+ (* -2.0 *vfk-separator-laenge* (sin rad3)) + (* (sin rad3) (- dx-ab dx-auf)) + (* (cos rad3) (+ dz-auf dz-ab)))) + (setq a (- ziel-laenge-horiz fix-dx)) + (setq b (- ziel-hoehe-delta fix-dz)) + (setq c (/ b tan3)) + (setq s (/ (+ a c) 2.0)) + (setq f-total (/ (- a c) 2.0)) + (setq gueltig (and (>= f-total -0.01) (>= s -0.01))) + (setq ziel-laenge-min (+ fix-dx (abs c))) + (list f-total s gueltig ziel-laenge-min) +) + +;; Ablauf/Bau von Option 4. Nutzt die dynamisch (AutoLISP-typisch) sichtbaren +;; Lokalvariablen des Aufrufers vf-linienzug-modus (frame, p-aktuell, +;; as-vorhanden, as-seite, kettenanfang, fertig, es-seite, anzahl-gf, ...) - +;; wie alle anderen wahl-Zweige dort auch. Setzt am Ende frame/p-aktuell auf +;; den ES-Ausgang und fertig=t; der gemeinsame Rest des Hauptloops (Segment- +;; XDATA, Echo, Block-Erstellung) laeuft danach unveraendert weiter. +(defun vfl-qc-linie-mit-gf ( / as-w as-s theta-ref as-turn es-turn + bogen-turn-30-r bogen-turn-30-l bogen-turn-90-r bogen-turn-90-l + bogen-seite bogen-winkel bogen-turn-echt + b-noetig tol hz0 hz1 hz2 e1 e1-brutto e2 anteil ziel-laenge + loesung f-total s gueltig fa fb hz-jetzt + erg-bogen soll-hoehe ist-hoehe antwort + rad3 tan3 + p0x p0y px py vx vy esx esy dref-x dref-y + hz1-rad hz2-rad zaehler nenner abweichung + checkpoint p0-real h-aussen-rest theta-ref-rad + probe-checkpoint probe-frame probe-frame2 + bg2x bg2y bg2z esz acc-gfbogen-save acc-sep-save) + (if (not kettenanfang) + (princ (ssg-text "vfl-qc-nur-kettenanfang")) + (progn + ;; --- AS-Winkel/-Seite: wiederverwenden, falls am Kettenanfang schon + ;; entschieden (Regelfall) - sonst (Nutzer hatte "Kein AS-Element" + ;; gewaehlt) hier eine eigene, minimale Nachfrage, da diese Option + ;; konzeptionell IMMER mit einem AS beginnt. + (if as-vorhanden + (progn (setq as-w (vfl-as-winkel)) (setq as-s as-seite)) + (progn + (if (vfl-wizard-aktiv) (vl-catch-all-apply 'vflw-gruppe-qc-winkel-impl (list "vf-winkel-aus-header"))) + (princ (ssg-text "vf-winkel-aus-header")) + (princ (ssg-text "vf-winkel-90")) + (princ (ssg-text "vf-winkel-30")) + (setq as-w (vfl-in-value "STR" + (function (lambda () (vf-frage-element-winkel "vf-winkel-aus-header"))))) + (setq *vfl-as-winkel* as-w) + (princ (ssg-text "vfl-aus-seite-header")) + (princ (ssg-text "gf-seite-links")) + (princ (ssg-text "gf-seite-rechts")) + (setq antwort (vfl-menu (ssg-text "prompt-wahl-1-2") + (list (ssg-text "gf-seite-links") (ssg-text "gf-seite-rechts")) 1 + "vfl-aus-seite-header")) + (setq as-s (if (= antwort "2") "rechts" "links")) + (setq as-seite as-s) + (vf-set-as-masse as-w as-s) + (setq as-vorhanden t) + ) + ) + ;; --- Richtung waehlen (Nutzer-Vorgabe 2026-09-12): die Gerade, auf + ;; der KS_EIN des AS-Elements UND (nach dem ganzen Umweg) KS_AUS des + ;; ES-Elements liegen sollen - per Mausklick wie ueberall sonst im + ;; Linienzug (vfl-in-richtung, auf das 30-Grad-Weltraster gesnappt). + ;; p0x/p0y (das REFERENZ-KS_EIN fuer die Kolinearitaets-Pruefung) sind + ;; hier einfach der gepickte Punkt selbst - fuer DIESE Option wird + ;; AS_Element unten bewusst MIT KS_EIN (nicht mit dem Block-Ursprung) + ;; auf den Klickpunkt gefluchtet (Nutzer-Vorgabe 2026-09-12: der + ;; Klickpunkt soll die reale Anlagenplanung, z.B. Kreisel-Anschluss, + ;; exakt treffen). + (setq theta-ref (vfl-in-richtung p-aktuell (ssg-text "vfl-qc-prompt-richtung"))) + (if (null theta-ref) (progn (princ (ssg-text "vfl-abgebrochen")) (exit))) + ;; Echter Grundriss-Schwenk des AS-Elements (KEINE Annahme "30 bzw. 90 + ;; Grad genau" - die reale Blockgeometrie entscheidet, siehe + ;; vf-element-plan-turn) - die gewaehlte Richtung ist die EINTRITTS- + ;; Achse (KS_EIN), die tatsaechliche Fahrtrichtung danach (hz0, KS_AUS) + ;; liegt um diesen Schwenk verdreht. + (setq as-turn (vf-element-plan-turn (strcat "AS_Element_" as-w "_" as-s))) + (setq hz0 (+ theta-ref as-turn)) + ;; --- Mengengeruest abfragen --- + ;; E1 ist die GESAMTE Strecke vom AS-Austritt bis zum ersten 30-Grad- + ;; Bogen INKLUSIVE des dazwischenliegenden 300mm-Separators (Nutzer- + ;; Korrektur 2026-09-12: vorher kam der Separator ZUSAETZLICH oben + ;; drauf, die Kette wurde dadurch laenger als eingegeben) - die reine + ;; GF-Geradenstrecke ist E1 MINUS des Separator-Horizontalanteils. + (setq rad3 (* (float (fix *vfk-gefaelle-winkel*)) (/ pi 180.0))) + (setq e1-brutto (vfl-in-real (ssg-textf "vfl-qc-prompt-e1" (list (rtos *vfk-qc-einlauf-laenge* 2 0))))) + (if (null e1-brutto) (setq e1-brutto *vfk-qc-einlauf-laenge*)) + (setq e1 (- e1-brutto (* *vfk-separator-laenge* (cos rad3)))) + (setq ziel-laenge (vfl-in-real (ssg-text "vfl-qc-prompt-gesamtlaenge-mittelteil"))) + (setq anteil (vfl-in-real (ssg-textf "vfl-qc-prompt-anteil" (list (rtos *vfk-qc-fallend-anteil-default* 2 2))))) + (if (null anteil) (setq anteil *vfk-qc-fallend-anteil-default*)) + ;; E2 (Laenge 2. Bogen -> ES) wird NICHT gefragt (Nutzer-Vorgabe + ;; 2026-09-12): sobald Winkel und alle anderen Laengen feststehen, ist + ;; sie die einzige verbleibende Freiheit, um die Kette exakt auf + ;; theta-ref zurueckzufuehren - siehe die Geraden-Gleichung weiter + ;; unten (nach dem 2. Bogen, ueber vfl-kreuz2d). + (if (vfl-wizard-aktiv) (vl-catch-all-apply 'vflw-gruppe-qc-winkel-impl (list "vf-winkel-ein-header"))) + (princ (ssg-text "vf-winkel-ein-header")) + (princ (ssg-text "vf-winkel-90")) + (princ (ssg-text "vf-winkel-30")) + (setq *vfl-es-winkel* + (vfl-in-value "STR" + (function (lambda () (vf-frage-element-winkel "vf-winkel-ein-header"))))) + (setq es-seite as-s) ; Nutzer-Vorgabe: ES-Seite = AS-Seite, keine Frage + (vf-set-es-masse *vfl-es-winkel* es-seite) + ;; --- Bogen-Seite UND -Winkel HERLEITEN (keine Frage, Nutzer-Vorgabe + ;; 2026-09-12): beide Boegen benutzen DIESELBE Seite UND denselben + ;; Winkel. Damit die Kette am Ende wieder auf theta-ref liegt, muss der + ;; Boegen-Schwenk b die Gleichung as-turn + 2*b + es-turn = 0 + ;; erfuellen - b wird daraus hergeleitet und gegen die vier real + ;; vorhandenen Bogen-Varianten (30/90 Grad x links/rechts - AS/ES + ;; koennen laut Nutzer-Vorgabe nur 30 oder 90 Grad sein, mehr braucht + ;; es daher nicht) geprueft (kein Raten); passt keine, ist die + ;; Winkel-Kombination nicht schliessbar. + (setq es-turn (vf-element-plan-turn (strcat "ES_Element_" *vfl-es-winkel* "_" es-seite))) + (setq bogen-turn-30-r (vf-element-plan-turn "Gefaellebogen_rechts_30_R500")) + (setq bogen-turn-30-l (vf-element-plan-turn "Gefaellebogen_links_30_R500")) + (setq bogen-turn-90-r (vf-element-plan-turn "Gefaellebogen_rechts_90_R500")) + (setq bogen-turn-90-l (vf-element-plan-turn "Gefaellebogen_links_90_R500")) + (setq b-noetig (/ (- (+ as-turn es-turn)) 2.0)) + (setq tol 2.0) + (setq bogen-seite nil bogen-winkel nil) + (cond + ((< (abs (- bogen-turn-30-r b-noetig)) tol) (setq bogen-seite "rechts" bogen-winkel 30)) + ((< (abs (- bogen-turn-30-l b-noetig)) tol) (setq bogen-seite "links" bogen-winkel 30)) + ((< (abs (- bogen-turn-90-r b-noetig)) tol) (setq bogen-seite "rechts" bogen-winkel 90)) + ((< (abs (- bogen-turn-90-l b-noetig)) tol) (setq bogen-seite "links" bogen-winkel 90)) + ) + (if (null bogen-seite) + (princ (ssg-textf "vfl-qc-bogen-nicht-schliessbar" + (list (rtos as-turn 2 1) (rtos es-turn 2 1) (rtos b-noetig 2 1)))) + (progn + (setq bogen-turn-echt + (cond + ((and (= bogen-seite "rechts") (= bogen-winkel 30)) bogen-turn-30-r) + ((and (= bogen-seite "links") (= bogen-winkel 30)) bogen-turn-30-l) + ((and (= bogen-seite "rechts") (= bogen-winkel 90)) bogen-turn-90-r) + (T bogen-turn-90-l))) + (setq rad3 (* (float (fix *vfk-gefaelle-winkel*)) (/ pi 180.0))) + (setq tan3 (/ (sin rad3) (cos rad3))) + (setq dref-x (cos (* (float theta-ref) (/ pi 180.0)))) + (setq dref-y (sin (* (float theta-ref) (/ pi 180.0)))) + ;; --- AS + E1 + Sep + 1. Bogen JETZT SCHON WIRKLICH BAUEN (nicht erst + ;; nach der Hoehenbilanz) - Grund (Nutzer-Befund 2026-09-12): + ;; Gefaellebogen-Bloecke haengen an einem BEREITS 3-Grad-geneigten + ;; Rahmen - ihre reale Positions-/Hoehenwirkung liess sich per Formel + ;; nicht zuverlaessig vorhersagen (siehe vfl-gf-auf-ab-solve-Historie); + ;; MESSEN nach echtem Bau ist robuster als eine weitere Rotationsformel + ;; zu vertrauen. Faellt die Kette hinterher als "nicht baubar" durch, + ;; wird diese Teil-Geometrie ueber checkpoint/vfl-loesche-seit wieder + ;; entfernt. + ;; AS-Einfuegung fuer diese Option BEWUSST NICHT ueber + ;; vfl-insert-as-element (das fluchtet den Block-URSPRUNG auf den + ;; Kettenpunkt, siehe dortiger Kommentar - Mittelachsen-Konvention der + ;; UEBRIGEN Linie-GF-Zweige) - Nutzer-Vorgabe 2026-09-12 fuer DIESE + ;; Option: der Klickpunkt soll die reale Anlagenplanung exakt treffen + ;; (z.B. Anschluss an einen Kreisel), darum wird hier KS_EIN direkt + ;; (xy-ref/z-ref="KS_EIN") auf den Klickpunkt gefluchtet - p0-real ist + ;; dadurch einfach der Klickpunkt selbst, keine Nachmessung mehr noetig. + (setq checkpoint (vf-lastent-ohne-attribute)) + (setq p0-real p-aktuell) + (setq p0x (car p0-real) p0y (cadr p0-real)) + (setq theta-ref-rad (* (float theta-ref) (/ pi 180.0))) + (setq frame (insert-block-mixed-to-ks + (strcat "AS_Element_" as-w "_" as-s) + (make-frame-from-dir p-aktuell (list (cos theta-ref-rad) (sin theta-ref-rad) 0.0)) + (caddr p-aktuell) "KS_EIN" "KS_EIN")) + (setq p-aktuell (car frame)) + (setq soll-hoehe (caddr p-aktuell)) + (princ (ssg-textf "vfl-qc-ks-ein-gemessen" + (list (rtos p0x 2 2) (rtos p0y 2 2) (rtos (caddr p0-real) 2 2)))) + (setq hz-jetzt (car (frame->hz-winkel frame))) + (setq frame (vfl-insert-gf-segment (car frame) hz-jetzt e1 (fix *vfk-gefaelle-winkel*))) + (vfl-acc-gf-seg (/ e1 (cos rad3)) (fix *vfk-gefaelle-winkel*)) + (setq anzahl-gf (1+ anzahl-gf)) + (setq frame (vfl-insert-separator frame)) + (setq frame (vfl-insert-gf-bogen-block frame bogen-winkel bogen-seite)) + (setq hz1 (car (frame->hz-winkel frame))) + (setq hz2 (+ hz1 bogen-turn-echt)) + ;; --- 2. Bogen UND Separator+ES werden HIER PROBEWEISE an der + ;; AKTUELLEN Stelle (nach dem 1. Bogen) eingefuegt, ihre reale + ;; Wirkung gemessen, dann wieder geloescht (Nutzer-Log 2026-09-12: + ;; trotz mehrerer Korrekturrunden an der Formel-Schaetzung blieb eine + ;; Rest-Abweichung - die Division im E2-Solve kann jeden + ;; verbleibenden Schaetzfehler stark verstaerken, wenn hz2 nah an + ;; theta-ref liegt. ECHT MESSEN statt einer vierten Formel-Korrektur). + ;; Gueltig, weil sowohl der 2. Bogen als auch Separator+ES NUR von der + ;; ANKUNFTS-ORIENTIERUNG abhaengen (hz1 bzw. die daraus resultierende + ;; hz2), nicht von der Position - die Probe an dieser Stelle liefert + ;; also exakt dieselbe relative Wirkung wie der spaetere echte Bau + ;; nach Fa/S/Fb (dieselbe Orientierung, nur eine andere Position). Das + ;; Mittelteil (Fa+Sep+Bogen6auf+S+Bogen6ab+Fb+Sep) hat als GANZES per + ;; Definition die horizontale Laenge ziel-laenge (Nutzer-Eingabe) - + ;; IMMER, unabhaengig von der spaeteren F_total/S-Aufteilung (beide + ;; Teile liegen auf derselben Fahrtrichtung hz1) - daher genuegt fuer + ;; die Position vor der Probe ein einfacher ziel-laenge-Vorschub. + (setq hz1-rad (* (float hz1) (/ pi 180.0))) + ;; vfl-insert-gf-bogen-block/vfl-insert-es-element zaehlen intern in + ;; *vfl-acc-gfbogen*/*vfl-acc-separator* mit (fuer die spaeteren + ;; GF_Bogen_L/R_xx- bzw. Separator-Attribute) - die Probe darf diese + ;; Zaehler NICHT dauerhaft verfaelschen, darum sichern/zuruecksetzen. + (setq acc-gfbogen-save *vfl-acc-gfbogen* acc-sep-save *vfl-acc-separator*) + (setq probe-checkpoint (vf-lastent-ohne-attribute)) + (setq probe-frame (vfl-insert-gf-bogen-block frame bogen-winkel bogen-seite)) + (setq hz2 (car (frame->hz-winkel probe-frame))) + (setq bg2x (- (car (car probe-frame)) (car (car frame)))) + (setq bg2y (- (cadr (car probe-frame)) (cadr (car frame)))) + (setq bg2z (- (caddr (car probe-frame)) (caddr (car frame)))) + (setq probe-frame2 (vfl-insert-es-element "GF" probe-frame hz2 (fix *vfk-gefaelle-winkel*) + (caddr (car probe-frame)) es-seite)) + (setq esx (- (car (car probe-frame2)) (car (car probe-frame)))) + (setq esy (- (cadr (car probe-frame2)) (cadr (car probe-frame)))) + (setq esz (- (caddr (car probe-frame2)) (caddr (car probe-frame)))) + (vfl-loesche-seit probe-checkpoint) + (setq *vfl-acc-gfbogen* acc-gfbogen-save *vfl-acc-separator* acc-sep-save) + (setq hz2-rad (* (float hz2) (/ pi 180.0))) + (setq px (+ (car (car frame)) (* ziel-laenge (cos hz1-rad)) bg2x)) + (setq py (+ (cadr (car frame)) (* ziel-laenge (sin hz1-rad)) bg2y)) + (setq vx (- px p0x) vy (- py p0y)) + (setq zaehler (- (+ (vfl-kreuz2d vx vy dref-x dref-y) + (vfl-kreuz2d esx esy dref-x dref-y)))) + (setq nenner (vfl-kreuz2d (cos hz2-rad) (sin hz2-rad) dref-x dref-y)) + (setq e2 (/ zaehler nenner)) + (if (< e2 1.0) + (progn + (princ (ssg-textf "vfl-qc-e2-negativ" (list (rtos e2 2 0)))) + (vfl-loesche-seit checkpoint)) + (progn + ;; --- Ziel-Hoehenaenderung des Mittelteils: AS+E1+Sep+1.Bogen sind + ;; bereits ECHT gebaut (frame traegt die reale Hoehe nach dem 1. + ;; Bogen) - kein Formel-Risiko mehr fuer diesen Teil. WICHTIG: die + ;; Referenz fuer "gleiche Hoehe" ist KS_EIN des AS-Elements (Z des + ;; Klickpunkts, siehe insert-block-mixed-to-ks z-ref="KS_EIN"), NICHT + ;; soll-hoehe (= AS's KS_AUS-Hoehe, direkt nach dem Bau gemessen) - + ;; genau wie bei der X/Y-Referenzgerade weiter oben. AS hat einen + ;; ECHTEN, von Null verschiedenen KS_EIN->KS_AUS-Hoehenanteil (aus-dz, + ;; Nutzer-Korrektur vom Sitzungsbeginn) - der muss hier separat wieder + ;; hinzugerechnet werden (die reale Frame-Messung ab soll-hoehe + ;; deckt nur "AS-KS_AUS bis nach 1.Bogen" ab, nicht "AS-KS_EIN bis + ;; AS-KS_AUS"). bg2z/esz sind die oben ECHT GEMESSENEN Hoehenanteile + ;; des 2. Bogens bzw. von Separator+ES (Probe-Bau) - kein + ;; Formel-Risiko mehr. Es fehlt nur noch E2 selbst (reine Gerade, + ;; E2*tan3 exakt). + (setq h-aussen-rest + (+ aus-dz + (- (caddr (car frame)) soll-hoehe) + bg2z + (- (* e2 tan3)) + esz)) + ;; --- Solver: F_total/S aus vorgegebener Mittelteil-Gesamtlaenge und + ;; der noch fehlenden Hoehenaenderung (Rest bis Gesamtbilanz=0) --- + (setq loesung (vfl-gf-auf-ab-solve ziel-laenge (- h-aussen-rest))) + (setq f-total (nth 0 loesung) s (nth 1 loesung) gueltig (nth 2 loesung)) + (if (not gueltig) + (progn + (princ (ssg-textf "vfl-qc-nicht-baubar" (list (rtos f-total 2 0) (rtos s 2 0) (rtos (nth 3 loesung) 2 0)))) + (vfl-loesche-seit checkpoint)) + (progn + (setq fa (* f-total anteil)) + (setq fb (- f-total fa)) + ;; --- Rest WIRKLICH bauen (physische Reihenfolge; AS/E1/Sep/1. + ;; Bogen sind bereits gebaut, frame steht auf dessen Ausgang) --- + (setq hz-jetzt (car (frame->hz-winkel frame))) + (setq frame (vfl-insert-gf-segment (car frame) hz-jetzt fa (fix *vfk-gefaelle-winkel*))) + (vfl-acc-gf-seg (/ fa (cos rad3)) (fix *vfk-gefaelle-winkel*)) + (setq anzahl-gf (1+ anzahl-gf)) + (setq frame (vfl-insert-separator frame)) + (setq erg-bogen (vfl-gf-bogen-uebergang frame (- (fix *vfk-gefaelle-winkel*)))) + (setq frame (car erg-bogen)) + (setq hz-jetzt (car (frame->hz-winkel frame))) + (setq frame (vfl-insert-gf-segment (car frame) hz-jetzt s (- (fix *vfk-gefaelle-winkel*)))) + (vfl-acc-gf-seg (/ s (cos rad3)) (- (fix *vfk-gefaelle-winkel*))) + (setq anzahl-gf (1+ anzahl-gf)) + (setq erg-bogen (vfl-gf-bogen-uebergang frame (fix *vfk-gefaelle-winkel*))) + (setq frame (car erg-bogen)) + (setq hz-jetzt (car (frame->hz-winkel frame))) + (setq frame (vfl-insert-gf-segment (car frame) hz-jetzt fb (fix *vfk-gefaelle-winkel*))) + (vfl-acc-gf-seg (/ fb (cos rad3)) (fix *vfk-gefaelle-winkel*)) + (setq anzahl-gf (1+ anzahl-gf)) + (setq frame (vfl-insert-separator frame)) + (setq frame (vfl-insert-gf-bogen-block frame bogen-winkel bogen-seite)) + (setq hz-jetzt (car (frame->hz-winkel frame))) + (setq frame (vfl-insert-gf-segment (car frame) hz-jetzt e2 (fix *vfk-gefaelle-winkel*))) + (vfl-acc-gf-seg (/ e2 (cos rad3)) (fix *vfk-gefaelle-winkel*)) + (setq anzahl-gf (1+ anzahl-gf)) + (setq frame (vfl-insert-es-element "GF" frame hz-jetzt (fix *vfk-gefaelle-winkel*) + (caddr (car frame)) es-seite)) + (setq p-aktuell (car frame)) + (setq letzter-typ "GF") + (setq ist-hoehe (caddr p-aktuell)) + (setq abweichung (vfl-kreuz2d (- (car p-aktuell) p0x) (- (cadr p-aktuell) p0y) dref-x dref-y)) + (princ (ssg-textf "vfl-qc-erfolg" + (list (rtos soll-hoehe 2 1) (rtos ist-hoehe 2 1) (rtos abweichung 2 1)))) + (setq fertig t) + ) + ) + ) + ) + ) + ) + ) + ) +) + +;; ------------------------------------------------------------------ +;; "QC Linie mit GF und U-Form" (Option 5 der gf-laenge-modus-Frage, +;; Nutzer-Vorgabe 2026-09-13, nach mehreren Praezisierungsrunden - inkl. echter +;; BricsCAD-Tests): wie vfl-qc-linie-mit-gf (Option 4), aber statt EINES +;; 30/90-Grad-Bogens ein kompletter U-Turn ueber ZWEI 90-Grad-GF- +;; Horizontalboegen (dieselbe Seite = GEGENSEITE der AS-Seite, zusammen ~180 +;; Grad Wende) mit einer festen Zwischenstrecke dazwischen. E1, die feste +;; Zwischenstrecke, beide 90-Grad-Bogen behalten dabei durchgehend die +;; aktuelle 3-Grad-Neigung bei (wie ueberall sonst in Linie-GF) - eine +;; probeweise horizontale (0 Grad) Variante wurde getestet und wieder +;; verworfen (Nutzer-Korrektur 2026-09-13). +;; AS/ES-Winkel sind fest 90 Grad, nur die Seite ist waehlbar. E1 UND die +;; Referenzrichtung werden in EINEM Klick bestimmt (vfl-in-abstand) - der +;; Klickpunkt markiert den Start des 1. Bogens, Separator-Laenge wird intern +;; abgezogen (wie Option 4: Klickpunkt = exakter Bogen-Start). AS wird mit +;; xy-ref/z-ref="KS_EIN" eingefuegt (Klickpunkt = KS_EIN exakt). theta-ref +;; (die Klick-Richtung) ist E1's Fahrtrichtung, NICHT AS's Eintrittsachse - +;; AS's KS_EIN-Achse (eintritt-hz = theta-ref - as-turn) steht bei einem +;; echten 90-Grad-Element senkrecht dazu und ist die Baseline, auf die ES am +;; Ende EXAKT zurueckkehren muss (Nutzer-Vorgabe, 3. Praezisierungsrunde: +;; erzwungen, nicht mehr nur informativ wie urspruenglich). +;; Mittelteil (Nutzer-Vorgabe 2026-09-13, finale Struktur nach mehreren +;; Praezisierungsrunden): nach dem 2. (horizontalen) Bogen direkt Fa +;; (fallend, STANDARD 3 Grad, UNBEKANNT) + Sep -> Uebergang fallend-> +;; steigend (auf_6, STANDARD - Fa/Sep garantieren sauber 3 Grad davor) -> +;; ECHTE Zusatz-Neigung auf -9 Grad (zweiter Vario_Bogen_auf_6-Baustein, +;; vfl-gf-bogen-weiter) -> S (steigend, 9 Grad - STEILER als Fa, UNBEKANNT, +;; Nutzer-Vorgabe: je steiler S, desto kleiner kann E1 gewaehlt werden) -> +;; ECHTE Rueckkehr auf -3 Grad (zweiter Vario_Bogen_ab_6-Baustein) -> +;; Uebergang steigend->fallend (ab_6, STANDARD) -> ES (mit automatisch +;; gebuendeltem Separator). Fa UND S sind BEIDE Unbekannte, geloest aus +;; einem 2x2-System: Hoehenbilanz (S*tan9-Fa*tan3=D) UND Lage-Bilanz/ +;; Kolinearitaet zur Baseline (Fa+S=T, Kreuzprodukt-Gleichung wie Option 4's +;; E2-Loesung, inkl. dem Fixterm des Separators zwischen Fa und dem +;; auf_6-Uebergang). Der komplette Rest (Uebergang auf_6+Zusatz-auf_6+ +;; Zusatz-ab_6+ab_6+Sep+ES) haengt nur von der Ankunfts-Orientierung ab +;; (nicht von Fa/S selbst) - sein GESAMTER Hoehen- UND Lage-Beitrag (mit +;; Fa=S=0) wird darum per Probe-Bau+Messen VORAB ermittelt (dasselbe Prinzip +;; wie bei Option 4), danach Fa/S direkt geloest und alles ECHT gebaut. Die +;; asymmetrische Neigung (Fa bei 3, S bei 9 statt beide bei 3) macht Fa/S +;; erst ueber E1 steuerbar - bei identischen Winkeln waeren D und T +;; rechnerisch gleich empfindlich auf alle Laengen-Eingaben, das +;; Gleichungssystem also nicht ueber Nutzereingaben beeinflussbar (Fa+S=T +;; haengt NIE von den Neigungswinkeln ab, nur die Hoehenbilanz tut es - +;; erst der Winkel-Unterschied entkoppelt beide Gleichungen genug, um +;; ueberhaupt eine Loesung ueber E1/Zwischenstrecke anzusteuern). +(defun vfl-qc-linie-mit-gf-uform ( / as-w as-s bogen-seite theta-ref as-turn eintritt-hz + hz-jetzt e1 e1-brutto erg-abstand fest-laenge + e1-neigung e1-neigung-rad + s fa d-hoehe t-lage gueltig sep-dx-planar sep-dz + s-winkel extra-grad rad-s tan-s versuche + tan-e1neigung d-fa-de1 e1-vorschlag + soll-hoehe ist-hoehe rad3 tan3 + p0x p0y dref-x dref-y theta-ref-rad + checkpoint p0-real h-aussen-rest hoehe-vor-fa + p2x p2y hz2 hz2-rad fixedx fixedy dx-fix dy-fix + probe-checkpoint probe-frame-a probe-frame-b probe-frame-c dz-fix + acc-gfbogen-save acc-sep-save + abweichung antwort erg-bogen) + (if (not kettenanfang) + (princ (ssg-text "vfl-qc-uform-nur-kettenanfang")) + (progn + ;; --- AS-Seite: wiederverwenden, falls am Kettenanfang schon + ;; entschieden - Winkel wird IMMER auf 90 erzwungen (Nutzer-Vorgabe), + ;; unabhaengig davon, was bei der allgemeinen AS-Frage evtl. schon + ;; gewaehlt wurde (vf-set-as-masse wird darum hier IMMER erneut mit "90" + ;; aufgerufen, auch wenn as-vorhanden schon t war). + (princ (ssg-text "vfl-qc-uform-winkel-fix")) + (if as-vorhanden + (setq as-s as-seite) + (progn + (princ (ssg-text "vfl-aus-seite-header")) + (princ (ssg-text "gf-seite-links")) + (princ (ssg-text "gf-seite-rechts")) + (setq antwort (vfl-menu (ssg-text "prompt-wahl-1-2") + (list (ssg-text "gf-seite-links") (ssg-text "gf-seite-rechts")) 1 + "vfl-aus-seite-header")) + (setq as-s (if (= antwort "2") "rechts" "links")) + (setq as-seite as-s) + (setq as-vorhanden t) + ) + ) + (setq as-w "90") + (vf-set-as-masse as-w as-s) + ;; Bogen-Seite = GEGENSEITE der AS-Seite (Nutzer-Korrektur 2026-09-13, + ;; nach BricsCAD-Test: mit bogen-seite=as-s lief der U-Turn in die + ;; falsche Richtung zurueck - die AS-Drehteller-Seite und die + ;; GF-Bogen-Seite sind entgegengesetzt konventioniert). + (setq bogen-seite (if (= as-s "links") "rechts" "links")) + (setq rad3 (* (float (fix *vfk-gefaelle-winkel*)) (/ pi 180.0))) + (setq tan3 (/ (sin rad3) (cos rad3))) + ;; rad-s/tan-s (S's Neigung) werden weiter unten PRO WINKEL-KANDIDAT neu + ;; berechnet (dynamische Winkelwahl, Nutzer-Vorgabe 2026-09-13) - Fa + ;; faellt immer bei 3 Grad, VOR S (asymmetrische Neigung fuer Fa/S, je + ;; steiler S desto kleiner kann E1 werden). + ;; --- Richtung UND E1-Laenge in EINEM Klick (Nutzer-Vorgabe + ;; 2026-09-13): der Klickpunkt markiert den Start des 1. 90-Grad-Bogens; + ;; Separator-Laenge wird intern abgezogen, damit der Bogen exakt dort + ;; beginnt (wie Option 4's Klickpunkt=KS_EIN-Prinzip). --- + (setq erg-abstand (vfl-in-abstand p-aktuell nil (ssg-text "vfl-qc-uform-prompt-richtung-e1"))) + (if (null erg-abstand) (progn (princ (ssg-text "vfl-abgebrochen")) (exit))) + (setq e1-brutto (car erg-abstand) theta-ref (cdr erg-abstand)) + ;; Konsolen-Echo (Nutzer-Vorgabe 2026-09-13): anders als bei einem + ;; Zahl-Dialog zeigt ein reiner Klick den erfassten Wert nicht von + ;; selbst an - wie bei vfl-echo-endpunkt-hoehe/vfl-echo-position wird + ;; das Ergebnis darum explizit ausgegeben. + (princ (ssg-textf "vfl-qc-uform-e1-echo" (list (rtos e1-brutto 2 0) (rtos theta-ref 2 1)))) + (setq as-turn (vf-element-plan-turn (strcat "AS_Element_" as-w "_" as-s))) + ;; --- E1-Neigung: NICHT die angenommene *vfk-gefaelle-winkel* (3 Grad), + ;; sondern die REALE, am AS-Block gemessene Neigungsaenderung KS_EIN-> + ;; KS_AUS (Nutzer-Vorgabe 2026-09-13, NUR fuer diese Option - siehe + ;; vf-element-plan-neigung-Kommentar). E1 schliesst damit exakt an AS's + ;; echten KS_AUS an, ohne kuenstlichen Neigungssprung. Als Nebeneffekt + ;; (Nutzer-Befund) wird dadurch Fa/S ueber E1 steuerbar - bei E1-Neigung + ;; = 3 Grad waeren D (Hoehenbilanz) und T (Lagebilanz) rechnerisch exakt + ;; gleich empfindlich auf E1, Fa haette also NICHT ueber E1 korrigiert + ;; werden koennen. + (setq e1-neigung (vf-element-plan-neigung (strcat "AS_Element_" as-w "_" as-s))) + (setq e1-neigung-rad (* (float e1-neigung) (/ pi 180.0))) + (princ (ssg-textf "vfl-qc-uform-e1-neigung-echo" (list (rtos e1-neigung 2 2)))) + ;; Separator-Abzug mit e1-neigung (nicht rad3) - der Separator erbt die + ;; Neigung des vorangehenden Segments (E1), nicht die feste 3 Grad. + (setq e1 (- e1-brutto (* *vfk-separator-laenge* (cos e1-neigung-rad)))) + ;; --- Restliches Mengengeruest --- + (setq fest-laenge (vfl-in-real (ssg-textf "vfl-qc-prompt-u-fest-laenge" (list (rtos *vfk-qc-u-fest-laenge* 2 0))))) + (if (null fest-laenge) (setq fest-laenge *vfk-qc-u-fest-laenge*)) + (setq es-seite as-s) ; Nutzer-Vorgabe: ES-Seite = AS-Seite, keine Frage + (vf-set-es-masse "90" es-seite) ; ES-Winkel ebenfalls fest 90, keine Frage + ;; --- AS wirklich bauen (Klickpunkt = KS_EIN, wie Option 4) --- + ;; WICHTIG (Nutzer-Korrektur 2026-09-13): theta-ref ist die gewuenschte + ;; FAHRTRICHTUNG von E1 (der Klick misst e1-brutto entlang theta-ref, + ;; siehe vfl-in-abstand) - das ist AS's AUSTRITTS-Richtung (KS_AUS), + ;; NICHT die Eintritts-Achse (KS_EIN)! AS_Element_90 dreht intern um + ;; as-turn (gemessen, nicht angenommen) - die KS_EIN-Achse muss darum + ;; um as-turn ZURUECKgedreht werden (eintritt-hz = theta-ref - as-turn), + ;; damit KS_AUS nach dem Bau exakt auf theta-ref zeigt. Bei einem + ;; echten 90-Grad-Bogen bedeutet das: die KS_EIN-Achse steht senkrecht + ;; zur gewaehlten Richtung. + (setq eintritt-hz (- theta-ref as-turn)) + ;; Referenzgerade (Baseline), zu der ES am Ende EXAKT zurueckkehren soll + ;; (Nutzer-Vorgabe 2026-09-13, 3. Runde: erzwungen, nicht mehr nur + ;; informativ), ist AS's EINTRITTS-Achse (eintritt-hz, senkrecht zu + ;; theta-ref) - NICHT theta-ref selbst (das ist E1's Fahrtrichtung). + (setq dref-x (cos (* (float eintritt-hz) (/ pi 180.0)))) + (setq dref-y (sin (* (float eintritt-hz) (/ pi 180.0)))) + (setq checkpoint (vf-lastent-ohne-attribute)) + (setq p0-real p-aktuell) + (setq p0x (car p0-real) p0y (cadr p0-real)) + (setq theta-ref-rad (* (float eintritt-hz) (/ pi 180.0))) + (setq frame (insert-block-mixed-to-ks + (strcat "AS_Element_" as-w "_" as-s) + (make-frame-from-dir p-aktuell (list (cos theta-ref-rad) (sin theta-ref-rad) 0.0)) + (caddr p-aktuell) "KS_EIN" "KS_EIN")) + (setq p-aktuell (car frame)) + (setq soll-hoehe (caddr p-aktuell)) + (princ (ssg-textf "vfl-qc-ks-ein-gemessen" + (list (rtos p0x 2 2) (rtos p0y 2 2) (rtos (caddr p0-real) 2 2)))) + ;; --- E1 + Sep bei e1-neigung (REAL gemessen, NICHT der festen 3-Grad- + ;; Annahme - siehe Kommentar oben), danach 1. Bogen, feste + ;; Zwischenstrecke, 2. Bogen bei der jetzt aktuellen Neigung (Bogen/ + ;; Zwischenstrecke sind neigungs-agnostisch, "erhalten die aktuelle + ;; Neigung") - ALLES strikt sequenziell ECHT gebaut. --- + (setq hz-jetzt (car (frame->hz-winkel frame))) + (setq frame (vfl-insert-gf-segment (car frame) hz-jetzt e1 e1-neigung)) + (vfl-acc-gf-seg (/ e1 (cos e1-neigung-rad)) e1-neigung) + (setq anzahl-gf (1+ anzahl-gf)) + (setq frame (vfl-insert-separator frame)) + ;; --- Rein rechnerischer Ruecksprung auf EXAKT 3 Grad (Nutzer-Vorgabe + ;; 2026-09-13): e1-neigung ist die REALE AS-Neigung, oft ein "krummer" + ;; Wert, keiner der beiden Zustaende (flach/3 Grad), die die + ;; Uebergangs-Bogen-Bibliothek kennt - ein spaeterer Uebergang auf + ;; steigend (fuer Bogen-auf-6) wuerde sonst falsch klassifiziert + ;; (Nutzer-Befund: "auf_3" statt "auf_6" im Log). Position/Fahrtrichtung + ;; bleiben unveraendert, nur die Neigung wird auf *vfk-gefaelle-winkel* + ;; gesetzt - wie jeder GF-Geraden-Uebergang (vfl-insert-gf-segment endet + ;; ja ebenfalls immer mit genau der uebergebenen winkel, kein + ;; Uebergangs-Baustein noetig) --- + (setq hz-jetzt (car (frame->hz-winkel frame))) + (setq frame (make-frame-from-dir (car frame) (hz-winkel->xu hz-jetzt (fix *vfk-gefaelle-winkel*)))) + (setq frame (vfl-insert-gf-bogen-block frame 90 bogen-seite)) + (setq hz-jetzt (car (frame->hz-winkel frame))) + (setq frame (vfl-insert-gf-segment (car frame) hz-jetzt fest-laenge (fix *vfk-gefaelle-winkel*))) + (vfl-acc-gf-seg (/ fest-laenge (cos rad3)) (fix *vfk-gefaelle-winkel*)) + (setq anzahl-gf (1+ anzahl-gf)) + (setq frame (vfl-insert-gf-bogen-block frame 90 bogen-seite)) + ;; --- Nochmaliger rein rechnerischer Ruecksprung auf EXAKT 3 Grad NACH + ;; Bogen2 (Nutzer-Befund 2026-09-13: die Gefaellebogen_..._90_R500- + ;; Bloecke geben ihre eigene, REAL gemessene KS_AUS-Neigung zurueck - + ;; die weicht leicht von der eingehenden Neigung ab und fiel dann in + ;; die "flach"-Toleranz von vfl-gf-bogen-uebergang, was die PROBE + ;; direkt betrifft: die Probe ruft vfl-gf-bogen-uebergang naemlich MIT + ;; dem rohen frame direkt nach Bogen2 auf, NOCH BEVOR Fa gebaut wird - + ;; Fa's eigene Neigungs-Korrektur (explizites winkel=3) kommt fuer die + ;; Probe also zu spaet. Position (car frame) bleibt unveraendert, nur + ;; die Neigung wird hart auf *vfk-gefaelle-winkel* gesetzt - dasselbe + ;; Prinzip wie beim E1-Fix weiter oben. --- + (setq hz-jetzt (car (frame->hz-winkel frame))) + (setq frame (make-frame-from-dir (car frame) (hz-winkel->xu hz-jetzt (fix *vfk-gefaelle-winkel*)))) + (setq hoehe-vor-fa (caddr (car frame))) + (setq p2x (car (car frame)) p2y (cadr (car frame))) + (setq hz2 (car (frame->hz-winkel frame))) + (setq hz2-rad (* (float hz2) (/ pi 180.0))) + ;; --- Dynamische Winkelwahl (Nutzer-Vorgabe 2026-09-13: "gegebene + ;; Laenge -> passenden Winkel waehlen" statt einem einzigen fest + ;; verdrahteten Winkel): S beginnt beim symmetrischen Grundfall (3 + ;; Grad, extra-grad=0) und wird in 3-Grad-Schritten steiler (6, 9, + ;; 12, ...), bis Fa/S beide baubar sind (>=0) - der FLACHSTE passende + ;; Winkel wird automatisch gewaehlt. Jede Erweiterung nutzt ECHTE + ;; Bausteine (vfl-gf-bogen-erweitern: moeglichst viele 6-Grad-, ein + ;; 3-Grad-Rest-Baustein). Je Kandidat: Probe-Bau+Messen (wie Option 4) + ;; von Bogen-auf-6 + Erweiterung + Rueckkehr + Bogen-ab-6 + Sep+ES + ;; (Fa=S=0) - ihr GESAMTER Hoehen- UND Lage-Beitrag haengt nur von der + ;; Ankunfts-Orientierung ab (hz2), nicht von Fa/S. Fa (fallend, VOR S, + ;; 3 Grad) und S (steigend, NACH Fa, s-winkel) sind die beiden + ;; Unbekannten in einem 2x2-System: Hoehenbilanz (S*tan(s-winkel)- + ;; Fa*tan3=D) UND Lage-Bilanz (Fa+S=T, Kolinearitaet zur Baseline + ;; eintritt-hz/dref). --- + ;; --- Separator ZWISCHEN Fa und dem auf_6-Uebergang: die Probe beginnt + ;; DIREKT bei p2 (ohne Fa/Sep) - Fa selbst steckt schon in der Gleichung + ;; (S-Fa), aber der Separator NACH Fa hat eine EIGENE, FESTE (vom + ;; Nutzer nicht beeinflussbare) Horizontal-/Hoehenwirkung, die sonst + ;; NIRGENDS mitgezaehlt wuerde (Bug-Fund 2026-09-13: realer Test lief + ;; durch, aber deltaX/deltaZ zur Baseline waren NICHT null). Analog zu + ;; Option 4's fix-dx/fix-dz (vfl-gf-auf-ab-solve) wird sein Fussabdruck + ;; hier explizit ergaenzt. --- + (setq sep-dx-planar (* *vfk-separator-laenge* (cos rad3))) + (setq sep-dz (* *vfk-separator-laenge* (sin rad3))) + (setq s-winkel (fix *vfk-gefaelle-winkel*)) + (setq versuche 0 gueltig nil) + (while (and (not gueltig) (< versuche 10)) + (setq extra-grad (- s-winkel (fix *vfk-gefaelle-winkel*))) + (setq rad-s (* (float s-winkel) (/ pi 180.0))) + (setq tan-s (/ (sin rad-s) (cos rad-s))) + (setq acc-gfbogen-save *vfl-acc-gfbogen* acc-sep-save *vfl-acc-separator*) + (setq probe-checkpoint (vf-lastent-ohne-attribute)) + (setq probe-frame-a (car (vfl-gf-bogen-uebergang frame (- (fix *vfk-gefaelle-winkel*))))) + (setq probe-frame-a (vfl-gf-bogen-erweitern probe-frame-a "auf" (- (fix *vfk-gefaelle-winkel*)) extra-grad)) + (setq probe-frame-a (vfl-gf-bogen-erweitern probe-frame-a "ab" (- s-winkel) extra-grad)) + (setq probe-frame-b (car (vfl-gf-bogen-uebergang probe-frame-a (fix *vfk-gefaelle-winkel*)))) + (setq probe-frame-c (vfl-insert-es-element "GF" probe-frame-b (car (frame->hz-winkel probe-frame-b)) + (fix *vfk-gefaelle-winkel*) (caddr (car probe-frame-b)) es-seite)) + (setq dz-fix (- (caddr (car probe-frame-c)) hoehe-vor-fa)) + (setq dx-fix (- (car (car probe-frame-c)) p2x)) + (setq dy-fix (- (cadr (car probe-frame-c)) p2y)) + (vfl-loesche-seit probe-checkpoint) + (setq *vfl-acc-gfbogen* acc-gfbogen-save *vfl-acc-separator* acc-sep-save) + (setq h-aussen-rest (+ aus-dz (- hoehe-vor-fa soll-hoehe) dz-fix (- sep-dz))) + (setq d-hoehe (- h-aussen-rest)) + (setq fixedx (+ p2x dx-fix) fixedy (+ p2y dy-fix)) + (setq t-lage (- (/ (- (vfl-kreuz2d (- fixedx p0x) (- fixedy p0y) dref-x dref-y)) + (vfl-kreuz2d (cos hz2-rad) (sin hz2-rad) dref-x dref-y)) + sep-dx-planar)) + (setq s (/ (+ d-hoehe (* t-lage tan3)) (+ tan3 tan-s))) + (setq fa (- t-lage s)) + (setq gueltig (and (>= s -0.01) (>= fa -0.01))) + (if (not gueltig) (setq s-winkel (+ s-winkel (fix *vfk-gefaelle-winkel*)))) + (setq versuche (1+ versuche)) + ) + (princ (ssg-textf "vfl-qc-uform-fa-s-echo" (list (rtos fa 2 0) (rtos s 2 0) (itoa s-winkel)))) + (if (not gueltig) + (progn + ;; --- Mindest-E1-Vorschlag (Nutzer-Vorgabe 2026-09-13, analog zu + ;; Option 4's Mindest-Gesamtlaenge): d(Fa)/d(E1) ist EXAKT konstant + ;; (haengt nur von s-winkel/e1-neigung ab, nicht von E1 selbst) - + ;; die Korrektur ist damit kein Schaetzwert, sondern eine exakte + ;; algebraische Aufloesung nach E1, bei der Fa (mit dem STEILSTEN + ;; probierten S-Winkel, hier also der beste erreichbare Fall) genau + ;; 0 wird. --- + (setq tan-e1neigung (/ (sin e1-neigung-rad) (cos e1-neigung-rad))) + (setq d-fa-de1 (/ (- tan-s tan-e1neigung) (+ tan3 tan-s))) + (setq e1-vorschlag (if (> d-fa-de1 0.0001) (+ e1-brutto (/ (- fa) d-fa-de1)) nil)) + (if e1-vorschlag + (princ (ssg-textf "vfl-qc-uform-fa-s-negativ-e1" (list (rtos fa 2 0) (rtos s 2 0) (rtos e1-vorschlag 2 0)))) + (princ (ssg-textf "vfl-qc-uform-fa-s-negativ" (list (rtos fa 2 0) (rtos s 2 0)))) + ) + (vfl-loesche-seit checkpoint)) + (progn + (setq extra-grad (- s-winkel (fix *vfk-gefaelle-winkel*))) + ;; --- Fa ECHT bauen (fallend, STANDARD 3 Grad, VOR S) + Sep --- + (setq frame (vfl-insert-gf-segment (car frame) hz2 fa (fix *vfk-gefaelle-winkel*))) + (vfl-acc-gf-seg (/ fa (cos rad3)) (fix *vfk-gefaelle-winkel*)) + (setq anzahl-gf (1+ anzahl-gf)) + (setq frame (vfl-insert-separator frame)) + ;; --- Uebergang fallend->steigend (auf_6, STANDARD - Fa/Sep + ;; garantieren sauber 3 Grad davor) --- + (setq erg-bogen (vfl-gf-bogen-uebergang frame (- (fix *vfk-gefaelle-winkel*)))) + (setq frame (car erg-bogen)) + ;; --- S bei s-winkel Grad (dynamisch gewaehlt): die zusaetzliche + ;; Neigung wird mit ECHTEN Bausteinen erreicht (vfl-gf-bogen- + ;; erweitern, siehe dort). --- + (setq frame (vfl-gf-bogen-erweitern frame "auf" (- (fix *vfk-gefaelle-winkel*)) extra-grad)) + (setq hz-jetzt (car (frame->hz-winkel frame))) + (setq frame (vfl-insert-gf-segment (car frame) hz-jetzt s (- s-winkel))) + (vfl-acc-gf-seg (/ s (cos rad-s)) (- s-winkel)) + (setq anzahl-gf (1+ anzahl-gf)) + (setq frame (vfl-gf-bogen-erweitern frame "ab" (- s-winkel) extra-grad)) + (setq erg-bogen (vfl-gf-bogen-uebergang frame (fix *vfk-gefaelle-winkel*))) + (setq frame (car erg-bogen)) + (setq hz-jetzt (car (frame->hz-winkel frame))) + (setq frame (vfl-insert-es-element "GF" frame hz-jetzt (fix *vfk-gefaelle-winkel*) + (caddr (car frame)) es-seite)) + (setq p-aktuell (car frame)) + (setq letzter-typ "GF") + (setq ist-hoehe (caddr p-aktuell)) + (setq abweichung (vfl-kreuz2d (- (car p-aktuell) p0x) (- (cadr p-aktuell) p0y) dref-x dref-y)) + (princ (ssg-textf "vfl-qc-erfolg" + (list (rtos soll-hoehe 2 1) (rtos ist-hoehe 2 1) (rtos abweichung 2 1)))) + (setq fertig t) + ) + ) + ) + ) +) + ;; Horizontales Sub-Segment bauen. Die flache Zone (0 Grad) wird NICHT mehr ;; automatisch mit ab_3 auf die 3-Grad-Basis zurueckgefuehrt - das Stueck ENDET ;; FLACH. Der ab_3-Uebergang kommt erst, wenn ein 3-Grad-Element folgt @@ -3312,7 +4287,7 @@ ;; Separator-Einbau). Im Wizard-Modus zeigt sie SELBST den Dialog ;; (vflw_kettenende, radio-basiert) und legt die Antwort in die Pending- ;; Queue - analog zu vfl-frage-ist-endpunkt. -(defun vfl-frage-ist-kettenende ( / dat ergebnis gwahl) +(defun vfl-frage-ist-kettenende ( / dat ergebnis gwahl antwort) (princ (ssg-text "vfl-ist-kettenende-header")) (princ (ssg-text "vfl-kettenende-opt-ja-es")) (princ (ssg-text "vfl-kettenende-opt-ja-ohne-es")) @@ -3342,11 +4317,12 @@ ) ) ) - (vfl-menu (ssg-text "vfl-prompt-wahl-1-3-def3") + (setq antwort (vfl-menu (ssg-text "vfl-prompt-wahl-1-3-def3") (list (ssg-text "vfl-kettenende-opt-ja-es") (ssg-text "vfl-kettenende-opt-ja-ohne-es") (ssg-text "vfl-kettenende-opt-nein")) 3 "vfl-ist-kettenende-header")) + antwort) ;; --- Horizontaler Koerper: Frage-Schale (Name unveraendert) --- ;; Fragt Separator vor/nach und - im Ziel-Modus - "Ist der Endpunkt der @@ -3537,7 +4513,7 @@ ;; horizontale-mitte eingerechnet) bleibt dabei unveraendert. ((= richtung "Auf") (princ (ssg-text "vfl-stufe1-start")) - (setq wahl (vfl-waehle-winkel (nth 3 (berechne-alle-winkel deltaL deltaH "Auf" feste-hz)))) + (setq wahl (vfl-waehle-winkel (nth 3 (berechne-alle-winkel deltaL deltaH "Auf" feste-hz schon-flach)))) (if wahl (list "VF" (nth 0 wahl) (nth 1 wahl) (nth 2 wahl)) (progn @@ -3569,7 +4545,7 @@ ;; Verzweigung unten und zum "Auf"-Fallback oben. ((> winkel-natuerlich *vfk-gefaelle-winkel*) (princ (ssg-text "vfl-stufe1-start")) - (setq wahl (vfl-waehle-winkel (nth 3 (berechne-alle-winkel deltaL deltaH "Ab" feste-hz)))) + (setq wahl (vfl-waehle-winkel (nth 3 (berechne-alle-winkel deltaL deltaH "Ab" feste-hz schon-flach)))) (if wahl (list "VF" (nth 0 wahl) (nth 1 wahl) (nth 2 wahl)) (progn @@ -3587,19 +4563,22 @@ (progn (vfl-diag-add (ssg-text "vfl-stufe2-ungueltig")) (princ (ssg-text "vfl-stufe1-start")) - (setq wahl (vfl-waehle-winkel (nth 3 (berechne-alle-winkel deltaL deltaH "Ab" feste-hz)))) + (setq wahl (vfl-waehle-winkel (nth 3 (berechne-alle-winkel deltaL deltaH "Ab" feste-hz schon-flach)))) (if wahl (list "VF" (nth 0 wahl) (nth 1 wahl) (nth 2 wahl)) (list nil nil nil nil))))))))) ;; Budget-Globals zuruecksetzen (setq aus-dx save-ausdx aus-dz save-ausdz FESTE_HORIZONTAL save-feste) res) -;; Duenner Wrapper: eigene Mindestlaenge (kuerzer als Motor+Separator = kein +;; Duenner Wrapper: eigene Mindestlaenge (kuerzer als das Budget = kein ;; Abschluss baubar), sonst delegiert an vfl-winkel-stufe-entscheidung mit dem -;; Kettenende-Budget. -(defun vfl-body-zerlegung (deltaL deltaH richtung schon-flach) - (if (< deltaL *vfk-kettenende-mindestlaenge*) +;; Kettenende-Budget. es-gewuenscht=nil senkt das Budget von 800 (Motor+ +;; Separator) auf 500 (nur Motor) - siehe vfl-body-budget. +(defun vfl-body-zerlegung (deltaL deltaH richtung schon-flach es-gewuenscht / + budget) + (setq budget (vfl-body-budget es-gewuenscht)) + (if (< deltaL budget) (list nil nil nil nil) - (vfl-winkel-stufe-entscheidung deltaL deltaH richtung schon-flach *vfk-feste-horizontal-kettenende*))) + (vfl-winkel-stufe-entscheidung deltaL deltaH richtung schon-flach budget))) ;; Fragt Zielpunkt (XY) + Zielhoehe (Z) ab, zerlegt den Rest (vfl-body- ;; zerlegung, Standard-Logik) und baut den Koerper VOR dem Motor: gewinkeltes @@ -3621,7 +4600,7 @@ ;; werden hier nicht gebraucht. es-gewuenscht wirkt beim Aufrufer, der ;; ein-dx/ein-dz um den Aufruf herum nullt (kein ES-Fussabdruck reservieren); ;; letzt-hz wurde nur einer wirkungslosen Zuweisung zugefuehrt (siehe unten). -(defun vfl-body-abschluss-bauen (frame p-umlenk dL hzn hn schon-flach / +(defun vfl-body-abschluss-bauen (frame p-umlenk dL hzn hn schon-flach es-gewuenscht / dH richtn rad3 dec typ w lgf lvf gf2 cnt p0 tx ty letzt-hz antwort-gf2) (setq dH (- hn (caddr (car frame)))) @@ -3630,7 +4609,7 @@ (setq rad3 (* (float (ssg-cfg-or "vario" "gefaelle_winkel" 3)) (/ pi 180.0))) (princ (ssg-textf "vfl-kettenende-modus-ziel" (list (rtos dL 2 0) (rtos dH 2 0) richtn))) - (setq dec (vfl-body-zerlegung dL dH richtn schon-flach)) + (setq dec (vfl-body-zerlegung dL dH richtn schon-flach es-gewuenscht)) (setq typ (nth 0 dec) w (nth 1 dec) lgf (nth 2 dec) lvf (nth 3 dec)) (if (null typ) (progn @@ -3676,6 +4655,14 @@ ;; Frame noch flach (schon-flach, aber ein echter Winkel w<>0 ;; noetig), wird hier genau EINMAL konvertiert - kein Vorgriff mehr ;; am Funktionsanfang, daher kein doppeltes Bogenpaar. + ;; BEKANNTE LUECKE: vfl-nach-3grad deckt nur flach->fallend (0->+3) + ;; ab. Kommt der Frame hier STEIGEND an (-3 Grad, z.B. direkt nach + ;; einer per Zweig C gebauten steigenden GF OHNE zwischenzeitliches + ;; Kettenende), waere ein 6-Grad-Uebergang (vfl-bogen-uebergang, + ;; wie im Linie-GF-Abschluss) noetig, den es hier noch NICHT gibt - + ;; der Frame bliebe faelschlich steigend, vfs-vf-koerper baut dann + ;; auf falscher Basis. schon-flach deckt nur den (haeufigeren) + ;; flachen Fall ab (siehe berechne-alle-winkel/entry-dx/entry-dz). ((and (= typ "VF") lvf (> lvf 1.0)) (setq frame (vfl-nach-3grad frame)) (setq frame (vfl-frame-3grad (vfs-vf-koerper (car frame) richtn w lvf hzn) hzn)) @@ -3726,7 +4713,7 @@ ;; die gemessene Laenge und die aktuelle Kettenhoehe. Darum in dieser ;; Reihenfolge: flache Zone abschliessen -> Laenge messen -> Vorschlaege ;; berechnen -> Zielhoehe fragen -> bauen. -(defun vfl-body-abschluss (frame letzt-hz p-umlenk / +(defun vfl-body-abschluss (frame letzt-hz p-umlenk es-gewuenscht / linie-mess dL hzn hn schon-flach ergebnis dH richtn hoehe-vorschlaege hoehe-ab hoehe-auf hoehe-fallback) ;; Schon-flach VOR jeder Konvertierung feststellen - NICHT mehr blind auf @@ -3746,7 +4733,7 @@ ;; von vfl-body-zerlegung sofort als "nicht baubar" abgelehnt (kleineres ;; Budget als vfl-vf-entscheidung: nur Motor+Separator, 800mm statt ;; 1300mm) - siehe vfl-body-hoehe-vorschlaege/vfl-body-machbar-p. - (setq hoehe-vorschlaege (vfl-body-hoehe-vorschlaege (caddr (car frame)) dL)) + (setq hoehe-vorschlaege (vfl-body-hoehe-vorschlaege (caddr (car frame)) dL es-gewuenscht schon-flach)) (setq hoehe-ab (nth 0 hoehe-vorschlaege) hoehe-auf (nth 1 hoehe-vorschlaege)) (setq hoehe-fallback (if hoehe-ab hoehe-ab (caddr (car frame)))) (vfl-hoehe-hinweis-falls-noetig hoehe-ab hoehe-auf) @@ -3759,7 +4746,7 @@ (list (rtos hoehe-ab 2 1) (rtos hoehe-auf 2 1))) (ssg-textf "vfl-prompt-hoehe-kettenende" (list (rtos hoehe-fallback 2 1)))))) (if (null hn) (setq hn hoehe-fallback)) - (setq ergebnis (vfl-body-abschluss-bauen frame p-umlenk dL hzn hn schon-flach)) + (setq ergebnis (vfl-body-abschluss-bauen frame p-umlenk dL hzn hn schon-flach es-gewuenscht)) ;; Klare Rueckmeldung statt nur der einfachen Bau-Fehlermeldung (die ;; steht schon in vfl-body-abschluss-bauen): die tatsaechlich gewaehlte ;; Zielhoehe + Strecke nennen, UND (falls vorhanden) die bereits VOR der @@ -3955,7 +4942,7 @@ (setq es-seite (vfl-frage-es-seite t)) (progn (setq save-eindx ein-dx save-eindz ein-dz) (setq ein-dx 0.0 ein-dz 0.0))) - (setq res3 (vfl-body-abschluss frame letzt-hz p-umlenk)) + (setq res3 (vfl-body-abschluss frame letzt-hz p-umlenk es-gewuenscht)) (if (not es-gewuenscht) (setq ein-dx save-eindx ein-dz save-eindz)) (if res3 @@ -4446,7 +5433,7 @@ (defun vfl-kette-typ-familie (typ) (cond ((member typ '("WRAPPER" "KURVE" "UMLENK" "MOTOR" "BOGENAUF" "BOGENAB")) "VF") - ((member typ '("GFBOGEN")) "GF") + ((member typ '("GFBOGEN" "GFVERTBOGEN")) "GF") (t nil) ) ) @@ -4872,7 +5859,8 @@ eingang-laenge winkel-hoehen-erg bogen-mass fest-drop fest-laenge eingang-fertig linie-ende-familie linie-ende-untermodus - res3 save-eindx save-eindz es-gewuenscht) + res3 save-eindx save-eindz es-gewuenscht + startpunkt-familie gf-kettenende-antwort) ;; "Zurueck"/"Abbrechen"-Flag ganz am Anfang zuruecksetzen (auch schon vor ;; der ersten Praeambel-Frage) - sonst wuerde ein von einem VORHERIGEN Lauf ;; noch gesetztes Flag (z.B. nach "Abbrechen") den allerersten vfl-in-*- @@ -4970,15 +5958,35 @@ (if (null start-hoehe) (setq start-hoehe (caddr startpunkt))) (setq startpunkt (list (car startpunkt) (cadr startpunkt) start-hoehe)) - (if (vfl-wizard-aktiv) - (vl-catch-all-apply 'vflw-gruppe-as-impl (list "vfl-as-setzen-frage"))) - (princ (ssg-text "vfl-as-setzen-frage")) - (princ (ssg-text "vfl-ja")) - (princ (ssg-text "vfl-as-nein")) - (setq antwort (vfl-menu (ssg-text "prompt-wahl-1-2") - (list (ssg-text "vfl-ja") (ssg-text "vfl-as-nein")) 1 - "vfl-as-setzen-frage")) - (setq as-vorhanden (/= antwort "2")) + ;; Startpunkt-Erkennung VOR der AS-Frage: liegt der Punkt auf dem KS_AUS + ;; EINES beliebigen bestehenden Kettenbausteins (GF ODER VF, beliebiges + ;; Segment), ist ein AS-Element ueberfluessig - die Kette knuepft direkt + ;; an. WICHTIG: der Gate ist bewusst "erg gefunden", NICHT "Familie + ;; aufgeloest" - viele Bausteine (Staustrecke_SP_1000_mm/Separator) sind + ;; per Blockname allein GF/VF-uneindeutig (vfl-kette-typ-familie liefert + ;; dafuer nil), zaehlen aber trotzdem eindeutig als "hier steht schon ein + ;; Kettenbaustein" - genau dieser Fall (Kettenende = ein gewoehnliches + ;; GF-Geradenstueck) fragte bisher faelschlich noch nach dem AS-Element. + ;; startpunkt-familie bleibt nil in diesem uneindeutigen Fall; die Meldung + ;; faellt dann auf einen neutralen Text zurueck (kein falsches "GF"/"VF"). + ;; Nur wenn GAR KEIN KS_AUS in Toleranz gefunden wurde, wird wie bisher + ;; gefragt. + (setq erg (vfl-ks-aus-hz-an-punkt startpunkt)) + (setq startpunkt-familie (if erg (vfl-kette-typ-familie (cdr erg)) nil)) + (if erg + (progn + (princ (ssg-textf "vfl-as-auto-erkannt" (list (if startpunkt-familie startpunkt-familie (ssg-text "vfl-familie-neutral"))))) + (setq as-vorhanden nil)) + (progn + (if (vfl-wizard-aktiv) + (vl-catch-all-apply 'vflw-gruppe-as-impl (list "vfl-as-setzen-frage"))) + (princ (ssg-text "vfl-as-setzen-frage")) + (princ (ssg-text "vfl-ja")) + (princ (ssg-text "vfl-as-nein")) + (setq antwort (vfl-menu (ssg-text "prompt-wahl-1-2") + (list (ssg-text "vfl-ja") (ssg-text "vfl-as-nein")) 1 + "vfl-as-setzen-frage")) + (setq as-vorhanden (/= antwort "2")))) ;; *vfl-as-winkel*/*vfl-es-winkel* sind Globals (fuer vfl-as-winkel/-es-winkel- ;; Zugriff aus AS-/ES-Einfuegefunktionen) und muessen pro Kette zurueckgesetzt ;; werden - sonst wuerde ein WINKEL_AS-Attribut den Wert der VORHERIGEN Kette @@ -5009,6 +6017,14 @@ (setq letzter-typ nil fertig nil frame nil) (setq anzahl-gf 0 anzahl-vf 0) (vfl-acc-reset) + ;; *vfl-journal* wurde bisher NIRGENDS zurueckgesetzt (vfl-journal-reset war + ;; definiert, aber toter Code) - bei MEHREREN Ketten in derselben BricsCAD- + ;; Sitzung blieben die Eintraege der vorigen Kette(n) im globalen Journal + ;; stehen und wurden der naechsten Kette per (cons ...) VORANgestellt. Real + ;; beobachteter Bug: eine fremde Kette (anderer Test/Bau) landete mit in der + ;; XDATA der aktuellen Kette, mit Fehlfunktionen in der Attribut-/XDATA- + ;; Erzeugung (u.a. "bad argument type ... at [itoa]"). + (vfl-journal-reset) (while (not fertig) ;; --- Naechstes Element bestimmen --- @@ -5024,7 +6040,7 @@ ;; der Nutzer legt den Segmenttyp direkt fest, keine Geometrie-Automatik ;; mehr wie bei "Neue Linie BIS Kettenende" (die bleibt unveraendert und ;; nutzt weiterhin vfl-segment-entscheidung). - (princ (ssg-text "vfl-naechstes-element-header")) + (if (not *vfl-forciere-qc-modus*) (princ (ssg-text "vfl-naechstes-element-header"))) (setq linie-ende-modus nil) ;; Glied-Checkpoint am Iterationskopf setzen; Label wird nach der Auswahl ;; nachgetragen (vfl-journal-steplabel), damit jedes Glied seine eigene @@ -5036,8 +6052,18 @@ ;; Ketten eines vorherigen INSERTs konsistent uebersprungen werden. (setq seg-lastEnt (vf-lastent-ohne-attribute)) (vfl-journal-mark "?") + ;; Erzwungener QC-Modus (Linienzug-Modus 4/5 im Typ-Dispatcher + ;; c:VarioFoerderer, *vfl-forciere-qc-modus* = "4"/"5"): das Menue + ;; "Naechstes Element waehlen" komplett ueberspringen - diese Ketten + ;; bestehen IMMER nur aus dem einen "Linie-GF"-Glied (QC baut AS bis ES + ;; selbst und setzt fertig). Nur am allerersten Glied wirksam (kettenanfang); + ;; das Consumer-seitige Zuruecksetzen erfolgt in vfl-qc-linie-mit-gf. + (if *vfl-forciere-qc-modus* + (setq wahl "Linie-GF") + (progn (if (vfl-wizard-aktiv) - (vl-catch-all-apply 'vflw-gruppe-naechstes-element-impl (list (null frame)))) + (vl-catch-all-apply 'vflw-gruppe-naechstes-element-impl + (list (null frame) (if (null frame) startpunkt-familie nil)))) (if frame (progn (princ (ssg-text "vfl-menu-gf-bogen-1")) @@ -5088,7 +6114,10 @@ (t "Linie-GF"))) ; "3" oder leer ) ) + )) ;; Ende (progn ...) / (if *vfl-forciere-qc-modus* ...) ;; Segmenttyp steht fest -> Glied-Label nachtragen (fuer die Edit-Liste). + ;; Die Auswahl selbst wurde bereits automatisch echot (vfl-echo-antwort, + ;; zentral in vfl-in-value/-value-p verankert). (vfl-journal-steplabel wahl) (progn @@ -5265,16 +6294,66 @@ ;; steigende GF (Sonderfall, Zweig C, KEIN Separator), sonst (Default ;; "1") Endpunkt waehlen (Zweig A, heutiges Verhalten + Separator). (setq gf-laenge-modus "1") - (if (vfl-wizard-aktiv) (vl-catch-all-apply 'vflw-gruppe-gf-laenge-modus-impl nil)) - (princ (ssg-text "vfl-gf-laenge-modus-header")) - (princ (ssg-text "vfl-gf-laenge-modus-opt-endpunkt")) - (princ (ssg-text "vfl-gf-laenge-modus-opt-hoehe")) - (princ (ssg-text "vfl-gf-laenge-modus-opt-steigend")) - (setq gf-laenge-modus (vfl-menu (ssg-text "prompt-wahl-1-2") - (list (ssg-text "vfl-gf-laenge-modus-opt-endpunkt") - (ssg-text "vfl-gf-laenge-modus-opt-hoehe") - (ssg-text "vfl-gf-laenge-modus-opt-steigend")) 1 - "vfl-gf-laenge-modus-header")) + ;; Erzwungener QC-Modus (Linienzug-Modus 4/5 im Typ-Dispatcher + ;; c:VarioFoerderer, *vfl-forciere-qc-modus*): Frage komplett + ;; ueberspringen, gf-laenge-modus direkt auf den erzwungenen Wert + ;; setzen. Flag NACH Verbrauch zuruecksetzen (gilt nur fuer dieses + ;; eine, erste Glied). + (if *vfl-forciere-qc-modus* + (progn + (setq gf-laenge-modus *vfl-forciere-qc-modus*) + (setq *vfl-forciere-qc-modus* nil) + ) + (progn + (if (vfl-wizard-aktiv) (vl-catch-all-apply 'vflw-gruppe-gf-laenge-modus-impl nil)) + (princ (ssg-text "vfl-gf-laenge-modus-header")) + (princ (ssg-text "vfl-gf-laenge-modus-opt-endpunkt")) + (princ (ssg-text "vfl-gf-laenge-modus-opt-hoehe")) + (princ (ssg-text "vfl-gf-laenge-modus-opt-steigend")) + (princ (ssg-text "vfl-gf-laenge-modus-opt-qc")) + (setq gf-laenge-modus (vfl-menu (ssg-text "prompt-wahl-1-2") + (list (ssg-text "vfl-gf-laenge-modus-opt-endpunkt") + (ssg-text "vfl-gf-laenge-modus-opt-hoehe") + (ssg-text "vfl-gf-laenge-modus-opt-steigend") + (ssg-text "vfl-gf-laenge-modus-opt-qc")) 1 + "vfl-gf-laenge-modus-header")) + ) + ) + ;; Option 4 ("QC Linie mit GF"): eigenstaendiger, vollstaendig + ;; berechneter AS->ES-Ablauf (vfl-qc-linie-mit-gf) - baut Kettenende + ;; SELBST (setzt fertig direkt), braucht daher NICHT die gemeinsame + ;; Kettenende-/ES-Vorfrage und NICHT den Zweig-A/B/C-Abschluss unten + ;; (der von einer normal weiterlaufenden GF ausgeht). Nur am echten + ;; Kettenanfang sinnvoll (braucht eine eigene AS-Seite) - siehe Gate + ;; in vfl-qc-linie-mit-gf. Option 5 ("QC Linie mit GF und U-Form", + ;; vfl-qc-linie-mit-gf-uform) funktioniert nach demselben Muster - + ;; ebenfalls eigenstaendig, baut Kettenende selbst. + (cond + ((= gf-laenge-modus "4") (vfl-qc-linie-mit-gf)) + ((= gf-laenge-modus "5") (vfl-qc-linie-mit-gf-uform)) + (t + (progn + ;; NEU: Kettenende/ES JETZT fragen - VOR der Laengen-/Gefaelle- + ;; Berechnung -, damit ein gewuenschtes ES-Element (Antwort "1") mit + ;; seinem echten Fussabdruck (ein-dx/ein-dz, ueber vf-set-as-masse- + ;; Gegenstueck vfl-es-masse-setzen INNERHALB von vfl-frage-es-seite + ;; gesetzt) SOFORT von der Ziel-Laenge/-Hoehe abgezogen wird (siehe die + ;; drei Zweige unten) - statt es nach dem fertigen Bau nur noch + ;; anzuhaengen, wodurch die Kette bisher um genau diesen Fussabdruck + ;; ueber den gepickten Punkt/die Zielhoehe hinausschoss. Analog zur + ;; Separator VOR/NACH-Reservierung, die schon vorher erfolgt. + ;; gf-kettenende-antwort wird im gemeinsamen Abschluss unten + ;; wiederverwendet statt die Frage dort ein zweites Mal zu stellen. + ;; BEKANNTE RESTUNGENAUIGKEIT (Zweig C, steigend): der Ausgleichsbogen + ;; zurueck auf die fallende Basis (vfl-bogen-uebergang im Abschluss, + ;; NACH dem Bau dieser GF) hat einen eigenen Fussabdruck, der hier + ;; NICHT mitgerechnet wird (analoge Luecke zu vfl-nach-3grad am + ;; Kettenende, siehe dortiger Kommentar) - die ein-dx/ein-dz-Reservierung + ;; unten ist daher fuer Zweig C eine Naeherung, kein exakter Treffer. + (setq gf-kettenende-antwort (vfl-frage-ist-kettenende)) + (setq es-seite nil) + (if (= gf-kettenende-antwort "1") + (setq es-seite (vfl-frage-es-seite nil))) (cond ((= gf-laenge-modus "3") ;; --- Zweig C: Steigende GF (Sonderfall, bis gf-max-winkel Grad) --- @@ -5310,6 +6389,10 @@ (list (rtos (caddr p-aktuell) 2 1))))) (if (null hoehe-neu) (setq hoehe-neu (caddr p-aktuell))) (setq deltaH (- hoehe-neu (caddr p-aktuell))) + ;; ES-Fussabdruck (Hoehen-Anteil) VORAB reservieren, siehe + ;; Kommentar bei gf-kettenende-antwort oben. + (if (= gf-kettenende-antwort "1") + (setq deltaH (max 0.0 (- deltaH (abs ein-dz))))) (if (< deltaH 0.0) (progn (vfl-meldung (ssg-text "vfl-alert-gf-steigend-falsche-richtung")) @@ -5356,6 +6439,10 @@ (setq frame (nth 0 erg) deltaL (nth 1 erg) p-aktuell (car frame)) ) ) + ;; ES-Fussabdruck VORAB reservieren, siehe Kommentar bei + ;; gf-kettenende-antwort oben. + (if (= gf-kettenende-antwort "1") + (setq deltaL (- deltaL (abs ein-dx)))) (if (< deltaL 1.0) (princ (ssg-text "vfl-fehler-linie-zu-kurz")) (progn @@ -5402,6 +6489,15 @@ (setq sep-nach-gf (= (vfl-menu (ssg-text "vfl-prompt-wahl-1-2-def2") (list (ssg-text "vfl-ja") (ssg-text "vfl-nein")) 2 "vfl-sep-nach-gf-frage") "1")) + ;; ES-Element (vfl-insert-es-element) bringt seinen eigenen + ;; Separator VOR dem ES-Block schon mit - ein zusaetzlicher + ;; Separator NACH waere ein zweiter, direkt anschliessender + ;; Separator (real beobachteter Bug). gf-kettenende-antwort steht + ;; schon vor dieser Frage fest (siehe oben). + (if (and sep-nach-gf (= gf-kettenende-antwort "1")) + (progn + (vfl-meldung (ssg-text "vfl-sep-nach-durch-es-ueberschrieben")) + (setq sep-nach-gf nil))) (setq sep-anzahl (+ (if sep-vor-gf 1 0) (if sep-nach-gf 1 0))) (setq gf-ok t) (setq hoehe-neu @@ -5421,6 +6517,10 @@ (progn (if (> sep-anzahl 0) (setq deltaH (max 0.0 (- deltaH (* sep-anzahl *vfk-separator-laenge* (sin rad3)))))) + ;; ES-Fussabdruck VORAB reservieren, siehe Kommentar bei + ;; gf-kettenende-antwort oben. + (if (= gf-kettenende-antwort "1") + (setq deltaH (max 0.0 (- deltaH (abs ein-dz))))) (if (vfl-wizard-aktiv) (vl-catch-all-apply 'vflw-gruppe-gefaelle-impl (list (vfl-gf-hoehe-vorschlag (caddr p-aktuell)) t nil))) @@ -5497,9 +6597,19 @@ (setq sep-nach-gf (= (vfl-menu (ssg-text "vfl-prompt-wahl-1-2-def2") (list (ssg-text "vfl-ja") (ssg-text "vfl-nein")) 2 "vfl-sep-nach-gf-frage") "1")) + ;; ES-Element bringt seinen eigenen Separator VOR dem + ;; ES-Block schon mit - siehe Kommentar im Zweig B oben. + (if (and sep-nach-gf (= gf-kettenende-antwort "1")) + (progn + (vfl-meldung (ssg-text "vfl-sep-nach-durch-es-ueberschrieben")) + (setq sep-nach-gf nil))) (setq sep-anzahl (+ (if sep-vor-gf 1 0) (if sep-nach-gf 1 0))) (if (> sep-anzahl 0) (setq deltaL (- deltaL (* sep-anzahl *vfk-separator-laenge* (cos rad3))))) + ;; ES-Fussabdruck VORAB reservieren, siehe Kommentar bei + ;; gf-kettenende-antwort oben. + (if (= gf-kettenende-antwort "1") + (setq deltaL (- deltaL (abs ein-dx)))) (if (< deltaL 1.0) (progn (princ (ssg-text "vfl-fehler-linie-zu-kurz")) (setq gf-ok nil))) (if gf-ok @@ -5581,21 +6691,21 @@ ;; --- Gemeinsamer Abschluss fuer ALLE drei Zweige --- (if gf-ok (progn - ;; Uebergangsbogen(n) einfuegen, falls die aktuelle Frame-Neigung - ;; nicht zur Ziel-Neigung dieser Linie passt: noetig fuer den - ;; Steigend-Sonderfall (Zweig C, winkel < 0) UND falls der - ;; VORGAENGER eine steigende GF war und jetzt normal (Zweig A/B) - ;; weitergebaut wird. Im unveraenderten Normalfall (Vorgaenger- - ;; Neigung bereits 0/+3, Ziel +3 wie bisher) ist die Bedingung - ;; falsch - kein Verhaltensunterschied zu vorher. - (if (or (< winkel 0.0) (< (cadr (frame->hz-winkel frame)) (- *vfl-gf-winkel-toleranz*))) - (progn - (setq erg-bogen (vfl-bogen-uebergang frame winkel)) - (setq frame (car erg-bogen)) - (setq deltaL (- deltaL (cadr erg-bogen))) - (if (< deltaL 1.0) - (progn (princ (ssg-text "vfl-fehler-linie-zu-kurz")) (setq gf-ok nil))) - ) + ;; Uebergangsbogen(n) IMMER pruefen (vfl-gf-bogen-uebergang ist ein + ;; No-Op, wenn die aktuelle Frame-Neigung schon zur Ziel-Neigung + ;; passt - eigene Pruefung intern via t0=basis-ziel). Frueher nur + ;; fuer den Steigend-Sonderfall (winkel<0) und "Vorgaenger war + ;; steigend" ausgeloest - das uebersah reale Faelle wie flach-> + ;; fallend (z.B. nach einem horizontalen GF-Stueck) und fallend-> + ;; flach (z.B. vor einem horizontalen GF-Stueck), die genauso einen + ;; Bogen brauchen (Nutzer-Befund 2026-09-12: fehlende 3-Grad-Boegen + ;; zwischen Separator/fallender GF und einer horizontalen GF). + (progn + (setq erg-bogen (vfl-gf-bogen-uebergang frame winkel)) + (setq frame (car erg-bogen)) + (setq deltaL (- deltaL (cadr erg-bogen))) + (if (< deltaL 1.0) + (progn (princ (ssg-text "vfl-fehler-linie-zu-kurz")) (setq gf-ok nil))) ) (if gf-ok (progn @@ -5635,33 +6745,36 @@ (setq p-aktuell (car frame)) ) ) - (setq antwort (vfl-frage-ist-kettenende)) + ;; Kettenende/ES: BEREITS vor der Laengen-/Gefaelle-Berechnung + ;; erfragt (gf-kettenende-antwort/es-seite oben) - hier NICHT + ;; nochmal fragen (waere doppelt journalisiert und ein-dx/ + ;; ein-dz wurden dort schon fuer die Reservierung genutzt). (cond - ((= antwort "1") + ((= gf-kettenende-antwort "1") ;; ES-Element-Hardware gibt es nur fuer die Anfahrt auf der ;; STANDARD Fallend-Basis (+gefaelle-winkel) - kommt die - ;; Kette hier steigend an (Zweig C, winkel < 0), fehlt sonst - ;; der Rueckweg-Bogen und das ES-Element wuerde in einer - ;; physisch nicht existierenden "steigend"-Orientierung - ;; angehaengt. vfl-bogen-uebergang ist bei einer bereits - ;; fallenden Ankunft ein No-Op. - (if (< winkel 0.0) - (progn - (setq erg-bogen (vfl-bogen-uebergang frame *vfk-gefaelle-winkel*)) - (setq frame (car erg-bogen)) - (setq winkel *vfk-gefaelle-winkel*) - ) - ) - (setq es-seite (vfl-frage-es-seite nil)) + ;; Kette hier steigend ODER FLACH an (z.B. Zweig C mit + ;; winkel=0), fehlt sonst der Uebergangsbogen und das + ;; ES-Element wuerde in der falschen Orientierung + ;; angehaengt. IMMER pruefen (nicht nur bei winkel<0) - + ;; vfl-gf-bogen-uebergang ist bei einer bereits fallenden + ;; Ankunft ein No-Op (Nutzer-Befund 2026-09-12: horizontal + ;; vor ES fehlte der 3-Grad-Bogen). + (setq erg-bogen (vfl-gf-bogen-uebergang frame *vfk-gefaelle-winkel*)) + (setq frame (car erg-bogen)) + (setq winkel *vfk-gefaelle-winkel*) (setq frame (vfl-insert-es-element "GF" frame hz-neu winkel (caddr (car frame)) es-seite)) (setq fertig t)) - ((= antwort "2") (setq fertig t)) + ((= gf-kettenende-antwort "2") (setq fertig t)) ) ) ) ) ) + ) ;; Ende (progn ...) Zweig A/B/C (gf-laenge-modus <> "4"/"5") + ) ;; Ende (t ...) + ) ;; Ende (cond (gf-laenge-modus "4"/"5"/sonst) ...) ) ;; --- Neue Linie: Ab/Auf VF (Nutzer legt den Typ explizit fest) --- @@ -5877,7 +6990,7 @@ (if es-gewuenscht (setq es-seite (vfl-frage-es-seite t)) (progn (setq save-eindx ein-dx save-eindz ein-dz) (setq ein-dx 0.0 ein-dz 0.0))) - (setq res3 (vfl-body-abschluss frame (car (frame->hz-winkel frame)) (car frame))) + (setq res3 (vfl-body-abschluss frame (car (frame->hz-winkel frame)) (car frame) es-gewuenscht)) (if (not es-gewuenscht) (setq ein-dx save-eindx ein-dz save-eindz)) (if (null res3) (if dbg-an @@ -6130,6 +7243,9 @@ ;; noch frei in der Zeichnung liegen (vor dem -BLOCK-Sweep in ;; vfl-block-erstellen unten). (vl-catch-all-apply 'vfl-segment-xdata-sichern (list seg-lastEnt wahl)) + ;; Fortschritts-Echo: aktuelle Kettenposition nach diesem Glied (egal + ;; welcher wahl-Zweig lief) - siehe vfl-echo-position. + (vfl-echo-position p-aktuell) ) ) @@ -7381,7 +8497,7 @@ ;; terminale AS/ES-Masse fuer die mittige Bruecke ausblenden (Save/Restore) (setq o-adx aus-dx o-adz aus-dz o-eix ein-dx o-eiz ein-dz) (setq aus-dx 0.0 aus-dz 0.0 ein-dx 0.0 ein-dz 0.0) - (setq res (berechne-alle-winkel span (abs dH-signiert) richtung fh)) + (setq res (berechne-alle-winkel span (abs dH-signiert) richtung fh nil)) (setq aus-dx o-adx aus-dz o-adz ein-dx o-eix ein-dz o-eiz) (setq winkel (car res)) (if winkel (list winkel (cadr res) (caddr res) richtung) nil)) @@ -7492,7 +8608,7 @@ (setq richtung (if (< dH-signiert 0) "Auf" "Ab")) (setq o-adx aus-dx o-adz aus-dz o-eix ein-dx o-eiz ein-dz) (setq aus-dx 0.0 aus-dz 0.0 ein-dx 0.0 ein-dz 0.0) - (setq res (berechne-alle-winkel span (abs dH-signiert) richtung feste)) + (setq res (berechne-alle-winkel span (abs dH-signiert) richtung feste nil)) (setq aus-dx o-adx aus-dz o-adz ein-dx o-eix ein-dz o-eiz) (setq wahl (vfl-waehle-winkel (nth 3 res))) (if wahl (list (car wahl) (cadr wahl) (caddr wahl) richtung) nil)) @@ -7925,6 +9041,10 @@ (setq vfl-nummer (vf-next-number)) (setq lastEnt (vf-lastent-ohne-attribute)) (vfl-acc-reset) + ;; Siehe Kommentar bei vf-linienzug-modus: *vfl-journal* wurde bisher nie + ;; zurueckgesetzt und konnte Eintraege einer vorigen Kette (Modus 1 ODER 2) + ;; in dieselbe Sitzung hineintragen. + (vfl-journal-reset) (setq anzahl-gf 0 anzahl-vf 0 frame nil) ;; --- Abbruch-Sicherung ab hier scharf (analog Modus 1, siehe dortiger ;; Kommentar) - Phase A (oben) baut noch keine Geometrie, ein Abbruch @@ -8425,6 +9545,14 @@ ;; Bausteintyp aus dem Blocknamen ableiten. Scanner/Separator_SP (manuelle ;; Sensor-Bloecke, siehe count_sep_scan.lsp) gehoeren NICHT zur Kette selbst ;; und tauchen hier bewusst nicht auf. +;; VF- vs. GF-Vertikalboegen: BEIDE Familien teilen den Praefix +;; "Vario_Bogen_auf/ab_" - die VF-Bibliothek (init-bibliothek, Winkel 3-51) +;; traegt zusaetzlich "_TEF_" im Namen, die GF-eigenen Boegen (nur 3/6 Grad, +;; data/ils/Vario_Bogen_ab/auf_3/6_rechts.dwg, siehe vfl-gf-bogen-init) NICHT - +;; die "_TEF_"-Pruefung MUSS daher vor der generischen Pruefung stehen (cond +;; nimmt den ERSTEN Treffer). Damit erkennt ein KS_AUS-Scan (vfl-ks-aus-hz-an- +;; punkt/vfl-kette-typ-familie) eine mit einem GF-eigenen Bogen endende Kette +;; weiterhin korrekt als GF-Familie, nicht als VF. (defun vfl-kette-typ (bname) (cond ((wcmatch bname "VF_*") "WRAPPER") @@ -8434,8 +9562,10 @@ ((wcmatch bname "Vario_Kurve_*") "KURVE") ((wcmatch bname "Vario_Umlenkstation_*") "UMLENK") ((wcmatch bname "Vario_Motorstation_*") "MOTOR") - ((wcmatch bname "Vario_Bogen_auf_*") "BOGENAUF") - ((wcmatch bname "Vario_Bogen_ab_*") "BOGENAB") + ((wcmatch bname "Vario_Bogen_auf_*_TEF_*") "BOGENAUF") + ((wcmatch bname "Vario_Bogen_ab_*_TEF_*") "BOGENAB") + ((wcmatch bname "Vario_Bogen_auf_*") "GFVERTBOGEN") + ((wcmatch bname "Vario_Bogen_ab_*") "GFVERTBOGEN") ((wcmatch bname "Staustrecke_SP_1000_mm*") "STRECKE") ((wcmatch bname "Staustrecke_Separator_SP_300_mm*") "SEP") (t "UNBEKANNT") diff --git a/data/ils/Vario_Bogen_ab_3_rechts_2D.dwg b/data/ils/Vario_Bogen_ab_3_rechts_2D.dwg new file mode 100644 index 0000000000000000000000000000000000000000..e8118f8f4f374c752912c850a3b1e923befa8ce0 GIT binary patch literal 20422 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 Tj~rkDsbAOM$o(t-v)%s!x`eGR literal 0 HcmV?d00001 diff --git a/data/ils/Vario_Bogen_ab_3_rechts_3D.dwg b/data/ils/Vario_Bogen_ab_3_rechts_3D.dwg new file mode 100644 index 0000000000000000000000000000000000000000..0181e5270571a688fd2aaefa0544800058290419 GIT binary patch literal 85368 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�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 literal 0 HcmV?d00001 diff --git a/data/ils/Vario_Bogen_ab_6_rechts_2D.dwg b/data/ils/Vario_Bogen_ab_6_rechts_2D.dwg new file mode 100644 index 0000000000000000000000000000000000000000..3dd070d5d76d2d0ce8beb272185d0ce5688fe3de GIT binary patch literal 20902 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 r11ykFE`s1;|#0CH5sP<1tt&zoRnE&YIOFG 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 A(f|Me literal 0 HcmV?d00001 diff --git a/data/ils/Vario_Bogen_auf_3_rechts_2D.dwg b/data/ils/Vario_Bogen_auf_3_rechts_2D.dwg new file mode 100644 index 0000000000000000000000000000000000000000..1d0c3305c19e10da61fbed1746d9910c089940b1 GIT binary patch literal 19333 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 literal 0 HcmV?d00001 diff --git a/data/ils/Vario_Bogen_auf_3_rechts_3D.dwg b/data/ils/Vario_Bogen_auf_3_rechts_3D.dwg new file mode 100644 index 0000000000000000000000000000000000000000..2825383f5f0135a0128cc9ae6a222d9d6a6b6c99 GIT binary patch literal 76721 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

m0JBv7+r~4*qtL4Zb z{)H7nj8xFQ1E5v)APAYPJNhrJ>KK{osU0xOwphYf_28;4mLfwMJ!U*;{h&kD>%JUJ zpL#vLKF_v>_;FPN`YVsK`qNjCn;TJ}O4EtPrMNv7za>4ZnuDwBbVPnV$?8rP#3Xhp zM|7vJ;nXA53I4*gHS;FGlq{KBk{2Je#lj!lSp=a_(?MC-8tMEs?ShRMQA6NvTCbBP zB~VMN3{?rNL6#wns7uD(00)|gP4&Y#P>yh*lmHw!T7Mz7l!!Qv$Fz#cTFa>{<2N+- z+v$B+5zfc-OgGE7vxl7j{Bj{q5noDhAMHL#rY-!Z%a zPaNhA=WttwHCzr2st*^*E{8_;J60XRW4Bm{J)oNU!sF9oKZUp#8r?6t86BJw8M{G$ z9(ckY%LS9o_rMcy!3OIx>MD?g4fCg9G9=b^$ z9~+daFEagN9@lYG`sBktIP=Gsldq>>LYYk{b{(DiR6S9?8Y2pU)Ma7gVE&Lz(D&6$ zn$`?Xo6Q9M4VXcA6ToQ*49juBEz{@_sb_-Zm$|78xnP;42%gLB!JSAFm-^N^}H01C~-+ ztC>SjCC8Ld4~%4X6&(6_iuXN{dzZ`U#)gPOT+p2M;RheA-F*lS;6u=;zJlBw%D}ChSr__9;61CDb$K?5|6SJsto9$cX@sEpA)z z=pAYPBjG0DzFV^kGN^4Aq;nrV2_g#~bt$0v2STkb66z5b#EM0dhDYk|YH+H~Rg=e8 z6Rp~q7>a8v;$5~QAM1lI&nKJ4HcH-mq{j+fZEQf+bZjfueG_hLJDM|^7)r4c1s+2b zio z$X}~Io*dDL$4FGFL41<@E9B(9BeVgR8h(Mk@S5jjxa3x{W;N(gcQ20XNzM5Kf=JRnROj;XmG zqksjRuNF6Z+8*lW@Y zJ{D{ZIK)FS)X9k+KmvG9j-npYkRaC2dHo^TZkU;ggK1J0&@X@%K(lYblDIlxQ_ z2K1P3C9W$YW6#N$2mLkO9+UeRP&{RYX)rMyA}3VonP+_tDY2e?){t^x9`;f=`zq$_ zU(?CpX&*$}%i-)_(*?6n`w;eN-(5}g=>+#PtSciy@>|3?*aZr@7$WkxnGBElP?IE# z<|=5e5*bv1D|i_mtU(oS!amI?$$>oQ-yZaE=oxb=j2b@kj5!qvasxc%YyMh`GAtA} zhQPc8-4-U_f}Xfh|1hRhSyVI_Qz?m(tiYH-Ja*(UFBplmz|&q0k(TXSb#z=DlW}Fd zshKbEY)rq#ll}hM?rOea*qqw_rSwR3m$Uer>7BPF=Ertj;susu#+_OwS^lL;X7?p- zYkpj0=r(U4d23i&kN}#4VZ@#af?sykFoBk8?caSV-LNlZ`)GyByx3{dI-STcq$W1N z(X1WkZm1$=hH~5q!`ysZk)VF|N|q{k45<~2MWwe=h3;xuYl6s*Gg;EG5Klf_O@S>{ zzaGs6*=d?5yyZX$nk+Ac!C>GGSaJwHIBQHTW9a~?b|G)BRZEf)9a!ZB2S1UXoU?k?ZS{*RvG37^I*4k-8}U*d(bgsFgI7Y~66R^X9X`x$K?*A^n!$Q5f`d*m z2Yo8;H{?gwuAYmB_vpwoweyHw3fvjqjI1nYj`vYr794LENXvLKezPka@1wezaJ+B2 z5gLo^sBRVJYlb_ubeM`S+`s#vwwUQBhfD~N0) zMP;e835tJdpldZxOi6N2#C+wQo2kg7xwC2R9Hb0vTh23&Cd+(dZ#U+n33GXlsDNw( zexJ%J18vKQ2}l`GCz2a2%%fhO6qBi+3&H@d7mnmu=gEHzVD$Y$IPdvh(QW=DN0*~4 z%A)4y=_&|=rDw9_K=6V=ycja=_AruVCkAEc$&!>3^mK2rEMyiDOTiOHPxt76MX=r! z@H~%_ZYtil)WqabJddjjAKS*W`ID5HwjFFHC1oZgQF10fA{s>G-rDGbsYQzXkIJW( zf*>$GW&Sny-le3kUhw*@sXtGh=7fN0G13D3^h;o6rFU2fSjs%$e+qqMBj#YupabC0 zxk+e&qE8?1ZsWSC$(H7FVTZt0;iq4X9`^f`5K2K0dp~^{ocB}^1dN0-ZQ1CPQ@+vY% zW8GXkO1wmTVQE*2vU8@8-SlnmD*euNoa_^op#UsPJ1VquX8F9=hUNkDH;%R8F8HB; zh-iMCGqZu7DijIV@7n-iU|vD`1OF$CFXg4Yj_|-&PwbhF5kqihuVGry4Iic_NZyig z>~QXN%Nw8@Ho$|w$G57e0UrH+`i<7{nM%*?v2n0=Mm&!IIAgv*II*8Vb+)DttS>T-=fAx0MEFPk%~fa1Cx*KP zY*Dv>lb}?P?OE=<$>ilvbFbq354ck}8Q%7PZ>@+la`PesjqZXb_!}`)(lOuH#Toe? zQrh_w2AE20H`A_=d%uPAOKjb;V~0K9BHK63ZrN(5Aozrb-R3RucB!#Iu$8ultedbA z^q{v9frgF&#xT!MhM22UBLXe^e^|#JW+40ut&ea4y7-A&j<7-9=24)Gq$BU)e66@1Skp+pG4=XrtB}|0M{Zg7V`?cwVB?X z-~n6r1UId#?;>yRYz}Vx8-ah{k+2%kr|q31ECBE&hTbZtEmP zdnTf2%qw}}YuIRv)i&;7qcQ4kdBLcofaHO&uo_gLos{7i!=_=rgnVa>1GX+J%B8c= zs@GPf)im2dS%OvH*JM!C?x5ZPkoSjRb2$4OB=0|h&Ef4$pHSQSkDJp9<=Nca>s6xw z{xCz<9R57pOr+y}Wt=1rlSrk?6N4`41|2a40xv;Q<<|(*o&2WK?k-5njc2sn#V2&l zQ}s@MCk=SsglR~~RZVcV)6@lO{8Xo`$>W|eW%1Gww;H#Nc=nP+?!czC?MT3tu5*)} zl6Mi^V{jkHuh2?QB;V=~jmay6=6WIdb}|X!LR*XGMWZ`$K!=&Xkkq;1yd3RJ z+W8hvR8U1xy~xG&zF=!?+QBoQ;?U7W#AK5cd@YR@*e*WW$!@a|dK{yXRwxqGhc zZd{J`JVH%tWW}t-mUJU2X9m^I)~P^dMXsb{peRi%H*%p+Z-*xwny>+q^M?I(D<)qi^)4a-fbBO)hgLW&`Dx}$O0->Z5M4+u$_mbhFY&LCZ5UEW>=ic#CWSR8 zk;U5W3yNI-TRchDmZB@s_QO;;iHJ^eiCIOU(urT0)uuilvMKF;aBI@cGS~@Bfo0_q z?OX^THiHT?S-g(u_K3Dqgswts%3s<4X25f4Vq1!fKFq#(yuu?M;wGd?dvMDHsXLoB z`JI+6fKTNn=m6!swZQszDU990Jt??%W=d(MEE--h{&fgsjCkJcC7Is$apIPyf_A+L zPhFb(2P`%L&w6g8-bQ+E+>WgHQaxgbgv;4+@|>%vece zh@>1sve@$xs{;RJs28LVQBhHM!JXI$5?K=#3)mtn*7EM4 zx~M`3FfY{ddC~*0@E8WNALduqC;Je{p*Y(Z4M?L<30m-V+1qjcxiKIax4IP*?c7ze z242)2H^D~X3OKGSY+%{x99TtMUm+dynz0NNVI(0Zuy(UuruPQWl4{_6E!;FR1Kei5 zZX@6g9K2CH9XU`&oYb5K(fH6TdqXU7wj9gG`KJhX#%Febxzg8-cw8YXsC0bt7^Cf- zkk9N4J~Ll8iWw?}+f&JIrErOvdP*~OQZjoTurO$L7z@1@+fySW&5m)`qeLc&3(a+< zxo$`}`l^~|^pqC*MCW;lO<1F0`AZ^q9+6*(3$g)Ez#=NPKuQYmgx0@nwTO}^NUMYe zNVNW=K|WGzIs6-ceSH?FEvrm^u=KDV{J-c6u;^F$9~vvM6sP7$+{qeFkw~ zE3B01|5lDrpXA2~##(qXzpZ21BctzT{$l>|?45Niasnxqk=2mL% zNL#f|;sEQmv~`-6zBLWji)`~NA?aLIN$y$MORgeR1(i5#M-6I!CfcO}&h!1KKqMy( zY6*~&R7uwC3JG$O9Vu%MdFk%`jE;1}ay;UmmWW@2%|SfqHKZP`Q!ramgIWp9l7V9( zs#4oGUgnuV_||S5FBR$J>&DdZr0d26VPZUR{TL}INfB$wusYmkukU(bGdH6{?#{U?gK=wNO&?~+3a_=kEXCqd@R#ht3g)yoUtT0%aivp=i z%2K85+Jty>Tu5Ir?$L|f<%f_#;W7G>W|*pk?NSh)+oKQpDq-xjREC>uBFIi(CGeG7 zoJbQk20fVWlZ!p0P`vF{jf&+f(dHWA!JWI#FAVqS#{Pnz^fip#IGl|M?3NB~;VxcE%WR7|3|X*72- zkd*ImzKhQk6Lvl$KSwl`90EzI0VFBdnxIAQ?8tV}8h$HIirJwzfFhNz7v5uwvGf>C z5O`G_@$ODWmYQY`M6%RF|L+kwNzbB;03&tD5^jiT5T9=LEi567-i4%KxXTD552U<+ zaAb!*!yGWZ0lNh3L~H>du>@q|ys7|BkjUDxlKTC(SELIwsn3QxRxq|>MQ`zEJ65>) zOvehOXX}|}6{0kYcZY3TQJ>4pnS3?N@B>hVD;me}o8jeCXMkiCrk4a+kcN68W#*z6 z7lDyhK$TU)no1tE^~i_QZqfgP%Ay4hxB&bU9~S^hGI(XIA{0{IUYifwkE z>T*}+#D7VCnuwm~xbL-5f10N4!}$;G;)ZpsQiXhDMC{~)`KGD&OaTQZo4JK0xZs*@ zo(U^NU=jhtPZ4NX8NQO{U}@G7=p{p|R107NqK*t+jU5E*JQ_Z=f@A4jLGY<@6N|0F zbR|86{^UuYqf>8?rQ?BV2F_@B{9NViy+W@72DU_OHH+P9M zXEK0F{&DShU&KwICf=NJc3du`aeO2{RCRqKy;OCg3P=iAmj697?epsw_W?^8wbJ>K zBW#MnzSUxO2!frf?6E<;y1W@njFV2zku2_CI_UD$Fq@bx!XU*`hCt?;?h)+{!LueT z5+DYCv#qp#Pue)Ju&?RL!NzK2Y^<`rVB9668F#;?t6&AKUv!1zC}Pg5pa;p`9Rrv4 zNP^w;uW`G?d}Qbh{(kJRtwB{zV-6?R@%6ubc_iu!N6SFfAfb(+%WC29ALD$Nh20~WBgezDf0 z{V6$rR3$SX#cc;5?czm`5yRJyNxQu94_ix+`MkJgBb$1GPPV*s_lyZK{hy)Qmd&6s z*ca|6Hn(qnQ6gJEG^OD#uB_LM9$C8D#5!8mh9=0sKvPS-?oF7WX>U+ucCC@6M8NV@ z$gVYp#pF;Re5!oPy12d2PE1LA)`T=b63$7##iaCs&yroldV?h@bpR^OK1Jy`q-I&e zYXgFnQlh|{fTt7dcR@$l70XtW8wiVUBc|e{A7jEInR)0L1fHWnXvwH1(>!FSersfP zmTh2tk^3SplB0rwset|U&anOUF4JlTIhaOwW|4b){^z}DyVs2?C<5E zj>h;71m08Qanzh|=9X|=+3nXo2i26_gsp54aEa3{O>S(4HW z-ZwVEa`S~Zqu{eh(F+c|;Q!@{ZctcAMPkda_x(S4VIMsA!af8*aniRkfHLBR?Eyfk zagg2ol$ZGRhHpi08)Po=hvEh-wijnUB5w5%@RoOY&=uGJ$ZuOdVzxBbkA=~O=>IHl z#(x-UB2~5xx~Q#siR@Siwim&MlU_x;-;eE9g?g!#3^%EMFo`ncbDupMbqIu$j}5rV z5hISL;trTziMwPQ!S4R-69zl%F}c+LQ1`;1TV985M0GQ|pJlN_sh9x2G z01|;oQ54;;r;jh-dV(nf5xky6Tkt72+0St4=VX z7Euz+D9GR@7JGk<^G^HOHb3~B`-fI)eu!qV#=F0NyyMm+Tx@;_-7TUjlDCTJkB`ZE zc#@Sj7Ha)x6VEDPb*RYo6sm41(S8HfEiieorJCO|`bI_I*Rzm# zV-4oU6Zsa&wh(FJXnRGTbk$hoX64|gfgUub;P%;gws){Nesti(gYJP7K_Hmu+F*m? z&}V3wiRQW^ny?vY!nMVlLvAMGo;NkbVt5cxz&@jWHlh+v7pRJ&CDXtKFX?(+#332=|-Cf_S2>?h`AUxhM;tKf2Td<`+OCn>#* z%Y7jbyEdz)`*57=4={s}LE7H?vD0C}f^^dVj0O-J7(m*zV0%4;?dyBGkpbiv_H5sT z?dv``+qX2=8K1j!c**7lob8($&X^w2>Wh0o*LZw>bj6f*12yaLgP6?^A}R5oubY^? ztXPW^vzIk--b(9UmT*z;E1!9O46Nbz3l%q>+}Im*Y3RSq@h?mcx~a*V(a)UyTbf_N z0xPW{qmwZCUd3SHoN)wRf|IU)jwT3GX9jQ+rD-c^oFd z+k$YGHQWNXTmjL$e0XOIH6^;{r#hK^#F84IH5*^Pve_fjGh=vctM@1Gtb;HN0_CYt=C1`j|}3 zUx*=OZ;Gd#&mJO7J6Q&OfF2c;k$`kap4S&Eq`>cGg`UPAOS$`j1_{P`&UP+>I&nZC_MmSVvD=1J7S$d<7Nvv?40g5SQVj zJmGBxR-im5l(nbe?gci_k~r8KKnx<_HCbTuCW4XU_&D!pkmp~mE=$DibF^Et!W<3L z35d2kA!d-RCBqhyDzr~y&_$%8eHv#FFGe9cU>7cM`u*tcui zqr7xvqsA4-W{d7f!+I5Xw4s8y29+{5p{zb% z0mR5gl7$4t;pfBlj51$85{>a?AtM{aP(Of-9IZb?2l|I0BLJLo9Ov-k+kXlfg8Aad z-JnE9o-(U8frhCNo81O&%q|3P8F>R#P!yXb5o$DQiG2_i?1t~qHB1h! zxsc~LRMs~Sb_1^yRZoOzRQIz((rw}ay?%n91YGot@wj87R$+EApCq@xS!}Zlg7e$7 zQWirRwKh#Jgfw)8@6zKF*HsX~P}ETdANsZ+3}M9?Um0MR zu2B-cuD!v^YG z;^dpQ$am}B1#hu!F2)Lyvx2x7ACsfiffymzRu&>H;&c*|=PGj5BPAk7OF?u7mblm@ znnXs60HDa$${Lg8{l{=+ww72A;JgJ46t4Ik0t~;QFm`>$9Zv$BSO@$i0Oi=+NO0u`2NEvQHrN}38 zMje7GhcwgFA4~z0O*T`kRSr{4m;pV2-9fIQjg==~v(!v8^2ZX-=H|gg0Ty9R&+C^y zpW{bi-r!bKKkqz{(+A}uVp@!LM%f~VACX$)n-}iMy46;-#`O0hhr+PquNOuZjG7Lx zy4>LfgQ^I-9M7888O)5ui5_yD^38_axzy-{Ib+HVlc?69iqD@^k(Ai`aysH+UDw|b zGd%2zS;RF34 zm#mgWzho|Q1{GP><`s^+n5V;2et<1;DkA3PZ0bE5yO%<;cwdVh#~@Nq!oY}vq3 zY$K|3xM^}<2;t_p+S!!RpINBT1ob)W3(Tft2WVI5`7E)87C|t>a}4e|>f2fEPUUxB zdU*F`+CCTIa~|5P-X@;S0JLz6136uGf2QOG*{mq4xuxvG|I>9R4R)p$$JnoY=9nb; zG`E1}&IPJ>N6}A2pYa4u@E+Q$E+h|o9T;wE7^Fo}thD@qb-p7D{ghk$CBYs=gGJFq zv7azoe6!gxqPh#44>6!trmT@k6D|OK8K~ZM+xtjgF3zG#ApcXtuuVC>KOz)^h*`BAF#)mXlZKT5c z6^qlC4yJRjr^oNNB@ksTV`4oI!^)e|AH}nYo(fc?f6gcSZcDnl;VvS8(CC-5;xC%+ zLeA9=#Q(C@w(OHe>1wA&xt+=;`k9G#hS-iQ4bK~YLC%SnHoFN2^dsH*tK6P<=U1E= z(l6S!vt3Zav*vWFOiB*TJ&bZX?*cW9%CcQ%o{D=G2>F?^V@QPF#?F>`8-$tObxcV^ zj@FTOwa{F&_R6Mmwz+$lu+hwLNkdIT#uze3TLY|cxjY;$NW_2`@`q0S$q+-ya{UT+ z&w3>@U;-=5)-pQLD%i8e1^tfLzo?ZwNAyhD@5te|S^oHCDq%TjrBjrZUg3fLjzuxf z;H#HV?&wFtwQ(UtY6z@VZTVceB|O%PsHOegK%=C&YoeIl>pBxw&(O&4fikQGPhBk{ zJL6?}v9GYI(mF#ue|~M+)!D`fO5&>%RDF`Se*K~`FnIE*^y*UHc{iFB=!O$E8;r+sbTSt(I{(ajkCBV*yO=r3-Q|lFL!J7uOdz#u7&O zi)w{3)%s7xUPTv_LIkrwEZ?vsLOS50eD=w?p>BgR_KmpNmi(y zsboL<1BZW9i5*NGMx^S7K>wTJLV{;Xj@7{-a4s74eg6+E^ z*Jf6wO7kOe*w}8#B0k8|9f&H|eK?4>S|zF)>UrBMxgmMaJzTeG^hf4^DN)Zb2s{k? z=>IXdLwk%(;?Skn56G%?4i{!oU)Agi_NxX+`VBP|{wW@nu_ajg(BY<_tCOA z_$-Qnl9uz{W9+Tq)Ui0MWEV`*!NA!AFNy-2?Fd`C0}8w;P@?N#+$`3Thbulcx$UR9 z9jv#tQB1ZiBs`8-anME6WR23eHoQOoU6b+FQ$TYl?SFdq{v|e4I(<_%raIu6gO}^J~vGT zo3xAOc9ZQs%1%E>_#HN3M;P!xlGPWmj5SVjQZ6->_ORG-6cp*~U8|nHqg>Plx~En! z+vl4rb<o|R z`oJ{m$gHK^4@QSj;*|d}j?=I@WKdO1?8k!p34QLX$G zr(gn2TSms93H0+|>>Gq3w=~m?u*3`Bu_i14Fa%^S82R)s7x?Caza~>F$eQZla~1!aUey`N=v5^!Z?b|F$qH6yUIM8gVJDU4v1 zp&<{|^eIYF?I?%LD!Z-dg(dB6^0P2}YRfUAH4dSMAD~92<~wLBZzl>WTx~K6Sr6Tf(9B!%XoxjPMu9i-S~yV zUOkjNYh%N0)J)OC%uLDe%v z3#$yujE|O?4Y7*K8tF^}1h5p9pM>y0bDW&;2SjWJVf{k|fboRagqX+$;j(Dlr=f!g z2A#W(!Hb;;FYrL}v53rE^9U!xDoL-(Kk4b{;s_*8b!f>|3(0i|EShx@+oPaH_zuvJ zyP?_cWOlgVhr+8TmkdFdD>)c-4*(2Y>p&T@heH2?&%36R?xzT+l0q zrb(8`Wkta-NDN3_wa~FQq2r*ewY=1hptX*1aUZ#wB)}%cV9EfM*hZ+m0Sp?vp+XAO z$#=~QUlMr;2GpfSfMi}D3!>YN^wDZfG7pH-&%bi$EV*dI*p0e}eQLAW_!=4xyw zOgO0>FyRdP2I9PXzP4)St_i8SO?ZDM^^Cn~B52UJOM0rjQ+l$TQ02vl2{65`mG7d} zzYsTxa9>5qBw}Dv@GK25_~5S-Vac(`l|;lr0-hH%MKuSaOs|xo4aQ*dP~3g#&@o)S zNwb@#=i>YWZXY1J5Ed4?Q3FAkQvosng6?G8{$xM_j48#HvL4q+(bu@UNRxk7lF7h` zG+a0x-5H)78+Zweh1Mv{DJGAH!Z3s?6nASRv)nOaW;M19Wnuz{`9iKD7*oc&Xu?fX zKPN7^M3`(MVYdr4W`dO-#Tc}zD3BC241 z;-_7E&m++~QWp#7f5;2Y|2b4L><2cNr!IOp6r*Md!^!f3QE@;RTr}|vVc0@h4}St^ z);)(ub=VdbP5`>_)*2L^ok}hIFza-vJnwsFY2Nn(63JHkE^*tZJgBE%+qKP?*nW*$ zuL=!ImtNHiq+u7y#(?s98b-4|nIxdoNxVhN<$_AK}^#9Z-gvYO)rLu1tj< zp~EIkPsT??F&x*yD6hC{*vED0+27c}mv(4>SvnvC1uC^2SY1874c_*8NG!d!^K@H=J&*BRE zisx}U#15WVc+l$5>=V7iYYMP~e$cC@lJ$PuaK4Q zZa^a(shFmTHvb?^TaoKDl=hcv$nNhEs4+v!EZ=RVv=-=2O&vk zYJjWR5@S&rrNqfUlf?XW_>AGcX@`neGbDBu#Jz6y$#aB51+@7%RP=rmXIGIk`DgQe zQnUj3-u4xckPA-GqVqp1i6JNujS~gL5oVwRZNqec4ac>Ikb~;`(qb(l1Tj!3>A6lp zG}e+5c%W|*??Iekos|=`;3yM^Oz&n8r7ysr0ce-npNOxUfJ^=6_t9@P;rv?P4*?3I z3_{!wetkKRL1cAb7qsNdqUEE>qf2LH=48{{9OL2ej)~Dgwb~buorQ4p+chy?EqLkP zFJTYEUMBM01noEQi7O`Bz(b!qCKn$1YIj|hAoqH1*1yfh#yT@$Q<#s;Um5Xp6~5`oH2i7*SxKR?pt5s zolT`%XsV!YFFoTbwBP1^RFeMv<_%r8Q+&pJDDBtZJh*n%t|xtl?}y5}CTuj4O!))1o6Co?VK#BUrTR1pj{N&a`Z?k-k(ZyS3>@wn7#1%>uTu~b zO=B_wG-Jn02!_KmkmTz1sVw{Ris;0go`i7<#h8P4*`|G#hj*)Kdyq`!^$9g_>gyAhv%G*TJC;RB)+ac2v}}2QVe5cCj<-2J zuxy1%vXbVa{2Q{VYAONl;$e*h?!nFxK_v}%+I{RDCGra5I=Z9eoQA~8*sO~-W-z`E z2ta4NP#89i^VadIF07tt_7k*R+C=VN2KIK5>sqL7>X61X`;m=tIm%Zu_3MBGT-HhU z2CN^%UxiCb3OO9fW6ks4Ptu8c4Y^c<@ePbiCDMbV4f~Ab;h+tmb82~+wroeT)VC~T zL)TKtN4NE(B!W!M2NGT;)JQ@hGRe!VXsTCLsC)GypW+Az;dhjgxiv(yIwmsV^?T{T zf5js>m_tE=v&i)gB}WB7WKO(RZrd(4(}Tpf`>46Gy-$?nstfHEK6#Zu<; zyV_VgJ2WBz*g<5%W`G1UWaeQFar}L0tDcBRa92e{7QTXe? zP;%TADvIaPB0*R@|4P?JrlN*AqDRPV(fzY$CS{02~EHVpx9}*p+4xVjQRVS zOVG}1-v`Cf&L0%VGEGivab9>K~}i9tub#drGKqwx-7~-{h8ru{|u+ZFANr4=l#5?GlL?qD5vVcf(AiBZ>NJG z1VZ?W_7H`cw#OlazwQ{kRdT!4oMsT^6=AT)qe>D4U7xEve4D|CJ&gXCxb!1HhjP52g$`2ZaAY#h??H`Q^Xskr;mgws&nz(tRE_#@@Kz0460r6}C9Pe7EwhuR3= z$O4=Hz!@KMfir%_lyDXKj`)CBcQoO9vogP(ee$Cdei1$PmEEBnfjDPDR^nBkmk#FWceHPm_3Lwj)XNt< z?ISwg$Hlo)82;-khbe(4Az~?k@?KbMV!|aL1WrqTFxmWwa`1@>mrWSB$>>&KINU!0 z?lVu5l&STp2J=e#=XPTqE27G`*e1NAZ+S!~N zu1wXAH01vbhh43UrGO6n0(2lTp^rK2a2pD1s9p!gpE{1;D7+x?dKoSw`#mWvl_K81 z@a&l^sQcrf1DSuy4rKbdE7lgdhpi>wx%^Bh;)ks*zj=cp_>U8VsuFT${uhd0qnGv% zx|Be|rYZ7wmf@?GI$Cyo|KATLQ$y)FrJS`gd0GUJ{4UulHz4__ za-hKu_x?5hCUiWVfxj{X{>s||F?#SXcfSRPI}c9$5XiMHTs?H!}Bm{GrA8FzS_6!DZ8rOHU&P5cmf$fC+Gg6ifUGX3YkoZTXXl(lXg5%>bm} zQM3)}72eTdcTo&}6Ps>}-KhCjOhWWP$O*ceo4E5kxSs-kgpzrQq44wdwCyhe^S`>q z5k6y55&z6X%$`LJJcD~Zy`goXhQlAe$)U{F4z8%RHmRd80Av3OM>-dW+E`Z?3S z5C-iFe;LX41l|$&{Q@Rh7l5L5yKK4dT9b8wf{|P@U&9gjwlo@5)IGk0J zOK~no$l-kRB3GD#8|>Md{E;5ePO~e=)dqgu@qg=J_}66_o(tV=h3kAAv0C_SM#2(3 zcF76PueByTmp{~QtFLPs zx%&Y&2#XA_(0XtRkIu}7-fXQ9VtlWfieWbs`x3q=H4HI>0AJ%GT{K_Vl)eVMTet^3 zFC7AWf{`2tv@u+}3o*VWN;VYW@Q+J6s;d5VNr%dAMgdl5plv3@zZ-7p;92iQK?OL@ z|4O}l$}z0BGl_Fvod^H3 z7wF(VQA4vs>p1HDyrmls@0T|{HR;y(P|%ej3Sg)=#@6!Ee^ zY8)GM@FwuFB2ysT6Wd4ft@o4=gDx!@IRsB+HcEC&*;wIG-zM6<0O!xdoVe;9-;qbg zoV)P%65E4e9YIEcRwLQ5pqXCatTPI>_Zss;E{bMO=WtY1;BZq-U@(&`{CCJDV{`la zK~-aTclHtEZv;$~ob`W(%g!Qu_OPpFqeM2=3iCu6Q})nGFDOPK7Z-%_lYM2G<3Gyu z2Ia4XtHb>s`n6?xtKqd5G2}OLf64ZUnG3MJCigf9ybxg#Sv=+nlYP)E%0^ylLxQsC zPifcc*kapIKW~zOdPpTsi^BFZ8Hd(dDzQ`>dQkE(WGfLCoMuN1hBy*p_vo>IODlpL3<;ZPZxH+rqR2}W)BN4e zn985gkaPBh-O5{>Lsk`dGnmTC#{rV_o~ps3$3&y2@QVjI@b665W6?xPfM6+8mN;-zi=cJbnaRj4Va z=HPuZA$%sJ3fZU-9yl;zrWs1i6$pWRBlnc#p~6MNQv8565Bt%7=)=`cms>t0}pCEOjxUL62QJ-9kR*g5}B zS03Qgu11N&gemiqF72Kav1jHTX^+lcoU0oPeUR;4FW=p4{79g3pNH51RE4$9lqe*b zBbN-Mj1_Dksn#YnTIw$Y<-* z?-Kc1F2ECq_{MejB%JG{&jKZRd8!L;m+D9MxdiW}#Ku;%2*(8Ptl1S?JH0V}Og~cs z!Hki=x(T*8LT5{tK(fRjg!^cA=x5O}H=qNe3JlCzp);ByfA!1G^hSHPzVN;lu9mrR zU{L$J$-M;ihw|ca{-72TcGWE0*poSsumg6P%7j-WFiH+;UxE;Hx#%|Fg>+E+@{`B8 zv^^98B5FAshRH$g9A=mlggKJcA+S?*c%e`|q-_0o*@w^>65$z8*A{eS$$-9=XSWVr zG?1UEK*>6qI}g^Y?tr+ZgN>ehXlc8M0hTfbX9mG-Do5d!e2UbtJ%SmDP|-af)MbN? zG+1nA#ZcG+z!&hEt}-027{GJbbN|sMBS)AiGKZ;`oSHo;U_6vbv;- ztWIfI7U8)lrj1vS`qWrXifV}i369}u;U$yGVCuBfZJ!jpG?|f?%8}bt0Tbu(;gCut zGjVc48zxEYR^YLej@Sl^ZW_RW$>L75T6IwonxwlwQ|jmH2p3o3RWNQAj@8$!?i(L; zAZe7m(+!_+s>%Xp^Tt=mhI-^R9|X>$GTTDv&8@>He}FhqhaJWFdow!_eq2Ot4nuY7 z%P_J6xE`pgrl&81s~%XgqmCk*OUX7=5e`WmxeDy&g( zCAvycC%;9t5^x0f(0RG9VsPZ*NS#A1B00)cN<1QLB8-|@FyR;g81fuPu`MxhMNvn1 z?5V2NFlt__T4S=QBjbF-6~>J~T&0detMBO?T71qzJ>3%ZHCKyn< zTt^X?8@QYh_*8PJSAn=xd80WK6$eg+yin@%;=tEfJfNUBumKI4x(&wE%y@`t3>(X@ z17T?l;6&wCY#22dGnXQg&vvPx%~8O-N|B9F}xMV z&%Gd`^fG3&Bda^V1&}Zn0tq$n&K9nQ*}%@KZH~POa}!*78Bs;HtZE@{DfqIm1f1`y zC%0AXXVj(~@@?oKwSa_B%yf`S8Aj5`+$Ydd3c#%-2r)j)qFVEG9Z~hVJ%jj1){I*N6$IC7>`49(;6zbyn>m1n zFB$+vzdtJ2drDw?abCZ_Evl9l&ykL{%*>QuJgOOO!OzM@TY7iIi7n6}F1L`rwM42W z=8W!Ru%h19A?>*Dm$%HoI7FV8M)O&3qS<)2%E~> z6Lx&og{Ve>GM{Y|b+>#92=N%?3dA*nF6bPoILrejnFN}H z^KFRr@Zq*I6yq}l5$%E5_2i+tZrlMF#!WYpYuRtA>VR7v5W`5*k%gsXDMAR1K0>9E zOx7K|{q!>+805Wh!S8$A?>R@KUFCXJ=PQpLh{>8dP3)QEdm*%QH_lbIPR0m>ty5{=P8RZ3Yzam)t0uFMx8#nufu zU*HnB;Ee8w3Ht)s6m`>55aJV`*zCr-402s| zLw0jpS(nW{x7}FQ?{#LfpU?O6_z@3zBiNh6FqAz`%1Z=Z5o@?Pf z>Wu(gR?wrnY|>48&3g+?`K_+Oj84>5pqd5n z5K|^6fp4aoucbMUfjmc0?f^6xK)9v3r>8mpMhHPMik%%ZHpTwFKOGHnM)ReXrRI#a zOkXDQ{2Zc-EhZfB1RN-{xDKwuc?sz_&oevbXJ|96vB90; zrRmu4QbvDxuKN>4;|2R0x=oN-G16zDyr0KWwY}{oUd@dGO$J}$R%jC&_-Xb$5FBny zj(|ozITK}({hmU0%I_vf7!ha6PI+dqZJ81s+3z{H4E3?SB=rlE%WxZ920{f2w92JY zM`#3a*zOcVOg9Jky2f~NfBfuBVD~a!0v04dUV?~(7?fA_d{1^!P~1<1b71g)2@4xd z%Z)hysu?CU$c3b}XC^c_4)k=KrF7q%?zGHTI_xz>rsFJ`$n=)!OHEqBru@|z_uss` z{}$+J(3Jz}M@U_L$E3rDTK%E*00x_c%vE#f=}!|eo#&4*Np4y9RaO72DBWmtTe}Ty zI`_MTWA~X9YZ0jff|N;JP2vfdR1_vo9Z(k#o|fJNp2GDx?^Ey(Qh_sg3ijYB{FNg5 zXz~=8+|^GeV%qn)@^8jdD8N8Z{Jbk8mw9$1>*x&9q8wUEO08lL-!9IbjeT6*>_QTdd`WIGqO{2cGgObb8rYuADbYpnS+CSkn&X8HAnG6$>EFH zt*)QCRv0FkO02o2WYrs!d0_t$G=!p{zagKof2gp242fdqR8-dxovCJ+sLv^3Oi1FSonVhD$mb80~NX>1I` zMjPiyA@oBGVA$w1r6tpI00bDA)Kxc*0)QY*X=P%g^>aMal-A%6h;;%`fMb>nwv0oN zrnEBw0Y6pA8ogTjX8ve-YlA|zn}C5!Qe^fz%t43sVXWN)8j*cAcNuU5lNZe&FLvVF zeslo6adQaj!rV?WPEJ5;!+OIOQwYjbXzdI(Pbj65BiyY~Mv)81hjOLb%~*_|5zO8d z%--DmnrUn3mQM8r2^MXPEZ^Jx9YKKMn`&>gKbgxCpsAq;(_mnI^v-b76p)4zYo_n@ z84o;VuaxO9&^eLCXirB>wyzKOxzjq+UezZ~vMU@~40LzkrurIbcZd9VYY5DJ{@ooQ zeG3t35N6<%Kg?f{?_aK%F+v7G>3SusHATOZ5+ctHL#DJ#>+Bt@jM{+NoMzRd12E}m17OW?N2%0$=c-PUb#`Lwo){*9T?H&cx0~ml zSHF>$im~;hsU-P~GKu`P8wdivc2joCy4|oCNsSoZoVjjy6$^Pz<~frO|0tHV^p&=D zluU{4nezVG+0j!tYWeM!%&{?$gBC%`omA92n+s&Km`sK?g=B?CcAT1l11HrPpb(fQ zEB8cyO9Lfh%h4Lq-?G~+vSKF;^sg7d6=~4`h0s2buyR!SF!3tF-boc}UKv0$$x5+L z(*lU7irWGSCu5{3=j^S?`f=#-!6-7t0S^@km;>!8!2^giEHy==nx)zW5d{?C;H0{u zJwm!tKA^nBDlUYjCGl0-uO5jc^ZHnlo7N&n4EYt}u->k(_I)@Z6328mi(hPG#T31Y%lPVdYpi{|{ zjWx*>8$~0?^X^>zeUpMQg9iG4cmpG#K}tF`67o}!8U&d}y(3Z$uAX{3nMaISL|7W6 zNi#79qsZTdX@fsIQ=Ugl#MJxHOo&#`1xL^f0cXwhV=8E}K(sm(c4r2GRsaFVKGHoU<5LDq z&|z8sxC1qX(mEzb^^z*Ewf~I!+3)U8^bNF=4h~o^{dXZ~%K!>Y0u+EewII73Q?MF9 zAkdBpR_78n;3#+z{(Q-#W0*;w{Xm%PM2U?jQln0?9m**h1`7nut>HU4y1{G z-ui&>Vlo{u=|#4Xg5lrkgR~HYl$Yn=oL8X&sRD#SfSXen7JuR%Rdb$+j+E zs+90Xj-j}-UX}dy$y4FCK`fHl&zSI)slSLMwohDee#$IpWt^rgfvNu4Tf?LtzOp4IB9XGV@uRI6jwInROgb1lsHsmd%SY?0bZ*rzE= z&6W+H5%}3u3aR~zOCTa~!V}p+Na8<}y_43Cv|A`T&l9`atcS2HW9f6j(wUsoc8ErA z;YZ{+6Rh)*Qp0?*N#%1s(o~hAok12yGIRS$_j!RUB#Pwy(%Kyl4O3%cs0lO|ytTj#W=cB*0Ev{zL&XL17p;ln&6rWts|mfz z!8Ybnr4zl%!L^u4lh4bn7Yx4NLz9NEZK-W&Cm)!Ay04^d^GR7m*orsnz~URDQinm9 z+53JB(A)X8>lt(309-&wOfMHuV>0+!Z|NGRKgI;SwITu)QkOm z8>1k6YENtgzrRB*mS^?%p~~PM+7O>4Sv$m-I{Uaim0iGxrxLn}E;_ggc*Bv4MV$o4 zqwfWv4Ij+)F4r(MZ5i*#rSN1RCQXHRj$s8V8RD>IVMIbqpmI!Dfdp`1vu-5xZr{Sx zsoYjd{|^+9W!irY#Nk$`Q;}T?ARF^+{R#mF>Hr2zH7eUooB+T;ulDP9rX_L2G++fH zr-5fA7Wx$;{Pa9?py4@qUkven=K8wm|H)Z+_5I_g-|V`jTq26zs9n!Plh$OZ@2<#F zFNfEZpC_uPzh}Hj( zh=bsN!r2HMw=W_RS=L8wkof=1m-vI3rcGoX)c5x`pzuG1L_2hSgMj9OB#51GBq+{= zQ)Z`znzS5trHFPjn8wM2|FRG@@IlKV+ij1Y(=tG`mvLx~cTCy0l&BDN4LSo%dAXEm zicaz`gYAE1J8KsWL^;;h`(W>1`b(H| z8-mJs`%^vhqk~f|IF?`9OxU#A>j?JfIii36Uz$vGayfRr`8&n486T-f?}%I=82hCR zJ*Kw|UD;cP9`nCt=pm^IEam~=&L|f_9|#*ur~*yZY9-^np_OdTEDOe0j({ZOf8xcN zV-IMDTmL6Jqc?1P@SV+obaj{(!{9!m84lktxO-0&o^JPn;QS`)K@pvzCnH9Vfq>-< z9@K*74vEUi|F0y7+uU_s@AX{*K=>pkmbME5+4DyA$|M;6kx3{M9AZ#eV5&5pnr+FO zKBFinQ>!?-QL$9~TQaeJG^Cf{OFR*JuHTKD9_-AjX74V$3Ow%J^Z*Fsth0ayB_L-c z`BoPeos408f}Jb*$PhI44&S9XQ92A~LdoGd&R^sbx~xZ!6~*f9Sr_2cM4YdWnH3WT z>a2b-k+n;mT6DI9beNbCOz<(~1s;Y<db^gcHCqh&%QV9w}C)QOjwGkT!NfN3OM0Y!#6 z?y_Tj&gi9iMVVM7S>A{D;KLzLyQ6{IKCrThv=t@MD_5Dmt)_)fXja4U=5@bR^Zu zgq0!t=AXtB{g5RHWcf_<7VeJ2CV&~ho0TWpe{hoaVDxJbaIzxOIU&{D+SD}|d58Knv6{No#hF2s7 zLlFY_c)0<|x}ZJ;2b28Bp#Fb~5Uw#DPeu|pbJz~!s8lN#|5f>klNegoM+5RN76 zQ7H;&J5j>E1diUT8DpTem_45us}vd1Jo_^FF&7!U=R*_vv1!ho;Y#n`4kjCY*(4nn ze!b6loo%}gyRO52Hdi$3!ltH(@|hHwEuhxhF9*aDLVtPncSq_6PH&0!3IE#x(tW`< z7-Hz2^-Zlu=D@7f#xS#7?=4Uhwd}O^ZuaL&dQ*Fj$d5~!0jY_;g{o{_kS|l0^eJ_f zsf;6j%hXM~Ugegk=pRNKA%^o0vNb)1_01H*Wn>@hxP{nMf zg1W#3%y1WdNl4cG2}_xhk@Cn0LXqiyRGSI#)E!f`mm}md^52kooZ)Vg1cz*7Q0SfX zm}xdW&l)062Nrq)nkeqRj4uo*cf~u!Ud#0BcMYKNrWtT z@AZ{V#1<&5v~YvFD6)NMFPHQ_mIDyP;gtEYKQK#k!Dz4Bv8n!Ks?5~5+%-FDIV8K>hH%n4 z$rZBM31q@SFq-LKnL>)d`xF5IkwX6A#aHqq@xA(*=cN4yJ~~l}5pK^5s$lJ5Fa@K2 z0u-v7LCU3nGyws9FM1s$yfm5k=gY9*^mf>+v$agiw9;YL|13Daltjy-16_k>+!w#Q zZvzWX`R#yz(xVH5ZNIEI?aY-?314Vv2~U%WH|kr7q?elq(cKoR61wtGN4(@0p@#SQX!haeKAYGPFhrNi3y| z^h$3r^p}-qUo-BsfPkMnM4%3<2ovr=CA2w%#RFg`qAv>W?5&iVUG`~iv?PV%ZtAU+ zx^vo8DHXFY+*~PjvE5WD1p(`j*{1p^cvRf3nrfyf&sVcaQ(!70PSK*u9xXN1KV0#X z!7>$kN~2is!zww0J}oLT1=u0TAAm^pYk(ivoV5mK$sMVRW=%|{izg7%#e)c|3>U>7 z8^Wu>M*G8UMBa8+Ug)ndEmnEmv;8vE(8Q$8-GD0!g0w8Md0|kaT~POIsDda6A|%_C zUJ#n{0Or999)v}_Kg^*iZ-`VMf)CHbvG-u130hq?64{v*0i*Ww|$sN_}M6m zU~uPhnMo6xS<^=T6RXMqk-w;PY5=Th>(sJW9?Exw%HS$%f~=i&q%lVOlN1C5u4tkG zXcqaz7~C~9=&`h`zl5qNCRFv0c8})!^tkOdBdM8w;$xAur7TC27&IA?&bnz9h>l1% zYb!LBO6$v^oC$`i?intpRkNhBXBtIqX}+z7fst5%5qL_?FcQbWh@!lo^j=h&B4LKS zz$GvtiR^%sIc+kqRY4GYZZ@%1?TjDVGm|8g*G!weP{N-v`lbyK^E3F;K5QRV0EcT+TN?7;2JCo zvK##F{t$+ux*fnRO8HVXRTw;!une_IG%-{lpJ0w!B@vb(R{qVvQOi?RUU>y3g1QVu z6BtlP;{BOdOyHm`0ZvJ%Y8a4FoH@f&aBUtN3u$Sd3Ea%dC zvrm!&KFQ=wa_DnS0UqS3xT1HaMB={sf3^T0;c2F7fPZi}TGd6?( zHl%`25~@lwVZ+fctkh`WrIiWXgS~~)?NZm_f{|3wcTh8)>@toNfVMo~Q{Otq5)=09f~u+)s0f}=}-sbE^0 zu6!PpVFCz&-yD|D*zOaxX$n`h{A&+{{4dOo@jP!AB;RB~^to=A31O=Xa455=!W+gv zxuYBp=)lCX7*T}=jBK1oIA`glGZs!K`T;v}5=d`b__ui$Sq}x%ca#$V5!QjqN}!3X z_RqO$D03LU1ej0v}utjTBgXXcIyc;H{( z>bY&xiR#uMF`;h_JM26;MK(o;<>|0|#`r7e5%?YDR51Qops6y=#8F=|hpXyJ%_0g% zqow7uP2nmKQMjWl0OPM$@{XR2JiF@^+bAj|e{g?b7KzTcEn*6%;VjC5o}Qjg6@%Tk zQnHO6Gu{z1!R`(AWZX4aTl^ysD1E2?3T*$5a+ZnA>Y>7AOpsdcUczwH1_SESRD`Ns#HM6DNh0-1~gB`{xTJZM1R2;x-*t^o}LHg4e z(LyrNP8L(dq`Nr0U+m8^`B4f;uKa=+|IK56iDj+$!ei%HlawN6o83x%LPi5~JIsri zRRo(Ba!&TIpEP?4)LE6D5dJ)pYM;)u$_C|#C-OSwmvsH3Q)PsT>{uzckF9z;A+J+0 z%R?%O{g0ADe#&YS!@ULoA`X~)hT&ez07RP7#W1Xw;C==gE5L474TT>uuejA(BE!sX zS3CFX5SNY$5xXmMgVvexAXO9QW2O-6);A-eZq!HnaO6)Lq~&`9(H5vI(teS|IiYn%yjY{ETF zxdEU7=vlVOR|o)K;kmHJGki3oxR<($49>#Er$~*RPO?$kbCbo zhqEBC-J1d10HCF!$NZxc-LL$lylhO2oE{^_p4t5)4K2?;8RGfO=u3|YbrnENyP|{% zYKfx4)+zVA9U(U;$0fts2xQ#3UxX83lzU;q<^1bQJez4P(g@+~Dz$0T7YyJQd~Xu6g*R!c@4BaidAVlPNDb1=l`EuP&}LBus|r&(q!ZbqcMS-P zj$X|_T(^|;gOnD&!J%;Jk&LC$=N%CLX|M2F!Y^H`XTKRiElBSbUbB_;Tvc>jmG@jl zOa@D-S!WF}f3;bAO>wOG`<}5MFGywT|Hv$5>W*qPmo5;FY8$;4su|!^@&%70^8^^9 zrsQ)c+BoVVBcz1O>r237qG|%UG$djQ(F6s^L!N6CtepE9{WN=~TINRv)QIPo_wOAkP(Uy2^et$d+(|-w+|q z3C^`_O(D)ms~rOxB4j#`vwjC8=X@a(s@+-fXJEY7mbWsS~6F#iVgLqS# zD^mpBG=LDKxqk3(401T2in2eTI$__WB5xZANnIb9o#im|A^3g?`n1j|FDT@opp2qriqR2b0VBfmcW%Dekl8SmZI z>%Roh-2ASA*4zVyD#)(AaWz>J*6Y7tXC`LP5NFR8g+rFTIR32{xo-w!RE0C%`wN(a zQ3$Eu<^9YnCe-R@IE|hW1O{K|IL6j&7+ZU1TnfQzJi}@*X_b=j+Ypm}Df}io?D9)g zIbWI@rf6}=-_qe<&Lh^e;J~B)lE1Ai*D-1mG3GT-DCJ;*bJI&uUwy zAhkr7v0Q!#eKr^hUh`6 zJnw5VLlNE~((+0!KO{sQBI#Ra?;2OnJ2Rs^kIrOBD1JXOd#s4;PykACp5~1V=@8Y- z1<|WZ!25LYNVm~I7s#0d-cR+6=A=HV%OfLV2`g8R_VER)i2!6rJ|6{%pHj%ZWc{8q zfUx`MlJ_rZQwmv|64HPX4h8Pgk9xA0^r?i71Mr5QNJjMSv=ZBUull{Qi0pJF1b)1L zR9nx&Pf_y1PbcIBp9r_s9c1nhSe3Yi(9r0^X5&3WQRr=|`g&lXGqlLzkv9g3$Z}_9 zRCi%iDVAOJ<4KwzgfebGD&c8#DgQ;R^2;aFRU(q_z>KUbb%097m6qCh`-vf~+KvPX zB~oU~?BM~!^LGYjd?Yb%k@h0saaO|w24+M^@t=( zc2;I_W&t5)p~maubXMbRkM7b|LElr`@?EK{JVfqXlTwDp`y<3@ybhb@X3aA2brwJY zCn#*Q3M=p&Y^ilhEys>nUnzhrB-|*14X01Yfo)~hF$fuH$E6sOU-3g*-1(KR{aumP zr@sLiYz>^TJRDU=Rl8RA2laX(MDTFr={K3|*rXR3P>R@Ehofc-13Q)7%r3RAWmRX@ z^5zTT^utq(MK8svHo3yAsY)2HiMh^?LwH$HB9RMg-&q|cd= zKYnUvZr-@KgtZugbEfeMzDQq`omrfnrJg=~{N(Hj#RY;&E;})MQs#sb6lceu9yNGs zR`#sS@p;*)tc*VFgv_Z~dD&_^{Q+!7aW<+fm^KZrgx*sh74VT;t*V_?D=-Mt!>P*Y z={P-g96|;hGr}1e5)8Plh@~H7z)4DMzzoRt2q}6sG94lPpjwFm(`Op^2F?~6v3=*V zu^dNK>XeQXm)*QBxsiP37Pp8>3q!ww3FF5#k7kXSkdvLCnK6VD95-TGUT)Snf_0m7 z-cmcQc$~i$%T6X1(3cQ~qG6$@7gdR;^Nf}F*cQ5}ls^`y4p!onIJgRr)S?6t0T%)heDpuD z{-*DEXyG?mY7xAK!fSc&i~3G^UHi@Hxln3u{sV$MMDMTvzy32&^uI&?@AL#&_qRNB z>0p-nnsXv<0X#0se=QwePHEV-Dh zJGqIAEUl4xZv}cgFcn97TKxomO%xzEG1B3kYGYJiiL!(I5Z9of~NDsQ3}!`O&cXPiYXh^$7qMdlmlgFw5RNmxLwQ+WQ*Ap zr<>iz7IP@J7E~{*2Cr=5h_NsKnIQ+s4f+0iyecqglaI#~pJ>*i3Lz$8?ai1W4VPB>y4Tg#3-OeSWj z$3+HWvRu;sfX9fz?y(8(!oe`+VQ3^AD;|wHDT{4ZTfj&uF>QxzCE;l^e|2eS%?pjQCPY)A>Cgmd`fFS@Rhn*1yCy;NtL6_) zPi!0op($b9%m9=mqK5A+(_>n8U;{?MD2-S(jJGsl1hO~6+e)k&|AzJ=e7K57UP3Rz z?d&`B7!y&2w(FeQ5L`lTXB@)2c@$Tih*(v;46c@4iX)vE5p0m~$N;Ohw;4Fgh7W=V zC=pXHy0GZbx+@oUt`HnJwql=Kid@XE!Jb!i-oA8i1R&XgKMmOY0xlyk0uPg0DIU1df zPI(Y6hX+j$cixF|rkspUlndLu&h#_aA4f2^KT!2qlRyX1A32P=)Pgp;p zCJRRk7cZ`bTGYX~9D=~s=h)L;f9&dsWG*vQv<-w&qJSmTXl*eMq zV;ALdmhyN+kzARNqVDd1 zGtUOuu)%gESR(S`E?~#LSTx5KrHG7iKC4g!B$J#*R3hTW?G_9XdOY!ZLS97w-r||e z&w5hDXRFsxkdR;;w^)LlJB0lBpJR|tWX#rPJ0&(C_%34G4}>Ion5i4OS#$vs1+u+M z(IsgWv^B6#%!{|8@CJMVyKZ~m?JKwY)vcSa8!Mhz6(Pc`l1ec@ObLGzz;I+(1Xdh^ zM_`FqR$_-foD~8$vy0nok1Q+OhaneBDo!W2A&{0W<`LW~5S=ix3*e~2?Zv(bWc_V0 z{s>fzGSO6&1wV`6rzVwhrJX59$^}`_ZpaNe(V%I>cc$rUiK8Wxt^^Ok>KGeKrdk|W zEG?Rbpj!gQ_0JH(HoPB_lO;Je!4!7M3*o|Il#OP={-?vM1m(fI;QnctEYI6wsw^D2 zTT$_Q>&0wu5xDPM#@Ji1cI;>(vbcl^N5GErP%aFJ$iswF;j4PAZb1WTcX7?LLM$Kn zo*N%ffe&zT6zs1NFGb1xg{ngSiSI5L1Y=DmjQ{9s8j^*)2~0m&fCnI)qqk#OClTb+sY^n_Aqz)yE!R7W)U4 zWsO_K_LQ~8;j9drV#-OB&Y}!D!IoV{6qm`X6XL~z6c2n$ls3x((u5qe)-T`u^>Lw$ z_NEoI1E7vGof3((nrca$UXlUFLBA{{QIL>Mf4~LnWP5}F?6ye*3FKOd+L00W!WTF$ zaMXO5Mv9OWX5TDsl^Exb=Vxqdi$N(udSE@5YJ(@GczbFKa&1Gc7%vf?^AdQtX23Jq zADmdq#pr|p^N<~#<5A&JE^YOaDe5wc)nmmvS*iHxQH-aFyH#o<%m(vNuQs|M7o#Ih z=8O9j+i<*Ez3RO>)xTs1j)}9;2XYg!HhA({uqx?2vT8%%O>9Q4AfAp2-HZZP_05bL zSQo`PU?h+lW_>COhcj}D82C|x|DULN@y;w%D;2V5&9>X;#*tCIG$LY{< z!gU<03=Sfy*mM+JpG@Ikp-z}4%oOGd3xy@ZGLg4%sc^M$qi~xjNHkcuM|ePZSa?!+ zzOE*h8e2Xj^xwRXFMDzYqh}~RLhIRx`!lBZ!w;~8^k5lxAe@Kad8`UNoBG&Q)mTkD zRvtIlvKr%P;95@yBc6aXVw#-Z$I0kSX7sU!2}ax;$nEADx!pVnM|0_fJ9sCzfUEVq zC#g)@Zj7Jao-sziii5A_qgWft36VUR*yxf~&UU5kj83$Z+Abqj9LUv9=%IL29L^!Q zoopLNtcemMNgHN45U?W?Zty7BLovz$4uCzv3-bN|oJSi0zFPsnCUx{^)cpt1T;a_+QR*NYUhjD5!K{AXaQ(Edsb~x#W zv((i_XXL1j!QnJ*>`RBH+F}%rcuTx+#69j6nV4Zu4wYR(^x%DPVO=vOvL0Z(5ok(6 zv_&yo*c^D6)z^_Ta+V+U#^A!P(@MzIk_@ey&us%Q!#)EwL%{cxQw}IXh>>ryCRLN6 z$MGX6E#CLiJD;=t!AWVvL;J&Ta%|5t(m2nsVUGDX~t{xn&NG5-lH9ukRJ1Z ztBJqhP4XjH5isj0F)uPi5G$P#q?djb6pvC#aR|E&JT5!ho}3d*+aapz>C%$0f#QKjE8>`#6aSwUP z5%ux%oH%*75vEDO#!YMAtF?N`Y(yh5Rf{l=T05djuxBIu*}V2`q6ijl1sf>2*on6q zuVgcCB~EGYs}diw+p%VRHxiPs9TpsvuCW^@^9<{wJ3OA9Q(wilDjV&Cq!=20Z!|(n zv{&mm>4^==Q2OT1y5c}u)rC_16dTSD#w*9 zcgNxR=27wW+F17{uGYZ8IEd4&=fobb;ugeXozyeDo72q_Cn0SjLNS4CN>JxxMOM(s zIbMCd1awj6Y#4i%Z4258J?fY~b$^#>)=ixnI5o-vJK*?W|0=S87B47z^!TYCAxt^k zamD@UD%@O6&Q;7YULdg9m_|{utK)*XHLw2+^iHhfxExNR@oF& zX2jK18e`Cv7u-Jmt;9&7bwc|2@TEGPabSz1;rt?cz==OvlC5j&+?5BWuG6h9eQ$Z;ZRP>ztCP{|k}j1hs)>$0{v_gu z_jR4Fn-<+{oiexq+5H*k1fz3p^BVipfC@Z7V{|!k;z>ZmTCru{nrJkHQ;yA1z99IA zEzr~_pBs*BPo&V+`Bk~dDQ@RwWAvVqvuI$XMXUdsI-1)uXt8QgBVoHC9DUgNyCdfK zpr82LAqybIUR{uj9NaeUez_-oMK|7AzVho;huExuZ?k8ukIY0fCvH8yb7r{FVu5Yc z?C5qX7lYIP8@}SyQf8ev{ANBKR=3n9(xsu!;q|qgqASb!+~3%$pqSim(ai<2xCc|W z(^zyJY+fN>Y?2PSt>=WcO0JgD5(j%HudD^@I?|N(9b}` zR=8GO63>uJ+CLs{>g4k}QcwS~H-~dssmPvk^AxJN78HAH{S=yT&zxXAc26A|z7@{f zdHb@Ri{>ThZ=uAu%Xf8uGlGgPnSSTUuRn{0KI`q@dyL4#g0BW_K6N<>;ib%=IL`7n zse>PNuttn*{a)^~3FBTm_eV`n6D`Tva5+=4Im0q(jP0}Py*bEEKZ7~xo*ur-oZ>K} zJ$K`#=m*tpLgyhr=Pfx?&br@8u zeI>hS@7EVc)6tCt*ZFMUukGu5*n?R$jg85h5L>?x_U~-v+kOA&%fa28s`Lhz!4E_5 z_9uPR4_{@Xh<~46`R16y=%Aiim#?U9Ly8m336%M7{i)GaM`tCUpRl>ZyH2=&xIeWD zZUXz;`O!^<1F_XZJyuT3*hOP1*xY&XqIio5@5xHM^F>~>)vF}*UE$8OLvz3~>?QuI z9xMyASa|qg+ki76NbodqFAT`RbzoQghkFhgk}b=>Sz9?df!AV5uWKhyp+c8!eV&%5 z(aAFdejFCGC;sX<<_2u*o+4iD+4&7}O>xrqADK+~-hM%IJVuInCmS_!n-^R{h5Bsm zg|xv4pUn)&x#GJeKUBrna3>Al(e9JH28-HKUU5d)L{BDvbq`QGWH@b!UZveLBmvp| z5~pAWBwjL6c+$tuX!%3ieIIdkmBrRg!}sK*lp~E>jW4_58x-Czwz5H!Oyx2+Ab#PP zz>xyoc&uRb5+`kWJ)QaS>fE84M#8}|?_{bxzJhadvTL@+b`1z_GUw|YW%<&21F>9e z`C|T{2K`PMzH@-UW|@5^>Iy#^ZCKz3xsRXvZcDDNLW-@-4e0c*NLX8tN{`u7x!1|p zn{asX6@^y;KGENLkVz-UV^eqaZ^&w_r!ggSzDxOc_$LfxD;9fTW>Mja!RS5KWP7AM zm6Az|$xj8##T=_MH!hqFl_A0X1e0Y-W+`sDUyu+klSX9MeYGry^K^yJ<$r+*=sLIN z&6jEE{4GiA%YOBazv|B1fVz{cn60T1+tB_URp-K+Mo>nm>cN^eb@6#T;ac#Z+iSoAUQ*7?4Ympy z`lxB`t&hJtpSb~%$)`@peDY|; z?D%W5()PdvarniZX;b*@heL%QtM(j3TORjGx;GIlU;uNz3kGgn*7x=|dQ9|}h2!jZ zN$BwI@@MzZ8 zKPI2Ty7r%%GpT#i24DVaBwfP3xskSAH!gZAY!(D9;cQ}ao zZ2s)=^R8v#>(~iP&)&`X3$Y+C=k%f4ZCe zy-S^Y#$z{?`(!?{`_60u=f7{^UGEn`d7r&EYtccy82!obKG*QBoJGFqbk`rfhjzOx z`pw~j)@%WB+@-fEn<886&l8_@GvaFK*>6vF<61vL?5rq6@#hnGzkdD{f8BOGVw02& zV*>VD-??UgY}1OK*LGDCVKq1?_F~T zZ6h2S{$yEfAP0-sYhcDQG((?Pfc z-7bs?I0syL-}U^enA2~8`e`w%7@IWg_bm79OqBEepx<|Vmq1C53wZn5EaR`n)a7#Z zJ@UTa8ms7uiF{-!{d04j{oa_zrL&*%u@Rlsvv1)VY}0f1+Eu?!rLjon`mfkCa!|l< zNipl`(cJhm#rM$f>)rPG{E|wA?M!n$tkktx?|-$kkNvfBBsgQb{?1lKmws3fwvAv< zt6IJL#J~znxS_}M>~E(~^lcBPmnxw>7jZVHmNQ>d`ayUgcr{DELOloaB}K$kH-}WSirurdBb$u zF^lnc9ETriqNi|<_$}GxL9mZ}%XuF;umagFH=9BCNmb-MjfM)goF1aulOz_Xun^C5 z0HV|Ex4$nE2+*a_OKpGb42jKk|NL3T4?xawVK$F{6586LKPD+(udQ>XU6;J3;y*SL z;*LSPm0k%6tQ)m&E)JuM5WCZaMb1_%H;343;wldN_Zr{HRqYu2i0qc)Az+cHIL$gy zLrLtu&e*p%7EFN$=S+zXMKIx*ZVsBq@A*g?6 zD-!gYXK?bt$f8+0>LkurRu1XvQ9PPFux)?%hg0bCkn;~O{I-(TP8k^KyQ6a}opb`m zgC(zwB8%WP?zHRGQre)1#u8zx>@s6X3)uaVn$a-q{TyWM;*WWkq*9{<@=Z1K}_ z@~?+MS=hdd?7uhM$V62?g$DeU8bbAp_FMk4`b-t_+zpSpQ+NJ`?Sf(B=|YE_eeQZM zC)@%86>pFKz~`O(c5H<_av9b-CTCpfE*N#sZ_J#%v- z+=$4)*Lm+pCW?h^QALR&Ei4+eIiPao+9mNbNXIPR;ZWxig<9$^$SYWh`Tw$=q&bBS z6s(x)TsfM~>%xCqC|ggU#LsXD$&M9&vYtj9K*`?~EVUlyN8$Gm4p|fBAQr9+zir+4 zTPrr?&MBEn!^bBv0}@-*ws${^ui<AV_h%Hy#DQ`Ip!IwkDbim_Fk40SBUQc$Zv1 zVG&q_X+SP*UUjEZ_Jun7QS9HHzq<4CVjJ(hF>21=i^}nZf|1Sb83&MEZSLK#PWV!2 zBOJk5eQ)A$&p}R4&~bJ3k*H-F8f_r=#`ZK4yhR(88(k+g;P1J~T~EA)h2bA4&4Q5G`HsyvRk<)GfkaHVR@sktm%SzVUVn{ z$L0Q8G%RZ8qHInO!m||sW6r`F>Q_2xNf%Gn_692cwmH>yY)NIS?^(PUJ&!^h|S&a(b(_Z@0~pZ z3$>cN)nIIK1$Ucwhu`}HO?{z0y6&L1O#&;8U$*qokswf63k4($8GJgYDtn4Qm3 z&c*Nzl_PcxZMN>VoS)%e+fd$$m%kjYnp&2L-ez#$;(0N~&`aDEO`Sc*~_NKpN~OIb4#EHxu>^mI$FmKR$)ZJy`v zx_pk^fFC|S%KJpoDfIqQ$oBh3;LwM@-5l;}tIi#60;IvGVj|s+ent*|A3D8yo|N+Z zI9c%IdjKQ_|Ko$1Z$6?iAAYfl?^%KH@yvtaj@UbX?%{Rt9RIYiD-+nF@sG|;+0xlW zmm=F$V>;b4TqoT28^)F;AUiwrfRsZnJUD+}Wn_t7Zy2OY&|2HJrzFg`FGsI@6>FuH zey{TFi#mfgYYj{bCFUn@9GP|Fbz@Bi z->W*V#&Me$=HwaB{?pY{Sn1NWlP(_2q>1f1+l=w$b!g~M%n`O3Py5E%)}BM(^&ISX ze1rq#e7kP=mS)2OIZFJ6X<9xg5&x_;FBU`dEvH*_IR~eS*yerfgNI$+17^KnS$;$LS zTX&YDS=~1RC)fOfPO)~&jAsNCT7P0~u7*`hf+Juz5WPvC@=f6>L_6*2ckTOmFe6wM zGH#M1>++2Km(THW#6DzlO9Zz2Z5THx&~lpaRmaQW!LQl_|JuFdT_zgRA}v-3jG;$; z&rLX{{K+W)_u5?Td&KOYwVGys#oxfPc;#Mp;I7rl6Hoc92h9Hn1|pl=q(RiLbspxw zJ-2Kx>;hN<#1aNwNOxy{yqs{;{_N*eio1u|cQ+Dwos$=r+I0&u;}k`?qSwskSO(7e zYt8uVlNB7lX=l35T|I?Brb!`OMDwj*3|_i{OQ50F+j74(?b-sR9-}tAGm0pWInBqT z=ZzF|Z!o*|!^XeE$Nd7406cYju5+1b$Emy{-(0dklrR}BNVm;j`x+L=GT1hw?~|Vb zM_%`6K(?m`Dq=p9_lTG9Il_(p`bl3W7qhBZfqy6PPpm6vonSL3X@L&uzAhQuW<{ZO zUWe`annvP)c~0NB?fH-#dSI7eTmKi}5Y1vnlFHuru z=ks8ts}ML~!9NCUKK)}3jrqbj=9xD3V?BRj8}et@6(mjm%JDrc+9}?iZo6l1=JX`_2ZzI;gqj_{?(p$KZ{wrPcj#!62EaXCer=r9fa!@_X&$WIi~F$ zS$9to?~Y(c&^NoMAGAK$MEj-hfdAoVSkGrK{JD$Ug>1dP4(a;JGR>WlJ*jeVG`Z<1~y{*29biVO6svaj4#5 zzHnQD^CjU@K3W!w%JPK#GgtZ{8QWNLFTp2KDEFFIBix5!87dxP6Ip#ZHYm@%aDcjC z081$(QMP*gfZ0!?Q8wNl+wtcgMFZ5C`YBZda4|>A3Dge2lPhS0#e~2)_Y(B{h$a?3 zyE+b47Yx8kJ%%i!0&9iU0ZjwO3a@%(z(<*hM-qhu4qNTCK`bYFK;C+b1l14{jW2`B z2n;32^$JXTs*bIwEhbk^;vreqS0YiJu!8niA;&N$(SiEIk90jpH>{XhZoAV>u#6)_Gp&HR$2_4F;If|G2(yzt%tHi>u$Cw=DU>DKA-o*k_t&N;S-TIbTfj;;NFfl84Wfsv)nHlWHW&tA)5Kvz#etmwhX?#FiR0aQ&Y=*w z2ph#w?Pxu&BSkAn#m9!k*@32_j9+470< z3{Hir;Y8?03q^N#Dp%MLXL`GyCAB17nqp__S2zLcd)y#QlD&BGNS~E2ZkHa*))mph zlieW$)l^OJmxA43DJ z8>zPCee6bcAszXuQhG4&xfCuII6kdUp;y=J^Qm% z%5%Z2Z|{sP3C9xJIs+^2%6*kls_8#mM#3_Fo-ZXxUU>{{Bxu$2%b;TBv0$EU zqRqgnMG2wnYS}`G-S~wNzET&k1#Qt3_U`dR05PWw+m~dD4 zPG}Vzfol|i_?+}^mS4@UhLg!!2uXvnc6QT>1_@zv**GwcRgZ;Pbih=$kq!Ro?*wcd z@r6K`%2m0~K33Occw^WVa?t)I!|z7=$F3FiyVURU?c^w>blaahj<$Q52z4psHc?M7M~&8*mL zw&f|NmTuL};~FK7A{e#h5;w36ON*xzo^HFuZGLT5%6P-8oQbKl4zO-rKVkd3h4JI- zgD6=&Q`ul2U~#KSQRE39lT{?$Ii-=QKPf7o} z(|fBtS3Zt-e8uW$`hEF;9v+lIS-gkC6O;~5(Suj=9umGiB(Bm-Y&b-g7m}Jn(ojg8 zcH-Va9UP80wIfgor(uu&xEe8!%q4uY{she?B0r7%cL{DnCm6f<%rJw&i1e+{Sg4F(`*QJHlF&f%{KQ{BM}P4+-w$3hh^h2l76z)?#l#WI%3 z>d8u5uD~4zHlseH-XyNvwvB#=P7^0#e@pYp^(HN*nM^x~Gnpo$Kc;nq$jL7|dm;n= zG}if+G5SZ|a_XJCovO557dpb@#y}R*n%J>$(JgiiT#B;**I{y_MN2LVJmi54U-G0; zQ|}{g4sGsT%~aMrN;S(UY=WUGLynKC>fTg_?h?uy#l*L{4m&G!f9#1+uRn3{lHOV} zi0){e--BM#K!YS8r6E<~Qz#h`>v9EAA7`Wu{6>)`Zba<37_Tr*ZY<(oO{YDmG(+(X zcNeZyCnE9`4Bi$J?EDIGO|LlxpKrWD7=j<053C?O(dx^;0~rFDDdPl$eW*njoLC{X zM4O{C6%r63La1$n#CU{IN^dOehG3&K+|C-+2FYPoO6}Zq%+HL|%O%M)0g$`o?VR$Z zXU}c{AEuxx`4~?j`X7?emB5JBwQ;CdfL93wdlGBH=? zj^c-Y-7$3NUx;|2QYb(?Qz4{x>c`yn*PCz41Dw5`h(B`%IE9AK-4T5&MMIIH#vr|N z`>G|08)0CL9TAk&uAq{d=(q$2O~TS>7#VI$Zlnn#b@=gtO*A@`J(;qA_FgpT;+VU+ zgP3dso34&vEViUFdQgCzC*^doQcJQ#(ar~LO(PIE!%1 zn@pc^`lTYA?a14;`Xk=NtgN&MZ+R0z8--9Hsa@HgCbQ3_d+~7|e6GI6+sz!ETj#f{ zcw<(`xCE;krDitcH-y5xRhsO^v)PTCEiR#o#L2QYD?{=wT4o5Q)R63slma$(QS?vT zo!n@W-OZ-+7{T&-ktOb#P_S;hVE;^5;#CT%l2_G@jZ?nJOCnhaKg@H`$W+LSiIW22 z=(zJ9j>J74!Q%oh^M)px3F*0#;w$%BIAF6lB{iJ-b!W1TSm8wC^3@%j*NJ}f3bUna!OJ60d~SG6*T|+sa7z>@Pn z@elpEX!#4sEOi2QlOmyOK;kA{m}UTa^>c`Z7eiDk)!_IDK6srM#f?PiB-f$YC!Yf| zhSqxpUx@y+|GwfKq>;_A@E(DR;kSi--*M?SOPgGDVqfH_DL%sF6UePtQUL7qw zGU~Ub@xg0ouPcd!hecqR@QjDTQ0udlnR1!oHGh8puhWJa*o>Nm36A90dVi7#tS-1b zQ(ub+H{Sf~AkSl|Zu9YNJr~~>Jg#OCCgQhzj(QC?`1yYCt*=R?M%md+HLt4ZJK$@2 z(!d*;aeQQFvKlqKDfRMTDs;P5-h+oOMV{8`*CtLkc3BQm!y8$ng^#Nr6D(=?;1#r+kR8D*tH%WEeTt7=w+yC6 zHL{tOP{AjRoBkzn#>I~tAoBWpP5l1Yb%Xg}r!OtbgJ>ArYe+!KHbwBdF`%$b(L!*V z(`rEJ@f-^1E+IWE`fhYr^Qb-+mYZzHQBLV}mpsJYeDMOQ^8jCkG)3T> zWjc*bYR2gRINXGY{QQJF*G00Gz={};AV@IPhTFxex3Jv?kb=KmGU^XaTYqdStT3@$4B z_{@X>AKj{j_2e@Ih58X4r9obI$K8|oP%83aFY-Gfn>&Dzc_1TuJ`qXHIUrj<63K}lfOHb_GaDmp4=zoYz8@|CvT4;&DrF)O!9*lsgaRGW5_ODUJwX}WaRHz zST+RwZN|sxy)wX!5~Y*JZb>ji`ws zen|6{ zP<&pAv9%Y0b1or&i=k7=UR072Pz=QxHQ7W+3KdAaNeVd+dU@9!^ZzeDX zr~9D} z`L;YGkf((~)H-aK^mA-R1c;K_c!yfi7=By`?^25R*)xaI<|&~DP;>_dIGcy0rF?t;|Knqmul7b`w=ZFZn#uW+@f0tLvH8XYHc0Y)sH**EmBX{6VwhRL9z-osSi>lFBh(ulWVAM^!w1MGL z5)8pGP70dkbmLL6?BIAeDVumm?ig|ouC|<3(-t}`H^B{+pK8j9b7dWE8y(v~H)P95 z1Es4p2P$ju`CIU5cmL8pVv)!ds1A{MDFOs391M6A0z4fq8@_ccsuFP>CDub2rD(=_ zsKlbyLe1Z$SV+i@1ov3XlmI~x1!@Sw%%OT6chucVLG65vnUa*eQp}!-tEI3}RD3Q) zabq16XNr~EP=nim`r&qJ9My08)DK`wk*}f>Yor$IwHfR4U?KB?IfrV%XEu*wYWOu{ zL$c%PIIN2}5c^!pS>v#cW_WC9R0{JRgJr_joEo?!jzTIFRGcOa&suLIZ+Z3`f~e9nNJH)D<%PFj9w4BMy_CajC}>sRo{2;J&8*FehO1CSfhcO9SoikvJ(? zI&_p0ig?auEEGqBLm_3qH{pG3{;Zi@yvJrXZ1c=!^A~wH%4afru-K^eFpZMmg@ZLoWP6txh(~b{V;`pw%%W2Aa6Io3khc(*G`aCg$;}}y$GYQ{U9Q^WHmYf!F4CuH zB~t@aM>n{1+r^uNk=jJ7YuVb4@naRGlaq%fkC!K<>fIf>m@Gt<|7VAGT>1ZR;?>xD zi&!`_ztHH0^hqg_D@0l{y}$L1f-_y7&lV9hHDMlc89cb8C@Vpk1R%&RDYv_B+%=`5=*Xzq1ExgMIDYK(DI(CTi+=ds zdzyE)3^Ot3+{Li z9LC+Yz}ZdRoU7WBN9}dC)*iK}x!r#wAfX-_fcNs-@!uFJ#xQ?bF|5XU+=LBWTUqaD z9}t(68JN0Kv31t0RttC-R6U2cyi+?jE%f&hHzs{Nq*@7FTFNlSl%gS7d`-7mJ#KzDrGf8uEzW1)VG+JL?BA)5@=23&oi2{03TQh=OX16}C z{%&UI7!gEEZ5r~!9;F+YxM@*oJ1k+1srE8f-kn+#AmR*wV@A<7shr|g@MewNteI%4 z9>`i3*eU%_b^;5MZH2ct^n&4 z7wb_qXusA+5sYYiK&SCoPfQGr%tmJi`G z`RRN!f11A�G@~4G(G+?gZ89hwCGP&W6>-4>!~*^t1FXlR~X!@%^el5A+;;c5p{yORlS1zTNw^2Wy@@z1p=Vpftzb zHa{(5S?ZF660T@ulv_sfkiYFav+LxQpI86>_D`Q3`1--xFRs1$;WsS@A3d%4uF8K- z?5N1?y=D$@n{JJW8&vn}+TI&3eSd%Dx1GBWo?i9r+83`pXj$|5-uE7TUVG`?hsUeF z`m*C{^V6m$mCsJ^{`UN;JA1y}*S1SLJb1x~mrs4!@xFTVi35FxCA}P&$rQ(Jy4!qk z&67&sd7}m{AE2BX+HkM&PNVbc`M2-C->Y9y&@6fJfYJyXRD>+c9dG5g_B35+dhg+f z+VuVjHnv#5t)>0z9f$|Kcxe6E{THqWZ1;Wn(YXU{fi~)I_ty37z5mv)N6vlw>Xd$cu_uBL*!V zLN9`<(ot^WtRU zptQmDdw)9q?BrGH#I->Ekm1b6-<#h*(fon$3{z-yR?Od?*6jNF#+OH&pMACZamUfG z9$()1!^N80drqy>UH$pm z#p*l1-uzIPImwdbnKKin6ohTMzox6{tKC2B`F7=L-*ncvbw~T2w$_L1KGxLro~p9< zfB9tP>CQXXb~%sSxq3)yyY}gALy4Mq@$!Fe>-+y5VUl5*u?&?IL-5VzdU-v1wdTCs z6AxS`P?m!)I?r-)h%jZ(C;Cv#9g^_@2B`6y<1Il&?|hxdI$x!6nrUiM=FH+kQ(;N= z%=rz7B{)wQlfvq4CbPi#_JaOwE`5H0(n@FdE%x`oS{Ta!Ek2Z7x#jS{&Y!6)|}~cYZzYX3v{l#jaVow$x&?une5-CJ?4*|oY-Q2#!_0i zaAx5mE6uBvkT<~U{kq2}iL&}zXS=*8Su^rniEUoZG z3ul)U7nJd;J;bUKMru}AsF&fo&99=VGiO^+u|NHnCn;VXC7Y;Ijr@M3rP@M|ToWXX zDhdpLqHZ`>>`$c^7tEi}dmkhDJA2oS$oAisgqdhC6#KKr1?A?#0()Vp6po&jfkJT% zPM&uUOQ@iW`)2El{rTSe31D@C2FdV$HC)dHHy1x)?DOq83*phfbY=flx8#y=l0Byx z9hl~IBv<<3n$O}rUH5kUGXlKPB%MugN{LpjY?3dN;fbink=qr?qZJE7TMz)}I>*or zLnp>7FziA<9`3GlyqOY1M*_-;u6R86blprfl1N5>HAacZeO?&43Z}u~m9k;Mw3tr9 zZ24g5x(2Jlm0>)3zWu9!MdG7}8zbKNS$D(zx$^8w{J2yVeq8FGI;fj(Yeu%Gy}!2E zjh?h@rpC}W|MDkKKD}v5?&YyY5paEPT>KWxPqy-bPd8@8{dRL%R_FVpwZF8@oYC=O YTg>5*xtMhpx(L_q;j5m1|;Vn#$oK^+wn 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 bIvB8B0zhg35QCfsbOn$F1~8}5^W;SU@o=_X literal 0 HcmV?d00001 diff --git a/data/ils/Vario_Bogen_auf_6_rechts_3D.dwg b/data/ils/Vario_Bogen_auf_6_rechts_3D.dwg new file mode 100644 index 0000000000000000000000000000000000000000..51d81cf95d58fce0cfab58bca54e51fb08f259c1 GIT binary patch literal 76369 zcmb@t2V4_d*FHK4DU<;Mgeqm2NkR{yB%!2HL{N}K5)2xYXb{lQgMxyhf`S##K}8QJ z)?>kP6dR)8v3EW8BPuE?3MwclDB#@#p7;H}_xpbLckln+_!}~rvS-iUdp+w}&sv6r z`EdMvA^gMFYbHRDGv9Ie*Uvu)ID~(S!6u>Od;k9M!7jf2fBB?J`o8|+e&nOg6Ql0# zlW#ko?R+d)42w1}rWo5(j*WSG*gWP^=*i_f4fG}z8JIDg67OCe$ZZJ^wlFR?w12$c z*MFn*LsC9(@RumxFHei2T298&KWS1^Zp}K!ImQa!g0`Y-YMw85`g^xa^X$HenWS~O zCXcMVQ&R7K9Xs~c#MIf+cq%k)f+nN`Y*)cH>*w}b`A6Uf#XK7R`v196p#q2v&4JWV z29)w&&i^wGS*w^(O#A`j@b|(K#D9+epL}78-u4d{v! zGo5;u=jvKB@rt-6oaVtWhae*14d}8IJdVN#4?kn}fAZk}`+Lfzs>CIYQ%!em{~dgy zdVl}^xM}E%!^;cLm=Lt>rud-2@Uo_XzJhK`z?VMQ2vAF%_x>qr3|`*-*5Z*qGQ9Yg z^h*6bIu^d39n%=DOD0z4?^GD_GxJGjSV&(Fea2W-@a2ogQj^=rjH5)vK?sZK!FR z&x@M>V^gO#=0WfL#yQf7u#M}STZY82)!S~X#ofdJz5jSI2)qkK8Zl-XB=H>>YPfP; zasTbItpojcmZN)Y!x~o^y*N4EJhZHud1A{gTOZm!gr}|BbwHfDvH#p}7ZvxI3r?#& z%BnopRjJbNTrs6je?D+;A=K>kye97VY2zQ{o$Br~%M2OXT57Z}IQ~~@`-`j)cS|2X3 zo7EWPEKD5g(2eitxU6viEb3Uh9L|0o=thAiGXYZe< zPOWE8@n!AYx${cUyyM6C4ccj)2Tu=u>!=#n@!`YnCr2jh`*?p}qeuNhCGNXl;C~$x zPrU#2*Qqmf(?+j<`zqz~+nm4)-|!ao+M?du9WXb*u}loVNazHz!sWKA1&=ifN&pPfp&f*PB4!(JfuPrvdc3 zYRcSTDj9d5TPtaFCNz0hKKlH=S-!`s#(&_tBA#Z!S;OvEEJ9kcxh<~I_OHSVL zbkV?)C3?@AdJd#*s;)kN{rW{}+V{-e`-6(U4UYP7JpHKuiLa)lNptRhSoU<%eK7xhlP8PODvWR{3d4#bL&=ov)copJeQD*kBkBY_mT%ap%_R z-ojn`jxa-v4XX*z@zS2&-u}X-nX}TPRQfq5pM;j}+?L4*D0uhwMDw;801vPzVA=a7 zA6vVAJ=2wRS$*>3>93BzEr+12$&XHEF35Pg%^-p_*m@&)`sv%pd(Tw5Y9|n(=1a95 zbA3yZy~|eKyt3xVZC4V&;D}$&mDV;5yjoC7dwFrCpTm<1eUJug4fG38O>V>5xn;qD`}X;Z#nS_u(~T-Ql%`}*Ki!He*op6-_y z_9eWGQ%pR5Y|j0<1#2u`tsECym-zMV@0(c<7ua4eh_6%jpI<+fRpr;8e8p+S)8GrH z5mybJOP)>rdSiE7QBe`VJshAu2CX`s$-6v7@+@QF$GL>_jR$6a|6&KM*XMViC#g=F zx)ro(-+I0$f8-V1`DpwjPUC#(Zbyv%?UurU%^y!a0G2o_{cWe<`=qlSIooz@-+p|? zHO^D>!(%P-MG5r-M7doP(_EWe*I}DIN~N}_BG|UFAg97a?M)) z(hiD%mY#in@bM^9rxPikG%=qaYSVUpxwPgIw?NU~yl`;m{+_jKz4e`e>-j^pLD+wP z?MLe3`x|D>dH=LWRSHb~+TrB{BGkTmD!bRv`R~VnhfTk*YtP>HKQ7j-eB04s%ARyw zsz?M)R904ADIfpFzu>a&&Q5E}^z#6IljXte}_^kQZ7z`D^-*Dy*rj#il) zbBns~IGniy?0+$JYRB6XwXVwwwc~F5qS_=U(;%CImcxfiX!94;w3L4z%o9yrGcSH! z-Ys>2{m_Rmi-eCJP0ILSo)B=zY5`?zLc;F8{gX}bXLx#hPt@-QE9%pOIpb?S^)I_$ z*L~hTFN3~l?6L<}KQAGj-~8vFuY7)=IykT=?fKy+8FvI0A2$Zv{ME~w*ff9Fnjb70 z)C?Vd^q2p2ix2O)t6qd{@q7MsiXt!2epS`ko5{|R9|kR~7qsm=91k3}8w4&p{5bje zu?KIyTW)I&0X^^*d&lZ`-<#UBOf>1oy8}}LJHLRDo8(P4a{lxA!OpbYvoB&B)wL7F zO*2=LrrYcioTdG-q?$;AI7vC59W6u8X~ndU6Asc|eB(bTr8zAa$bM1!HPa@wXfP!3 zTkdtcXZ;^C?i9<50SlAF-`6uaDQtOsa?VH5opGNyEiX4bXelggpIDcZdvANxoLL*+ z+-vyJ!%nNtF}mqo1C&9Qf`C|I+BvtUeZ8b7#pbc1vX2#?D`+PMPxM!@Q5#E*yQR^|f;8 z#Iaspgkz7rN>T-dj2UYZALJE;HGg{bV@Au@d52#Z>skI0v1k&P@ARX;Fy@Y6{tw5O zx5L=Are+j$EAg@i&+8eTAdJqDX%{^V=LI?U>LSb4R1i4Pdz;<8*xT;+JeEeckezr{N!-TN$%Esa z15OnAA}gS6@hHBwE;Y^IlHIE7>v#)JvrYz$Iyvc%UvyiDZjsf%W%2apu_j&Cp_i6g zUR^DvGyU$In0s$*%x4`b_Sx58-#%N=x#063thmST^5-phdHL)pUcAlCr-vT>_2KHZ zmY#v!J?~};?jFp#J#A2kE5bW}dkxailxlq+LPX@TQ%UiN-@badZ^$ra+8zYYrZlFlz%OEu|iQaeY==m{(4 z*0pz6y)kUqKXGX8=Y@LTQ*Km80jAwt=KTG=ATIu!^7hO77v~udZkq*2gCcMAoSMVS z!uOwVq+}gF-S=r+foaH#(2CpC;E?mX_YJlc*O}`>N$sTIP{6zt_wt5R>$OMj-|M~o z>gx074Vwz4&e%!Y`nG*kdCI6=iTkomLl%YJ0^W19+^O@-6eh4H+U>k2Cv_V-|8^?k zOH$rEdSEx@n91?zr|aJB$zL2|p$Zzmxq^MV1Lga-2}uTqA&2zuKX`C)s*yg_vcy(; z;>67FtJeGZ)$F(RbDY~A@~Ag%$`=*jE&H;xqdq@fL<;#uux&&5FW4eD$G$S{#VzaW zIKI*Ja#qB=-~S}1`ITStjy>=8JnXCMoxe-dlWEi5+wn}_`NAsO;MS>KgUVAYwx27l z{qg?=X#aeowkAZxAnvWUDjkGgk5-bRqb4|vw%Lj zJmK4MUH30%Gh(A;OSEeN&K3UE7IVb<{f7^?{bM5{BCZ{4;i?y9XPCw6oLy6*GJ3`x zGM-sb@aSpL_Y)7SL2zQxu%GWJdf|1++igmwL)=HO#AUM?=C)UkxO)}t>{rHt7^iXJ z+GSg}@7x&?dm_JkD{brXKDQ3Vtm*V7!Li6@SJJ(^jhZV9e>~fycME%WcrPu}d z5%rhO?s-O^icW8h`t`%plbKC*Ij+lIY+B2l9L{k3A+iBW_t1IWn6CN}CKB=f{M+g; ztvBb-=+S@I@qPBxmizO4TON1d4wTzizwbhy)u*vbXecc;X6LeGoh3Ks8ECVSH}odf zJL5^i`+d(&d97!OUpzmN`)c1+h)}$SVQ+GE)U@fdOFnc8PJ#eraB|Kfb?u7?y?l56 z#Kiv2DvVtR{WWfIlnMI)uY0DTcvuAHgoI0Qju%B^<0G3qj`~^>d zHwlm3AQ~LHw|C<1J$tu2m&`u8vm31UH*GSy9XEF_+n?(&OK`V#&;DOt z^sfDF@58ZR=5B{R=)JhiQM_RP)i)l0pMIGV@SqzwOD1A-sm%xS4RMv*`x^#HW_b1o0Z{5Sqi)Y5SCP3wK90G#FJgS&U-ioDC4 zC)O#`-kB5dQ)hvL?woz+oTN4{2J2w1qzt0e{udY;aBk_NM{G4gtS2z~5NV)8yg3aPXZw z+ynf02)I`Ze&JV5A8ykXTpJFK7dM`q!FZ(j@E5uXu!6-0se z#{1&~dgKTGp^!Hu`d`NQ|Ib4-2^C@iyVwi1FdXSl~uOFMkLB`9eHgRel5|^BX`1m3|{z3jeL0lii zm*dM*MMPRd7F}Y>%J)ZVzg{>fqMSVS;L)?f$3kNRb#8iUvKq7o{{SD7lmL;aurDWo z&0+hq`5aE5nK5ZvrltT^2~w#^hC~=2Lmg4&0g=p1C^^Y9rq0%x=p`2<8&lLeT~69G zE%h2KvxXHhuyUM+N(Q%U^U||ml`DHYq{>M(GB7hX(B-Hza%W`bq-%_47@DhM6MPVk z25KZgn3s=_58E%0AIRnV`*L_(9*>WB@%d~&|3F_KF2~n5Fp$sV1tJ{82g%5snvykA@z2q6%nFrh@*ZWhAF3XXqLo$y9PmPMQWGN&SdaJ{m7?$iM0zuolyO{- z6fU8XG`VS&R0A;m`ZKg@T}E6wLB939$GCdeUml|)-3pg zU{G5jH$e<*38|&cb|lga_4H)eFj9Km)<|IuO9`n)sSZZQU}}tv%uL8L(vx#jc{>bE zq{dpKcvmyy0&CNLYnsf!OiDOmZJuwf2WBNRGfNYE4O7!Cq_D=4Y(koznUQQvRV|l$ zE2;HHCKeVaXQ26yCQCk-ezZ7T7ba1rf(0EUK{aOMiCtm|p&crwRFkNEV%?p!B8~pG z`jYvCF0qkO8Ie&(k1*_NT1x5@8%ZI3GZT}v3|(?ca?aHJk9sCX8S3=p3O#~eN^*uz zlBwKLJr$PmEYYa6>B&)$B zYng$KlyEA^R%}eM!@Ey3A!ljT2$e>mYQrVagmtS7^TR9D;nGxKv|UXb&t2SAnzW&w z-W8W8R?P7YT1fKGq(WUy@`+RON#!hWOr4sPEr_Pdi$pP0L~5zkNpIHZoCkHN%m4!&(=lY>Mrf@K zFVUEZcMqXVG5)qJ`X04&jO6G}PY27caaFp&DaHavpN~MwD zIhB>*RE3E(``n`) zVtVoBuD^u78ZZe>75W0MQLus`kP(D3f(Q&cns0>={f$uJC>YaNCDG7RqYM!$15Pzg zqG5=o;!h)l+6iIJmiT+hTX|fgke+ny0qUxQw^pB*EE2<^^221G=DtF+S3*g)Z~KZQXg_}IVXTy(MNvM@5FV$pOR`E_VpiG{EhkG!8U1if8>0P6X?phc&#wF6_H^^{2$@Wb zl{%$POLLZLCEn3yd^uBNVju$(2GBA~r%lV{oB2+V+G)Mf7IO+%d9#yqbjkS|Ki6I+ zoFE~gV@JVpa!XznB;QzIAXgf|CRBg}X<50+#^mXFIkVYSPGk$$x3B6x#n0qKyFjM1 zLz^c141N?xob>#*=H?bb_mzq;=NlWvbf!u8I+gwQCZ?wgT4pY>BlL+Wc_lE)@j&!i zxLCUbsvd!c=@+%Nfcz#$6#l&@@R7V-kj%rcSzpP;9J*=Qsw>d z2tL_ppEb|Ta+;@&8P-K-Bq0Q_e5V8BpnO>A6)@pUE54XDDltNEwZv{&sM*Phk{KEi zJAlb>vrOqlQdRb7y@d*5aI7i&Mmz19ycM7F5W6%T!g93~)tJpxIce(Aa9e)0nQ9_~ zU^Xkd7eJSOF7Q@qDXBUx$&CDJj_10b_?eQV-G%^WoMtSyJ3bgFp}%9CqfwjgO4~+n zUH?a8hHD{>*J7I%sa3gQh%5Tc)(B2lj@C+~-mH7p8TjJCs_Bfo*1KkT((TgCGqc9I z+Pes3R#{T#RBKdX$v;R^=4Ow}Mo0%q9{NJGho|BO83>I6N_ja-SFFx6IXYLfj$LNY z)$xais@)UK9%aPIci?A@!baQcGy-Avs645gR)!AP@$Jd-xka+s8cWeFgH9RCJ+wF= zKtm67AkR^{riJ7yhy_}icdZlF&6(R>Gf&ZupphYj=D=nc+vPk*kJAjNMHY6|Fz-ba z^_tC>J0y;RUCnG4$efK3%g!*(WORccj0&6)Vt_p=u+uX$CTC@)xpQRNdnAjrm;*Wf zO0NY-ae#!^2zdycn~x*pR(~wj7o|BNPEkm)N{&W>2C5wpB1}THp`s{cAy|A9QJp_4 z3R%>fyI5vWA|)KjEmbZIjzX4$l#cz3PzcXP%a}Z z!+}H+fDn&3EeA`>GeAvSAw7&xw<9Ct#Y1->BRF!+e|Tw?pu8haD|^zhLMN)#^?`zg zm#}7dm8zFAHuz=>>rETJwpQb7tKJDyIjY$eiIO#PWA8eYam4ADUgTGm{lZL$(dbN8 z^H1LJtx`%Dx0#hw%&Am_dcJRX|6eH@KSU^RWK z%G|A$&Uij^TaOu99j+baX294kH9@Ql7(3)Xs45b>8xC9r87&JyNd9EEIye3aqn&am ztUvO11#uVFHwrCwL5S`4=~H(rf%icD+>PKp@^Q*)ESkk4`|kx_@uZqiC!gj*0xQy; zvT<~xX-~+Z6ELRs*e8|OPZOO8*bm0i3e|D=mn;&Ok+91a2N2RF3zo!A6?N}9-0++rsj|;66MSm&@v$EYmsq~PBv3ge)em5LVTQL=M|MUV2nfp06n_N zgl%Kb6xoX(GJFJrHHL=hwb2MU%M%M9iw1hY=t1}VMF`zF{jhut${Yuy=fJS*U^INT z=rXxpYMClWrO_KyNBUJqWd_Fpo@aX=&sPO5oO@yf&l{t$MRPmHty~w!(s~9qMze1j z$OX|PzlC$fXQ)PjszCG?8~CJ(J*6H#g#-9ODMGZRomLv7Dqaq)2||%{gwo@M+Zeji z21a|mfRVMaQ3v`kD?#si^T=M!eY3G^o>alDfD1djNzL#X)W_Tqo18vOM*dWZUHi;< zu69_VRLwq{C^-iZyi&#>d!6q^E~xA!>8TI{_NJ(1=lt?2Z~%Aky{JPFD#;72txSFd zGdK*cY6_0u^vehdqC;e=Og>E5GY(iRghjO%%MRKoAHO^U&6Vz6^^G{oJIOOCnH z7mE>n@8+V*;~>zDOP&nAtpRR?SMy^L>SfPs%1lf`Ls$6l2W+JI1+mu=QXk191M`ev z3@z>(AF#p{vA^Vr%9Jn)aS>uAU1i9Fo%MqHEAsCJFl|Pk^AeBtxUpS^_V^(L|M+)f zwBZbWIvVN0H1KF(DIJn8Luj!DVtK~>rj&)Ap9HIH5Mn+_Rl&NYyou@RS;5cb^l2cv?A9(Rxа#4hdv654O8AJSQXY+qEI}NTfq5 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 literal 0 HcmV?d00001 diff --git a/dcl/variofoerderer.dcl b/dcl/variofoerderer.dcl index 7b33694..ef475a9 100644 --- a/dcl/variofoerderer.dcl +++ b/dcl/variofoerderer.dcl @@ -79,6 +79,14 @@ vfc_linienzug_modus : dialog { key = "modus_3"; label = "3D-Objekte stueckweise (Vorwaerts-Nachbau, in Arbeit)"; } + : radio_button { + key = "modus_4"; + label = "QC Linie mit GF (automatische Auf-Ab-Berechnung)"; + } + : radio_button { + key = "modus_5"; + label = "QC Linie mit GF und U-Form"; + } } // "Zurueck" springt hier sinnvoll zur Anlagen-Typ-Frage zurueck (siehe diff --git a/dcl/vf_linienzug_wizard.dcl b/dcl/vf_linienzug_wizard.dcl index c30a310..b2ea51a 100644 --- a/dcl/vf_linienzug_wizard.dcl +++ b/dcl/vf_linienzug_wizard.dcl @@ -219,6 +219,36 @@ vflw_winkel_seite : dialog { } } +// Nur Winkel (30/90 Grad), OHNE Seite - fuer "QC Linie mit GF" (Option 4), +// deren AS-/ES-Seite ausserhalb dieses Dialogs feststeht (ES-Seite = AS- +// Seite, keine eigene Frage). Radio-Buttons statt Dropdown. +vflw_qc_winkel : dialog { + label = "VarioFoerderer Assistent"; + + : column { + : text { + key = "kopf"; + label = ""; + width = 60; + } + : boxed_radio_column { + label = "Winkel:"; + key = "winkel"; + : radio_button { key = "winkel_30"; label = "30 Grad"; } + : radio_button { key = "winkel_90"; label = "90 Grad"; value = "1"; } + } + } + + : row { + alignment = centered; + : button { key = "back"; label = "Zurueck"; fixed_width = true; width = 12; } + spacer; + : button { key = "accept"; label = "Ok Weiter"; is_default = true; fixed_width = true; width = 12; } + spacer; + : button { key = "cancel"; label = "Abbrechen"; is_cancel = true; fixed_width = true; width = 12; } + } +} + // Vario-Kurve: Winkel + Seite + Variante (aussen/innen) in einem Bildschirm. // Radio-Buttons statt Dropdown, Labels fest deutsch. vflw_variokurve : dialog { @@ -330,6 +360,7 @@ vflw_gf_laenge_modus : dialog { : radio_button { key = "modus_endpunkt"; label = "Endpunkt waehlen (Laenge ergibt sich)"; value = "1"; } : radio_button { key = "modus_hoehe"; label = "Zielhoehe festlegen (Laenge wird berechnet)"; } : radio_button { key = "modus_steigend"; label = "Steigende GF (Sonderfall, bis 3 Grad)"; } + : radio_button { key = "modus_qc"; label = "QC Linie mit GF (automatische Auf-Ab-Berechnung)"; } } } diff --git a/lang/de_DE.json b/lang/de_DE.json index f9e0b35..399d01f 100644 --- a/lang/de_DE.json +++ b/lang/de_DE.json @@ -6,6 +6,11 @@ "vfl-abgebrochen": "\nAbgebrochen.", "vfl-as-setzen-frage": "\n\nAS-Element setzen?", "vfl-as-nein": "\n 2 - Nein (Kette beginnt direkt mit GF/VF am Startpunkt)", + "vfl-as-auto-erkannt": "\n>>> Startpunkt liegt auf KS_AUS einer bestehenden %1-Kette - kein AS-Element noetig.", + "vfl-familie-neutral": "GF/VF", + "vfl-sep-nach-durch-es-ueberschrieben": "\n>>> Separator NACH ignoriert - das ES-Element bringt beim Kettenende bereits seinen eigenen Separator mit (sonst zwei Separatoren hintereinander).", + "vfl-echo-position": "\n>>> Position: X=%1 Y=%2 Z=%3", + "vfl-echo-wahl": "\n>>> Gewaehlt: %1", "vfl-aus-seite-header": "\n\nAUS-Element (AS_Element_*) - Seite waehlen:", "vfl-naechstes-element-header": "\n\nNaechstes Element waehlen:", "vfl-menu-gf-bogen-1": "\n 1 - GF-Bogen (horizontale Kurve)", @@ -48,6 +53,28 @@ "vfl-gf-laenge-modus-opt-endpunkt": "\n 1 - Endpunkt waehlen (Laenge ergibt sich)", "vfl-gf-laenge-modus-opt-hoehe": "\n 2 - Zielhoehe festlegen (Laenge wird berechnet)", "vfl-gf-laenge-modus-opt-steigend": "\n 3 - Steigende GF (Sonderfall, bis 3 Grad)", + "vfl-gf-laenge-modus-opt-qc": "\n 4 - QC Linie mit GF (automatische Auf-Ab-Berechnung)", + "vfl-qc-nur-kettenanfang": "\nFEHLER: 'QC Linie mit GF' ist nur am Kettenanfang moeglich (braucht eine eigene AS-Seite) - bitte anderen Modus waehlen.", + "vfl-qc-prompt-richtung": "\n\nRichtung waehlen (Gerade, auf der AS-Eintritt und ES-Austritt liegen sollen) - Punkt in Fahrtrichtung anklicken: ", + "vfl-qc-ks-ein-gemessen": "\n>>> AS KS_EIN (Referenzgerade) gemessen: X=%1 Y=%2 Z=%3", + "vfl-qc-ks-ein-nicht-gemessen": "\nWARNUNG: KS_EIN des AS-Elements konnte nicht gemessen werden - falle auf den Klickpunkt zurueck (Referenzgerade evtl. ungenau).", + "vfl-qc-prompt-e1": "\nFallend-GF Einlauf, inkl. Separator (mm) [%1]: ", + "vfl-qc-prompt-e2": "\nLaenge fallend-GF Auslauf nach dem zweiten 30-Grad-Bogen (mm) [%1]: ", + "vfl-qc-prompt-gesamtlaenge-mittelteil": "\nGesamtlaenge Mittelteil, ohne Ein-/Auslauf (mm): ", + "vfl-qc-prompt-anteil": "\nAnteil 1. Fallend-Stueck an F_total (0.0-1.0) [%1]: ", + "vfl-qc-nicht-baubar": "\nFEHLER: Diese Mittelteil-Laenge ist mit dieser Aufteilung nicht baubar (F_total=%1mm, S=%2mm - negativ). Bitte groessere Gesamtlaenge waehlen (mindestens ca. %3 mm).", + "vfl-qc-bogen-nicht-schliessbar": "\nFEHLER: Diese AS-/ES-Winkel-Kombination (AS-Schwenk=%1 Grad, ES-Schwenk=%2 Grad, benoetigter Bogen-Schwenk=%3 Grad) ist weder mit einem 30- noch mit einem 90-Grad-Bogen auf die Ausgangsgerade zurueckzufuehren. Bitte AS-/ES-Winkel anpassen (z.B. beide gleich waehlen).", + "vfl-qc-e2-negativ": "\nFEHLER: Die berechnete Laenge zwischen dem 2. Bogen und dem ES-Element ist nicht baubar (%1 mm). Bitte E1, Gesamtlaenge Mittelteil oder Anteil anpassen.", + "vfl-qc-erfolg": "\n>>> QC-Kette gebaut. Soll-Hoehe (AS-Austritt)=%1 Ist-Hoehe (ES-Austritt)=%2 Abweichung von der Ausgangsgeraden=%3mm", + "vfl-qc-uform-nur-kettenanfang": "\nFEHLER: 'QC Linie mit GF und U-Form' ist nur am Kettenanfang moeglich (braucht eine eigene AS-Seite) - bitte anderen Modus waehlen.", + "vfl-qc-uform-winkel-fix": "\nHinweis: AS-/ES-Winkel sind bei dieser Option fest auf 90 Grad (nur die Seite ist waehlbar).", + "vfl-qc-prompt-u-fest-laenge": "\nFeste Zwischenstrecke zwischen den beiden 90-Grad-Boegen (mm) [%1]: ", + "vfl-qc-uform-prompt-richtung-e1": "\n\nStartpunkt des 1. 90-Grad-Bogens anklicken (legt Fahrtrichtung UND Laenge des fallenden GF-Einlaufs inkl. Separator fest): ", + "vfl-qc-uform-e1-echo": "\n>>> E1 (inkl. Separator)=%1mm Richtung=%2 Grad", + "vfl-qc-uform-e1-neigung-echo": "\n>>> E1-Neigung (real an AS gemessen, KS_EIN->KS_AUS)=%1 Grad", + "vfl-qc-uform-fa-s-echo": "\n>>> Berechnet: Fa (fallend, 3 Grad, vor S)=%1mm S (steigend, %3 Grad, automatisch gewaehlt)=%2mm", + "vfl-qc-uform-fa-s-negativ": "\nFEHLER: Fa/S auch mit steileren S-Neigungswinkeln (bis 30 Grad probiert) nicht baubar (zuletzt Fa=%1mm S=%2mm). Bitte E1 oder die feste Zwischenstrecke anpassen.", + "vfl-qc-uform-fa-s-negativ-e1": "\nFEHLER: Fa/S auch mit steileren S-Neigungswinkeln (bis 30 Grad probiert) nicht baubar (zuletzt Fa=%1mm S=%2mm). Mindest-E1 (inkl. Separator) fuer den steilsten Winkel: ca. %3 mm.", "vfl-prompt-neigungswinkel-laenge-berechnet": "\nNeigungswinkel (Grad, 0 < Winkel <= %1) [%1] (deltaL wird berechnet und eingefuegt): ", "vfl-prompt-neigungswinkel-steigend": "\nSteigungswinkel (Grad, 0 <= Winkel <= %1, 0 = flach) [%1]: ", "vfl-alert-winkel-ungueltig-steigend": "Steigungswinkel ungueltig: %1 Grad. Erlaubt: 0 <= Winkel <= %2 Grad.", @@ -296,8 +323,8 @@ "vfc-block-einfuegepunkt": "\n Block-Einfuegepunkt: X=%1 Y=%2 Z=%3", "vfc-block-eingefuegt-ksaus": "\n '%1' eingefuegt\n KS_AUS: X=%2 Y=%3 Z=%4", "vfc-delta-l-h-richtung": "\n %1L=%2 mm %1H=%3 mm Fahrtrichtung=%4%5", - "vfc-endpunkt-xyz": "\n Endpunkt: X=%1 Y=%2 Z=%3", - "vfc-endpunkt-xyz-dxdz": "\n Endpunkt: X=%1 Y=%2 Z=%3 (dx=%4 dz=%5)", + "vfc-endpunkt-xyz": "\n KS_AUS: X=%1 Y=%2 Z=%3", + "vfc-endpunkt-xyz-dxdz": "\n KS_AUS: X=%1 Y=%2 Z=%3 (dx=%4 dz=%5)", "vfc-fahrtrichtung-ergebnis": "\n>>> Fahrtrichtung: %1%2", "vfc-fehler-block-datei-fehlt": "\n FEHLER: Block-Datei nicht gefunden: %1", "vfc-fehler-block-nicht-in-bibliothek": "\n FEHLER: Block '%1' nicht in Bibliothek", @@ -557,6 +584,12 @@ "vfl-abgebrochen-kein-ziel": "\n Abgebrochen - kein Zielpunkt gewaehlt.", "vfl-bogen-ab3-uebergang": "\n\nVario_Bogen_ab_3 (Uebergang horizontal -> 3 Grad)", "vfl-bogen-auf3-uebergang": "\n\nVario_Bogen_auf_3 (Uebergang 3 Grad -> horizontal)", + "vfl-gf-bogen-ab3-uebergang": "\n\nGF-Bogen Vario_Bogen_ab_3 (Uebergang horizontal -> 3 Grad, GF-eigen)", + "vfl-gf-bogen-auf3-uebergang": "\n\nGF-Bogen Vario_Bogen_auf_3 (Uebergang 3 Grad -> horizontal, GF-eigen)", + "vfl-gf-bogen-auf6-uebergang": "\n\nGF-Bogen Vario_Bogen_auf_6 (Uebergang fallend -> steigend, 6 Grad, GF-eigen)", + "vfl-gf-bogen-ab6-uebergang": "\n\nGF-Bogen Vario_Bogen_ab_6 (Uebergang steigend -> fallend, 6 Grad, GF-eigen)", + "vfl-gf-bogen-block-fehlt": "\n[GF-Bogen] Block '%1' nicht gefunden - siehe data/ils.", + "vfl-gf-bogen-ks-fehlt": "\n[GF-Bogen] KS_EIN/KS_AUS in '%1' fehlt oder unlesbar.", "vfl-gf-verteilung-ganz-einlauf": "\n 2 - Gesamte Staustrecke am Einlauf (GF1), kein GF2", "vfl-gf-verteilung-haelfte": "\n 1 - 1/2GF am Ausgang (GF2), 1/2GF am Einlauf (GF1)", "vfl-gf-verteilung-header": "\n\nStaustrecke (GF) - Verteilung waehlen:", @@ -885,6 +918,10 @@ "vfc-linienzug-modus-1": "\n 1 - Manuelle Eingabe (Punkte klicken)", "vfc-linienzug-modus-2": "\n 2 - 3D-Objekte + Ziel-Hoehe (Randwert-Solver, fertig)", "vfc-linienzug-modus-3": "\n 3 - 3D-Objekte stueckweise (Vorwaerts-Nachbau, in Arbeit)", + "vfc-linienzug-modus-4": "\n 4 - QC Linie mit GF (automatische Auf-Ab-Berechnung)", + "vfc-linienzug-modus-5": "\n 5 - QC Linie mit GF und U-Form", + "prompt-wahl-1-5": "\nIhre Wahl (1/2/3/4/5) [1]: ", + "vfl-qc-uform-nicht-implementiert": "\nFEHLER: 'QC Linie mit GF und U-Form' ist noch nicht implementiert - bitte Option 4 oder einen anderen Modus waehlen.", "vfc-typ-standard-beschreibung": "Standard VarioFoerderer (AS/ES 90 Grad, horizontal versetzt)", "vfc-typ-etage-beschreibung": "Etage VarioFoerderer (AS/ES 30 Grad, direkt uebereinander)", "vfc-typ-linienzug-beschreibung": "3D-Linienzug (gemischte GF/VF-Kette; Modus 1 manuell / Modus 2 Ziel-Hoehe fertig / Modus 3 stueckweise in Arbeit)", diff --git a/lang/en_GB.json b/lang/en_GB.json index 8c2bac1..5c99e72 100644 --- a/lang/en_GB.json +++ b/lang/en_GB.json @@ -6,6 +6,11 @@ "vfl-abgebrochen": "\nCancelled.", "vfl-as-setzen-frage": "\n\nPlace AS element?", "vfl-as-nein": "\n 2 - No (chain starts directly with GF/VF at the start point)", + "vfl-as-auto-erkannt": "\n>>> Start point lies on the KS_AUS of an existing %1 chain - no AS element needed.", + "vfl-familie-neutral": "GF/VF", + "vfl-sep-nach-durch-es-ueberschrieben": "\n>>> Separator AFTER ignored - the ES element already brings its own separator at the chain end (otherwise two separators in a row).", + "vfl-echo-position": "\n>>> Position: X=%1 Y=%2 Z=%3", + "vfl-echo-wahl": "\n>>> Selected: %1", "vfl-aus-seite-header": "\n\nOUT element (AS_Element_*) - select side:", "vfl-naechstes-element-header": "\n\nSelect next element:", "vfl-menu-gf-bogen-1": "\n 1 - GF arc (horizontal curve)", @@ -48,6 +53,28 @@ "vfl-gf-laenge-modus-opt-endpunkt": "\n 1 - Pick end point (length results from it)", "vfl-gf-laenge-modus-opt-hoehe": "\n 2 - Set target height (length will be calculated)", "vfl-gf-laenge-modus-opt-steigend": "\n 3 - Rising GF (special case, up to 3 degrees)", + "vfl-gf-laenge-modus-opt-qc": "\n 4 - QC line with GF (automatic up/down calculation)", + "vfl-qc-nur-kettenanfang": "\nERROR: 'QC line with GF' is only possible at the chain start (needs its own AS side) - please choose a different mode.", + "vfl-qc-prompt-richtung": "\n\nChoose direction (line on which AS entry and ES exit shall lie) - click a point in the travel direction: ", + "vfl-qc-ks-ein-gemessen": "\n>>> AS KS_EIN (reference line) measured: X=%1 Y=%2 Z=%3", + "vfl-qc-ks-ein-nicht-gemessen": "\nWARNING: could not measure the AS element's KS_EIN - falling back to the clicked point (reference line may be inaccurate).", + "vfl-qc-prompt-e1": "\nDescending GF entry, incl. separator (mm) [%1]: ", + "vfl-qc-prompt-e2": "\nLength of descending GF exit after the second 30-degree bend (mm) [%1]: ", + "vfl-qc-prompt-gesamtlaenge-mittelteil": "\nTotal middle section length, w/o entry/exit (mm): ", + "vfl-qc-prompt-anteil": "\nShare of 1st descending piece of F_total (0.0-1.0) [%1]: ", + "vfl-qc-nicht-baubar": "\nERROR: This middle-section length cannot be built with this split (F_total=%1mm, S=%2mm - negative). Please choose a larger total length (at least approx. %3 mm).", + "vfl-qc-bogen-nicht-schliessbar": "\nERROR: This AS/ES angle combination (AS turn=%1 deg, ES turn=%2 deg, required bend turn=%3 deg) cannot be closed back onto the reference line with either a 30- or a 90-degree bend. Please adjust the AS/ES angles (e.g. choose the same for both).", + "vfl-qc-e2-negativ": "\nERROR: The computed length between the 2nd bend and the ES element is not buildable (%1 mm). Please adjust E1, the middle section total length, or the share.", + "vfl-qc-erfolg": "\n>>> QC chain built. Target height (AS exit)=%1 Actual height (ES exit)=%2 Deviation from reference line=%3mm", + "vfl-qc-uform-nur-kettenanfang": "\nERROR: 'QC line with GF and U-shape' is only possible at the chain start (needs its own AS side) - please choose a different mode.", + "vfl-qc-uform-winkel-fix": "\nNote: AS/ES angles are fixed at 90 degrees for this option (only the side is selectable).", + "vfl-qc-prompt-u-fest-laenge": "\nFixed section between the two 90-degree bends (mm) [%1]: ", + "vfl-qc-uform-prompt-richtung-e1": "\n\nClick the start point of the 1st 90-degree bend (sets travel direction AND the descending GF entry length incl. separator): ", + "vfl-qc-uform-e1-echo": "\n>>> E1 (incl. separator)=%1mm direction=%2 deg", + "vfl-qc-uform-e1-neigung-echo": "\n>>> E1 slope (measured on AS, KS_EIN->KS_AUS)=%1 deg", + "vfl-qc-uform-fa-s-echo": "\n>>> Computed: Fa (descending, 3 deg, before S)=%1mm S (rising, %3 deg, auto-selected)=%2mm", + "vfl-qc-uform-fa-s-negativ": "\nERROR: Fa/S not buildable even with steeper S angles (tried up to 30 degrees) - last try Fa=%1mm S=%2mm. Please adjust E1 or the fixed section.", + "vfl-qc-uform-fa-s-negativ-e1": "\nERROR: Fa/S not buildable even with steeper S angles (tried up to 30 degrees) - last try Fa=%1mm S=%2mm. Minimum E1 (incl. separator) for the steepest angle: approx. %3 mm.", "vfl-prompt-neigungswinkel-laenge-berechnet": "\nIncline angle (degrees, 0 < angle <= %1) [%1] (deltaL will be calculated and inserted): ", "vfl-prompt-neigungswinkel-steigend": "\nRising angle (degrees, 0 <= angle <= %1, 0 = level) [%1]: ", "vfl-alert-winkel-ungueltig-steigend": "Rising angle invalid: %1 degrees. Allowed: 0 <= angle <= %2 degrees.", @@ -296,8 +323,8 @@ "vfc-block-einfuegepunkt": "\n Block insertion point: X=%1 Y=%2 Z=%3", "vfc-block-eingefuegt-ksaus": "\n '%1' inserted\n KS_AUS: X=%2 Y=%3 Z=%4", "vfc-delta-l-h-richtung": "\n %1L=%2 mm %1H=%3 mm Travel direction=%4%5", - "vfc-endpunkt-xyz": "\n End point: X=%1 Y=%2 Z=%3", - "vfc-endpunkt-xyz-dxdz": "\n End point: X=%1 Y=%2 Z=%3 (dx=%4 dz=%5)", + "vfc-endpunkt-xyz": "\n KS_AUS: X=%1 Y=%2 Z=%3", + "vfc-endpunkt-xyz-dxdz": "\n KS_AUS: X=%1 Y=%2 Z=%3 (dx=%4 dz=%5)", "vfc-fahrtrichtung-ergebnis": "\n>>> Travel direction: %1%2", "vfc-fehler-block-datei-fehlt": "\n ERROR: block file not found: %1", "vfc-fehler-block-nicht-in-bibliothek": "\n ERROR: block '%1' not in library", @@ -557,6 +584,12 @@ "vfl-abgebrochen-kein-ziel": "\n Cancelled - no target point selected.", "vfl-bogen-ab3-uebergang": "\n\nVario_Bogen_ab_3 (transition horizontal -> 3 degrees)", "vfl-bogen-auf3-uebergang": "\n\nVario_Bogen_auf_3 (transition 3 degrees -> horizontal)", + "vfl-gf-bogen-ab3-uebergang": "\n\nGF bogen Vario_Bogen_ab_3 (transition horizontal -> 3 degrees, GF-only)", + "vfl-gf-bogen-auf3-uebergang": "\n\nGF bogen Vario_Bogen_auf_3 (transition 3 degrees -> horizontal, GF-only)", + "vfl-gf-bogen-auf6-uebergang": "\n\nGF bogen Vario_Bogen_auf_6 (transition falling -> rising, 6 degrees, GF-only)", + "vfl-gf-bogen-ab6-uebergang": "\n\nGF bogen Vario_Bogen_ab_6 (transition rising -> falling, 6 degrees, GF-only)", + "vfl-gf-bogen-block-fehlt": "\n[GF bogen] Block '%1' not found - see data/ils.", + "vfl-gf-bogen-ks-fehlt": "\n[GF bogen] KS_EIN/KS_AUS in '%1' missing or unreadable.", "vfl-gf-verteilung-ganz-einlauf": "\n 2 - Entire buffer section at inlet (GF1), no GF2", "vfl-gf-verteilung-haelfte": "\n 1 - 1/2 GF at outlet (GF2), 1/2 GF at inlet (GF1)", "vfl-gf-verteilung-header": "\n\nBuffer section (GF) - choose distribution:", @@ -885,6 +918,10 @@ "vfc-linienzug-modus-1": "\n 1 - Manual entry (click points)", "vfc-linienzug-modus-2": "\n 2 - 3D objects + target height (boundary-value solver, finished)", "vfc-linienzug-modus-3": "\n 3 - 3D objects step by step (forward reconstruction, work in progress)", + "vfc-linienzug-modus-4": "\n 4 - QC line with GF (automatic up/down calculation)", + "vfc-linienzug-modus-5": "\n 5 - QC line with GF and U-shape", + "prompt-wahl-1-5": "\nYour choice (1/2/3/4/5) [1]: ", + "vfl-qc-uform-nicht-implementiert": "\nERROR: 'QC line with GF and U-shape' is not yet implemented - please choose option 4 or a different mode.", "vfc-typ-standard-beschreibung": "Standard VarioFoerderer (AS/ES 90 degrees, offset horizontally)", "vfc-typ-etage-beschreibung": "Etage VarioFoerderer (AS/ES 30 degrees, directly stacked)", "vfc-typ-linienzug-beschreibung": "3D line path (mixed GF/VF chain; mode 1 manual / mode 2 target height finished / mode 3 step by step work in progress)",