vf_*.lsp: verbleibende deutsche Meldungen auf ssg-text/ssg-textf umgestellt

Betrifft VarioFoerderer-Kern, Standard-/Etage-Aufbau und Linienzug (inkl.
altem Vorwaerts-Nachbau-Modus und Vario_Kette_Merge-Diagnose). Neue Keys in
lang/de_DE.json und lang/en_GB.json ergaenzt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-25 23:34:32 +02:00
parent 82ce795b53
commit d7cb17f53f
6 changed files with 207 additions and 108 deletions
+6 -6
View File
@@ -1208,7 +1208,7 @@
(load (strcat *vf-lisp-pfad* "/vf_linienzug.lsp")) (load (strcat *vf-lisp-pfad* "/vf_linienzug.lsp"))
(setq *ssg-vf-submodule-loaded* t) (setq *ssg-vf-submodule-loaded* t)
) )
(princ "\n[vf_core] WARNUNG: DXFM_LISP nicht gesetzt - Untermodule konnten nicht geladen werden!") (princ (ssg-text "vfc-warnung-untermodule-nicht-geladen"))
) )
) )
) )
@@ -1269,11 +1269,11 @@
;; vf_linienzug.lsp. Dispatcht hier direkt und beendet den Standard-Ablauf. ;; vf_linienzug.lsp. Dispatcht hier direkt und beendet den Standard-Ablauf.
(if (= anlage-typ "linienzug") (if (= anlage-typ "linienzug")
(progn (progn
(princ "\n\nLinienzug-Modus waehlen:") (princ (ssg-text "vfc-linienzug-modus-header"))
(princ "\n 1 - Manuelle Eingabe (Punkte klicken)") (princ (ssg-text "vfc-linienzug-modus-1"))
(princ "\n 2 - 3D-Objekte + Ziel-Hoehe (Randwert-Solver, fertig)") (princ (ssg-text "vfc-linienzug-modus-2"))
(princ "\n 3 - 3D-Objekte stueckweise (Vorwaerts-Nachbau, in Arbeit)") (princ (ssg-text "vfc-linienzug-modus-3"))
(setq wahl (getint "\nIhre Wahl (1/2/3) [1]: ")) (setq wahl (getint (ssg-text "prompt-wahl-1-2-3")))
;; Konsolen-Nummer -> interne Funktion: ;; Konsolen-Nummer -> interne Funktion:
;; 2 = fertiger Ziel-Hoehe-Modus (intern vf-linienzug-modus2) ;; 2 = fertiger Ziel-Hoehe-Modus (intern vf-linienzug-modus2)
;; 3 = alter Vorwaerts-Nachbau (intern vf-linienzug-modus3, wird umgebaut) ;; 3 = alter Vorwaerts-Nachbau (intern vf-linienzug-modus3, wird umgebaut)
+11 -15
View File
@@ -738,15 +738,13 @@
(setq bogen-dx (car bogen-mass) bogen-dz (caddr bogen-mass)) (setq bogen-dx (car bogen-mass) bogen-dz (caddr bogen-mass))
(if (= richtung "Auf") (if (= richtung "Auf")
(progn (progn
(princ (strcat "\n\n9/15: " bogen-name (princ (ssg-textf "vfe-step9-bogen" (list bogen-name (itoa (- 3 best-winkel)))))
" (" (itoa (- 3 best-winkel)) " Grad geneigt)"))
(setq aktueller-punkt (setq aktueller-punkt
(insert-rotated-block-with-ks bogen-name aktueller-punkt (insert-rotated-block-with-ks bogen-name aktueller-punkt
(- 3 best-winkel) bogen-dx bogen-dz cur-hz)) (- 3 best-winkel) bogen-dx bogen-dz cur-hz))
) )
(progn (progn
(princ (strcat "\n\n9/15: " bogen-name (princ (ssg-textf "vfe-step9-bogen" (list bogen-name (itoa (+ best-winkel 3)))))
" (" (itoa (+ best-winkel 3)) " Grad geneigt)"))
(setq aktueller-punkt (setq aktueller-punkt
(insert-rotated-block-with-ks bogen-name aktueller-punkt (insert-rotated-block-with-ks bogen-name aktueller-punkt
(+ best-winkel 3) bogen-dx bogen-dz cur-hz)) (+ best-winkel 3) bogen-dx bogen-dz cur-hz))
@@ -754,24 +752,23 @@
) )
;; 10. Motorstation (3 Grad geneigt) ;; 10. Motorstation (3 Grad geneigt)
(princ "\n\n10/15: Motorstation (500mm, 3 Grad geneigt)") (princ (ssg-text "vfe-step10"))
(setq aktueller-punkt (setq aktueller-punkt
(insert-rotated-block-with-ks (strcat "Vario_Motorstation_500mm_" (vf-motorseite-aktuell)) aktueller-punkt 3 500 0 cur-hz)) (insert-rotated-block-with-ks (strcat "Vario_Motorstation_500mm_" (vf-motorseite-aktuell)) aktueller-punkt 3 500 0 cur-hz))
;; 11. L_GF2 (3 Grad geneigt) ;; 11. L_GF2 (3 Grad geneigt)
(if (> L_GF2 0.1) (if (> L_GF2 0.1)
(progn (progn
(princ (strcat "\n\n11/15: Gefaellestrecke (3 Grad, L=" (rtos L_GF2 2 2) " mm)")) (princ (ssg-textf "vfe-step11-gf2" (list (rtos L_GF2 2 2))))
(setq aktueller-punkt (setq aktueller-punkt
(insert-inclined-scaled-block "Staustrecke_SP_1000_mm" aktueller-punkt L_GF2 3 cur-hz)) (insert-inclined-scaled-block "Staustrecke_SP_1000_mm" aktueller-punkt L_GF2 3 cur-hz))
) )
(princ "\n\n11/15: L_GF2 (uebersprungen)") (princ (ssg-text "vfe-step11-skip"))
) )
;; 12. Gefaellebogen Ende (verkettet: KS_EIN auf cur-hz, dann cur-hz drehen) ;; 12. Gefaellebogen Ende (verkettet: KS_EIN auf cur-hz, dann cur-hz drehen)
(setq bogen-info (vf-element-ks-info gefaelle-blockname)) (setq bogen-info (vf-element-ks-info gefaelle-blockname))
(princ (strcat "\n\n12/15: " gefaelle-blockname (princ (ssg-textf "vfe-step12" (list gefaelle-blockname (rtos cur-hz 2 1))))
" (Ende, verkettet cur-hz=" (rtos cur-hz 2 1) ")"))
(setq aktueller-punkt (setq aktueller-punkt
(insert-block-by-ks gefaelle-blockname aktueller-punkt (- cur-hz (car bogen-info)))) (insert-block-by-ks gefaelle-blockname aktueller-punkt (- cur-hz (car bogen-info))))
(setq cur-hz (+ cur-hz (- (cadr bogen-info) (car bogen-info)))) (setq cur-hz (+ cur-hz (- (cadr bogen-info) (car bogen-info))))
@@ -803,25 +800,24 @@
(if (< L-exit 50.0) (setq L-exit 50.0)) ; Schutz gegen negative/zu kurze GF (if (< L-exit 50.0) (setq L-exit 50.0)) ; Schutz gegen negative/zu kurze GF
;; 13. Auslauf-Staustrecke (variabel, folgt cur-hz, 3 Grad vert, KS_EIN) ;; 13. Auslauf-Staustrecke (variabel, folgt cur-hz, 3 Grad vert, KS_EIN)
(princ (strcat "\n\n13/15: Staustrecke (variabel L=" (rtos L-exit 2 1) (princ (ssg-textf "vfe-step13" (list (rtos L-exit 2 1) (rtos cur-hz 2 1))))
", cur-hz=" (rtos cur-hz 2 1) ")"))
(setq aktueller-punkt (setq aktueller-punkt
(insert-hz-scaled-block-by-ks "Staustrecke_SP_1000_mm" aktueller-punkt (insert-hz-scaled-block-by-ks "Staustrecke_SP_1000_mm" aktueller-punkt
L-exit cur-hz 3)) L-exit cur-hz 3))
;; 14. Separator (verkettet, folgt cur-hz, 3 Grad vert) ;; 14. Separator (verkettet, folgt cur-hz, 3 Grad vert)
(princ (strcat "\n\n14/15: Separator (300mm, cur-hz=" (rtos cur-hz 2 1) ")")) (princ (ssg-textf "vfe-step14" (list (rtos cur-hz 2 1))))
(setq aktueller-punkt (setq aktueller-punkt
(insert-hz-rotated-block-with-ks "Staustrecke_Separator_SP_300_mm" aktueller-punkt (insert-hz-rotated-block-with-ks "Staustrecke_Separator_SP_300_mm" aktueller-punkt
cur-hz 3 300 0)) cur-hz 3 300 0))
;; 15. ES_30 (verkettet: KS_EIN auf cur-hz; KS_AUS auf der Hauptlinie) ;; 15. ES_30 (verkettet: KS_EIN auf cur-hz; KS_AUS auf der Hauptlinie)
(princ (strcat "\n\n15/15: " es-block " (Ende, verkettet cur-hz=" (rtos cur-hz 2 1) ")")) (princ (ssg-textf "vfe-step15" (list es-block (rtos cur-hz 2 1))))
(setq endpunkt (setq endpunkt
(insert-block-by-ks es-block aktueller-punkt (- cur-hz (car es-info)))) (insert-block-by-ks es-block aktueller-punkt (- cur-hz (car es-info))))
(princ "\n\n=========================================") (princ "\n\n=========================================")
(princ "\n>>> Etage-VarioFoerderer eingefuegt! <<<") (princ (ssg-text "vfe-eingefuegt"))
endpunkt endpunkt
) )
@@ -1000,7 +996,7 @@
"etage" "etage"
'berechne-etage 'berechne-etage
'etage-foerderanlage-einfuegen 'etage-foerderanlage-einfuegen
"Etage VarioFoerderer (AS/ES 30 Grad, direkt uebereinander)") (ssg-text "vfc-typ-etage-beschreibung"))
(princ "\n>>> vf_etage.lsp geladen - Typ 'etage' registriert") (princ "\n>>> vf_etage.lsp geladen - Typ 'etage' registriert")
(princ) (princ)
+59 -59
View File
@@ -2226,48 +2226,46 @@
aus ein soll-ende ist-ende run-typ richtn best-w aus ein soll-ende ist-ende run-typ richtn best-w
kvariante L_VF ent-fp rad3 just-open) kvariante L_VF ent-fp rad3 just-open)
(princ "\n\n=========================================") (princ "\n\n=========================================")
(princ "\n VF-LINIENZUG - Modus 3: 3D-Objekte stueckweise (Vorwaerts-Nachbau, in Arbeit)") (princ (ssg-text "vfl-vwnb-titel"))
(princ "\n=========================================") (princ "\n=========================================")
;; Abhaengigkeit Gefaellestrecke-Modul (GF-Bausteine) ;; Abhaengigkeit Gefaellestrecke-Modul (GF-Bausteine)
(if (null (car (atoms-family 1 '("GF-INSERT-HZ-INCL-SCALED")))) (if (null (car (atoms-family 1 '("GF-INSERT-HZ-INCL-SCALED"))))
(progn (alert "Gefaellestrecke-Modul nicht geladen!") (exit))) (progn (alert (ssg-text "vfl-m3-alert-gf-modul")) (exit)))
(if (or (not *lib-initialized*) (null bogen-auf)) (init-bibliothek)) (if (or (not *lib-initialized*) (null bogen-auf)) (init-bibliothek))
;; --- 1. Pfad-Objekte waehlen (LINE/ARC) --- ;; --- 1. Pfad-Objekte waehlen (LINE/ARC) ---
(princ "\n\nPfad-Objekte waehlen (Linien/Boegen):") (princ (ssg-text "vfl-m3-pfad-waehlen"))
(setq ss (ssget '((0 . "LINE,ARC")))) (setq ss (ssget '((0 . "LINE,ARC"))))
(if (null ss) (progn (princ "\nKeine Objekte gewaehlt - Abbruch.") (exit))) (if (null ss) (progn (princ (ssg-text "vfl-m3-keine-objekte")) (exit)))
(setq obj-liste '() k 0) (setq obj-liste '() k 0)
(repeat (sslength ss) (repeat (sslength ss)
(setq obj-liste (cons (vlax-ename->vla-object (ssname ss k)) obj-liste)) (setq obj-liste (cons (vlax-ename->vla-object (ssname ss k)) obj-liste))
(setq k (1+ k))) (setq k (1+ k)))
;; --- 2. Startpunkt (hoehere Seite) + Hoehe + AS-Seite --- ;; --- 2. Startpunkt (hoehere Seite) + Hoehe + AS-Seite ---
(setq startpunkt (vfl-getpoint nil "\n\nStartpunkt der Kette (hoehere Seite) waehlen: ")) (setq startpunkt (vfl-getpoint nil (ssg-text "vfl-m3-prompt-startpunkt")))
(if (null startpunkt) (progn (princ "\nAbgebrochen.") (exit))) (if (null startpunkt) (progn (princ (ssg-text "vfl-abgebrochen")) (exit)))
(setq start-hoehe (getreal (strcat "\nHoehe (Z) des Startpunkts [" (setq start-hoehe (getreal (ssg-textf "vfl-prompt-hoehe-startpunkt"
(rtos (caddr startpunkt) 2 1) "]: "))) (list (rtos (caddr startpunkt) 2 1)))))
(if (null start-hoehe) (setq start-hoehe (caddr startpunkt))) (if (null start-hoehe) (setq start-hoehe (caddr startpunkt)))
(setq startpunkt (list (car startpunkt) (cadr startpunkt) start-hoehe)) (setq startpunkt (list (car startpunkt) (cadr startpunkt) start-hoehe))
(setq *vfl-as-winkel* (vf-frage-element-winkel "vf-winkel-aus-header")) ; 30/90 vor Seite (setq *vfl-as-winkel* (vf-frage-element-winkel "vf-winkel-aus-header")) ; 30/90 vor Seite
(princ "\n\nAUS-Element - Seite waehlen:\n 1 - Links\n 2 - Rechts") (princ (ssg-text "vfl-vwnb-aus-seite-menu"))
(setq as-seite (if (= (getstring "\nIhre Wahl (1/2) [1]: ") "2") "rechts" "links")) (setq as-seite (if (= (getstring (ssg-text "prompt-wahl-1-2")) "2") "rechts" "links"))
(vf-set-as-masse *vfl-as-winkel* as-seite) ; Masse fuer Variante (vf-set-as-masse *vfl-as-winkel* as-seite) ; Masse fuer Variante
;; --- 3. Sortieren + Analysieren --- ;; --- 3. Sortieren + Analysieren ---
(setq kette (gf-sortiere-objekte obj-liste startpunkt)) (setq kette (gf-sortiere-objekte obj-liste startpunkt))
(if (null kette) (if (null kette)
(progn (princ "\nFEHLER: Pfad nicht sortierbar (haengt er lueckenlos zusammen?).") (exit))) (progn (princ (ssg-text "vfl-m3-fehler-nicht-sortierbar")) (exit)))
(setq segmente (gf-analysiere-kette kette)) (setq segmente (gf-analysiere-kette kette))
;; --- 4. Eck-Winkel-Vorpruefung (vor dem Bau) --- ;; --- 4. Eck-Winkel-Vorpruefung (vor dem Bau) ---
(setq ecke-bad (vfl2-pruefe-eckwinkel kette 5.0)) (setq ecke-bad (vfl2-pruefe-eckwinkel kette 5.0))
(if ecke-bad (if ecke-bad
(progn (progn
(alert (strcat "Kein passender Bogen: Eck-Winkel " (rtos ecke-bad 2 1) (alert (ssg-textf "vfl-vwnb-alert-eckwinkel" (list (rtos ecke-bad 2 1))))
" Grad ist nicht ~30/60/90.\n"
"Bitte die Winkel der Linien anpassen."))
(exit))) (exit)))
;; --- 5. Setup --- ;; --- 5. Setup ---
@@ -2287,7 +2285,7 @@
(progn (if (< first-line 0) (setq first-line i)) (setq last-line i))) (progn (if (< first-line 0) (setq first-line i)) (setq last-line i)))
(setq i (1+ i))) (setq i (1+ i)))
(if (< first-line 0) (if (< first-line 0)
(progn (alert "Pfad enthaelt keine Gerade - eine Kette muss mit einer Geraden beginnen.") (exit))) (progn (alert (ssg-text "vfl-vwnb-alert-keine-gerade")) (exit)))
;; --- 6. Bau-Schleife (Meilenstein 2: GF + VF-Laeufe, Run-State-Machine) --- ;; --- 6. Bau-Schleife (Meilenstein 2: GF + VF-Laeufe, Run-State-Machine) ---
;; run-typ: nil / "GF" / "VF". Beim Wechsel GF<->VF wird die VF-Einheit ;; run-typ: nil / "GF" / "VF". Beim Wechsel GF<->VF wird die VF-Einheit
@@ -2302,20 +2300,20 @@
;; ===================== GERADE ===================== ;; ===================== GERADE =====================
((= typ "Linie") ((= typ "Linie")
(setq laenge (caddr seg)) (setq laenge (caddr seg))
(princ (strcat "\n\nSegment " (itoa (1+ i)) "/" (itoa n) (princ (ssg-textf "vfl-m3-seg-gerade"
": Gerade L=" (rtos laenge 2 0) " mm hz=" (rtos hz 2 1))) (list (itoa (1+ i)) (itoa n) (rtos laenge 2 0) (rtos hz 2 1))))
(princ "\n Typ? 1 = GF (<=3 Grad) 2 = VF-Ab 3 = VF-Auf 4 = VF-Horizontal") (princ (ssg-text "vfl-vwnb-typ-gerade"))
(setq antwort (getstring "\nIhre Wahl (1/2/3/4) [1]: ")) (setq antwort (getstring (ssg-text "prompt-wahl-1-2-3-4")))
(cond (cond
;; --- GF-Gerade --- ;; --- GF-Gerade ---
((or (= antwort "") (= antwort "1")) ((or (= antwort "") (= antwort "1"))
(if (= run-typ "VF") ; offenen VF-Lauf schliessen (if (= run-typ "VF") ; offenen VF-Lauf schliessen
(progn (setq frame (vfl2-vf-close frame (car (frame->hz-winkel frame)))) (progn (setq frame (vfl2-vf-close frame (car (frame->hz-winkel frame))))
(setq run-typ nil))) (setq run-typ nil)))
(setq winkel (getreal "\n GF-Neigung in Grad [3]: ")) (setq winkel (getreal (ssg-text "vfl-m3-prompt-gf-neigung")))
(if (null winkel) (setq winkel 3.0)) (if (null winkel) (setq winkel 3.0))
(if (> winkel 3.0) (if (> winkel 3.0)
(progn (princ "\n Hinweis: GF max. 3 Grad - auf 3 begrenzt.") (setq winkel 3.0))) (progn (princ (ssg-text "vfl-m3-hinweis-gf-max")) (setq winkel 3.0)))
(if (null frame) (if (null frame)
(setq frame (vfl2-insert-as-gf startpunkt hz winkel as-seite))) (setq frame (vfl2-insert-as-gf startpunkt hz winkel as-seite)))
(setq deltaL laenge) (setq deltaL laenge)
@@ -2341,7 +2339,7 @@
(if (= richtn "horizontal") (if (= richtn "horizontal")
(setq best-w 0) (setq best-w 0)
(progn (progn
(setq best-w (getint "\n Vario-Winkel (3..51 Grad) [3]: ")) (setq best-w (getint (ssg-text "vfl-vwnb-prompt-vario-winkel")))
(if (null best-w) (setq best-w 3)) (if (null best-w) (setq best-w 3))
(setq best-w (vfl2-snap-vfwinkel best-w)))) (setq best-w (vfl2-snap-vfwinkel best-w))))
(setq L_VF laenge) (setq L_VF laenge)
@@ -2353,22 +2351,22 @@
;; ===================== ECK / BOGEN ===================== ;; ===================== ECK / BOGEN =====================
((= typ "Bogen") ((= typ "Bogen")
(setq bwinkel (nth 3 seg) bseite (nth 4 seg)) (setq bwinkel (nth 3 seg) bseite (nth 4 seg))
(princ (strcat "\n\nSegment " (itoa (1+ i)) "/" (itoa n) (princ (ssg-textf "vfl-m3-seg-bogen"
": Eck/Bogen " (itoa bwinkel) " Grad " bseite)) (list (itoa (1+ i)) (itoa n) (itoa bwinkel) bseite)))
(princ "\n Typ? 1 = GF-Bogen 2 = Vario-Kurve") (princ (ssg-text "vfl-m3-typ-bogen"))
(setq antwort (getstring "\nIhre Wahl (1/2) [1]: ")) (setq antwort (getstring (ssg-text "prompt-wahl-1-2")))
(if (= antwort "2") (if (= antwort "2")
;; --- Vario-Kurve (nur im VF-Lauf) --- ;; --- Vario-Kurve (nur im VF-Lauf) ---
(if (not (= run-typ "VF")) (if (not (= run-typ "VF"))
(princ "\n >>> Vario-Kurve nur innerhalb eines VF-Laufs zulaessig - uebersprungen.") (princ (ssg-text "vfl-vwnb-kurve-nur-vf"))
(progn (progn
(princ "\n Vario-Kurve - Variante? 1 = Aussen 2 = Innen") (princ (ssg-text "vfl-m3-variante-frage"))
(setq kvariante (if (= (getstring "\nIhre Wahl (1/2) [2]: ") "1") "aussen" "innen")) (setq kvariante (if (= (getstring (ssg-text "vfl-prompt-wahl-1-2-def2")) "1") "aussen" "innen"))
(setq frame (vfl-insert-vario-kurve-block frame bwinkel bseite kvariante)))) (setq frame (vfl-insert-vario-kurve-block frame bwinkel bseite kvariante))))
;; --- GF-Bogen --- ;; --- GF-Bogen ---
(progn (progn
(if (null frame) (if (null frame)
(progn (alert "Kette beginnt mit einem Bogen - bitte erst eine Gerade.") (exit))) (progn (alert (ssg-text "vfl-m3-alert-beginnt-bogen")) (exit)))
(if (= run-typ "VF") ; VF-Lauf vor GF-Bogen schliessen (if (= run-typ "VF") ; VF-Lauf vor GF-Bogen schliessen
(progn (setq frame (vfl2-vf-close frame (car (frame->hz-winkel frame)))) (progn (setq frame (vfl2-vf-close frame (car (frame->hz-winkel frame))))
(setq run-typ nil))) (setq run-typ nil)))
@@ -2378,7 +2376,7 @@
(setq i (1+ i))) (setq i (1+ i)))
;; --- 7. Kettenende: offenen VF-Lauf schliessen, dann Separator + ES --- ;; --- 7. Kettenende: offenen VF-Lauf schliessen, dann Separator + ES ---
(if (null frame) (progn (princ "\nNichts gebaut - Abbruch.") (exit))) (if (null frame) (progn (princ (ssg-text "vfl-m3-nichts-gebaut")) (exit)))
(setq es-seite (vfl-frage-es-seite)) (setq es-seite (vfl-frage-es-seite))
(if (= run-typ "VF") (if (= run-typ "VF")
(progn (progn
@@ -2396,13 +2394,14 @@
(setq soll-ende (caddr (last kette))) ; Endpunkt des letzten gezeichneten Segments (setq soll-ende (caddr (last kette))) ; Endpunkt des letzten gezeichneten Segments
(setq ist-ende (car frame)) ; ES-KS_AUS (setq ist-ende (car frame)) ; ES-KS_AUS
(princ "\n\n=========================================") (princ "\n\n=========================================")
(princ "\n>>> VF-Linienzug (Modus 2, GF+VF) eingefuegt! <<<") (princ (ssg-text "vfl-vwnb-eingefuegt"))
(princ (strcat "\n Soll-Ende (Pfad): X=" (rtos (car soll-ende) 2 1) (princ (ssg-textf "vfl-vwnb-soll-ende"
" Y=" (rtos (cadr soll-ende) 2 1))) (list (rtos (car soll-ende) 2 1) (rtos (cadr soll-ende) 2 1))))
(princ (strcat "\n Ist-Ende (ES): X=" (rtos (car ist-ende) 2 1) (princ (ssg-textf "vfl-vwnb-ist-ende"
" Y=" (rtos (cadr ist-ende) 2 1) " Z=" (rtos (caddr ist-ende) 2 1))) (list (rtos (car ist-ende) 2 1) (rtos (cadr ist-ende) 2 1) (rtos (caddr ist-ende) 2 1))))
(princ (strcat "\n Abweichung XY: dX=" (rtos (- (car ist-ende) (car soll-ende)) 2 1) (princ (ssg-textf "vfl-vwnb-abweichung-xy"
" dY=" (rtos (- (cadr ist-ende) (cadr soll-ende)) 2 1) " mm")) (list (rtos (- (car ist-ende) (car soll-ende)) 2 1)
(rtos (- (cadr ist-ende) (cadr soll-ende)) 2 1))))
(princ "\n=========================================") (princ "\n=========================================")
(princ) (princ)
) )
@@ -2648,10 +2647,10 @@
(list (rtos (caddr startpunkt) 2 1))))) (list (rtos (caddr startpunkt) 2 1)))))
(if (null start-hoehe) (setq start-hoehe (caddr startpunkt))) (if (null start-hoehe) (setq start-hoehe (caddr startpunkt)))
(setq startpunkt (list (car startpunkt) (cadr startpunkt) start-hoehe)) (setq startpunkt (list (car startpunkt) (cadr startpunkt) start-hoehe))
(princ "\n\nAS-Element setzen?") (princ (ssg-text "vfl-as-setzen-frage"))
(princ "\n 1 - Ja") (princ (ssg-text "vfl-ja"))
(princ "\n 2 - Nein (Kette beginnt direkt am Startpunkt)") (princ (ssg-text "vfl-m3-as-nein"))
(setq antwort (getstring "\nIhre Wahl (1/2) [1]: ")) (setq antwort (getstring (ssg-text "prompt-wahl-1-2")))
(setq as-vorhanden (/= antwort "2")) (setq as-vorhanden (/= antwort "2"))
(if as-vorhanden (if as-vorhanden
(progn (progn
@@ -2671,10 +2670,10 @@
(list (rtos (caddr endpunkt) 2 1))))) (list (rtos (caddr endpunkt) 2 1)))))
(if (null end-hoehe) (setq end-hoehe (caddr endpunkt))) (if (null end-hoehe) (setq end-hoehe (caddr endpunkt)))
(setq endpunkt (list (car endpunkt) (cadr endpunkt) end-hoehe)) (setq endpunkt (list (car endpunkt) (cadr endpunkt) end-hoehe))
(princ "\n\nES-Element setzen?") (princ (ssg-text "vfl-es-setzen-frage"))
(princ "\n 1 - Ja") (princ (ssg-text "vfl-ja"))
(princ "\n 2 - Nein (Kette endet direkt am Zielpunkt)") (princ (ssg-text "vfl-es-nein-zielpunkt"))
(setq antwort (getstring "\nIhre Wahl (1/2) [1]: ")) (setq antwort (getstring (ssg-text "prompt-wahl-1-2")))
(setq es-vorhanden (/= antwort "2")) (setq es-vorhanden (/= antwort "2"))
(if es-vorhanden (if es-vorhanden
(progn (progn
@@ -3598,17 +3597,18 @@
(if (< (length kette) 2) (if (< (length kette) 2)
(progn (progn
(princ (strcat "\n [Diagnose] KS_AUS Startbaustein (" (vfl-kette-rec-bname start-rec) "): X=" (princ (ssg-textf "vfl-kette-diag-startbaustein"
(rtos (car (vfl-kette-rec-aus start-rec)) 2 1) " Y=" (list (vfl-kette-rec-bname start-rec)
(rtos (cadr (vfl-kette-rec-aus start-rec)) 2 1) " Z=" (rtos (car (vfl-kette-rec-aus start-rec)) 2 1)
(rtos (caddr (vfl-kette-rec-aus start-rec)) 2 1))) (rtos (cadr (vfl-kette-rec-aus start-rec)) 2 1)
(rtos (caddr (vfl-kette-rec-aus start-rec)) 2 1))))
(if naechster-fund (if naechster-fund
(princ (strcat "\n [Diagnose] Naechster Kandidat: " (vfl-kette-rec-bname (car naechster-fund)) (princ (ssg-textf "vfl-kette-diag-naechster-kandidat"
" Abstand=" (rtos (cdr naechster-fund) 2 1) (list (vfl-kette-rec-bname (car naechster-fund))
" mm (Toleranz eng=" (rtos *vfl-kette-tol-eng* 2 1) (rtos (cdr naechster-fund) 2 1)
" mm, weit=" (rtos *vfl-kette-tol-weit* 2 1) " mm)")) (rtos *vfl-kette-tol-eng* 2 1)
(princ (strcat "\n [Diagnose] Kein anderer Baustein mit KS_EIN gefunden (insgesamt " (rtos *vfl-kette-tol-weit* 2 1))))
(itoa (length alle-records)) " Bausteine erfasst)."))) (princ (ssg-textf "vfl-kette-diag-kein-anderer" (list (itoa (length alle-records))))))
(princ (ssg-text "vfl-kette-nur-ein-baustein")) (ssg-end) (exit))) (princ (ssg-text "vfl-kette-nur-ein-baustein")) (ssg-end) (exit)))
(princ (ssg-textf "vfl-kette-gefunden" (list (itoa (length kette))))) (princ (ssg-textf "vfl-kette-gefunden" (list (itoa (length kette)))))
@@ -3622,8 +3622,8 @@
;; im Layout nahe beieinander liegen). ;; im Layout nahe beieinander liegen).
(if verdaechtig (if verdaechtig
(foreach v verdaechtig (foreach v verdaechtig
(princ (strcat "\n [Diagnose] VERDAECHTIG: '" (car v) "' -> '" (cadr v) (princ (ssg-textf "vfl-kette-diag-verdaechtig"
"' Abstand=" (rtos (caddr v) 2 3) " mm (innerhalb Toleranz, aber nicht ~0)"))) (list (car v) (cadr v) (rtos (caddr v) 2 3)))))
) )
;; Attribute aus der Bausteinfolge herleiten, bevor irgendetwas an der ;; Attribute aus der Bausteinfolge herleiten, bevor irgendetwas an der
@@ -3724,7 +3724,7 @@
"linienzug" "linienzug"
'vfl-berechne-platzhalter 'vfl-berechne-platzhalter
'vfl-einfuege-platzhalter 'vfl-einfuege-platzhalter
"3D-Linienzug (gemischte GF/VF-Kette; Modus 1 manuell / Modus 2 Ziel-Hoehe fertig / Modus 3 stueckweise in Arbeit)") (ssg-text "vfc-typ-linienzug-beschreibung"))
(princ "\n>>> vf_linienzug.lsp geladen - Typ 'linienzug' registriert") (princ "\n>>> vf_linienzug.lsp geladen - Typ 'linienzug' registriert")
(princ) (princ)
+25 -26
View File
@@ -547,23 +547,22 @@
(progn (progn
(if (= best-winkel 0) (if (= best-winkel 0)
(progn (progn
(princ (strcat "\n\n6/11: Horizontale Zwischenstrecke (0 Grad, L=" (princ (ssg-textf "vfs-schritt6-horizontal" (list (rtos L_VF 2 2))))
(rtos L_VF 2 2) " mm)"))
(setq aktueller-punkt (setq aktueller-punkt
(insert-inclined-scaled-block "Staustrecke_SP_1000_mm" aktueller-punkt (insert-inclined-scaled-block "Staustrecke_SP_1000_mm" aktueller-punkt
L_VF 0 hz)) L_VF 0 hz))
) )
(if (= richtung "Auf") (if (= richtung "Auf")
(progn (progn
(princ (strcat "\n\n6/11: Steigungsstrecke (" (princ (ssg-textf "vfs-schritt6-steigung"
(itoa (- (- best-winkel 3))) " Grad, L=" (rtos L_VF 2 2) " mm)")) (list (itoa (- (- best-winkel 3))) (rtos L_VF 2 2))))
(setq aktueller-punkt (setq aktueller-punkt
(insert-inclined-scaled-block "Staustrecke_SP_1000_mm" aktueller-punkt (insert-inclined-scaled-block "Staustrecke_SP_1000_mm" aktueller-punkt
L_VF (- (- best-winkel 3)) hz)) L_VF (- (- best-winkel 3)) hz))
) )
(progn (progn
(princ (strcat "\n\n6/11: Gefaellestrecke (" (princ (ssg-textf "vfs-schritt6-gefaelle"
(itoa (+ best-winkel 3)) " Grad, L=" (rtos L_VF 2 2) " mm)")) (list (itoa (+ best-winkel 3)) (rtos L_VF 2 2))))
(setq aktueller-punkt (setq aktueller-punkt
(insert-inclined-scaled-block "Staustrecke_SP_1000_mm" aktueller-punkt (insert-inclined-scaled-block "Staustrecke_SP_1000_mm" aktueller-punkt
L_VF (+ best-winkel 3) hz)) L_VF (+ best-winkel 3) hz))
@@ -571,7 +570,7 @@
) )
) )
) )
(princ "\n\n6/11: (uebersprungen)") (princ (ssg-text "vfs-schritt6-skip"))
) )
;; 7. 2. Vertikalbogen ;; 7. 2. Vertikalbogen
@@ -594,22 +593,22 @@
(setq bogen-dx (car bogen-mass) bogen-dz (caddr bogen-mass)) (setq bogen-dx (car bogen-mass) bogen-dz (caddr bogen-mass))
(if (= best-winkel 0) (if (= best-winkel 0)
(progn (progn
(princ (strcat "\n\n7/11: " bogen-name " (3 Grad geneigt)")) (princ (ssg-textf "vfs-schritt7-bogen1" (list bogen-name)))
(setq aktueller-punkt (setq aktueller-punkt
(insert-rotated-block-with-ks bogen-name aktueller-punkt (insert-rotated-block-with-ks bogen-name aktueller-punkt
0 bogen-dx bogen-dz hz)) 0 bogen-dx bogen-dz hz))
) )
(if (= richtung "Auf") (if (= richtung "Auf")
(progn (progn
(princ (strcat "\n\n7/11: " bogen-name (princ (ssg-textf "vfs-schritt7-bogen-winkel"
" (" (itoa (- 3 best-winkel)) " Grad geneigt)")) (list bogen-name (itoa (- 3 best-winkel)))))
(setq aktueller-punkt (setq aktueller-punkt
(insert-rotated-block-with-ks bogen-name aktueller-punkt (insert-rotated-block-with-ks bogen-name aktueller-punkt
(- 3 best-winkel) bogen-dx bogen-dz hz)) (- 3 best-winkel) bogen-dx bogen-dz hz))
) )
(progn (progn
(princ (strcat "\n\n7/11: " bogen-name (princ (ssg-textf "vfs-schritt7-bogen-winkel"
" (" (itoa (+ best-winkel 3)) " Grad geneigt)")) (list bogen-name (itoa (+ best-winkel 3)))))
(setq aktueller-punkt (setq aktueller-punkt
(insert-rotated-block-with-ks bogen-name aktueller-punkt (insert-rotated-block-with-ks bogen-name aktueller-punkt
(+ best-winkel 3) bogen-dx bogen-dz hz)) (+ best-winkel 3) bogen-dx bogen-dz hz))
@@ -632,7 +631,7 @@
(if (null hz) (setq hz 0.0)) (if (null hz) (setq hz 0.0))
(setq hz (float hz)) (setq hz (float hz))
;; Motorstation ;; Motorstation
(princ "\n\n[VF-Ausgang] Motorstation (500 mm, 3 Grad geneigt)") (princ (ssg-text "vfs-ausgang-motorstation"))
(setq aktueller-punkt (setq aktueller-punkt
(insert-rotated-block-with-ks (strcat "Vario_Motorstation_500mm_" (vf-motorseite-aktuell)) aktueller-punkt (insert-rotated-block-with-ks (strcat "Vario_Motorstation_500mm_" (vf-motorseite-aktuell)) aktueller-punkt
(ssg-cfg-or "vario" "gefaelle_winkel" 3) (ssg-cfg-or "vario" "gefaelle_winkel" 3)
@@ -641,17 +640,17 @@
;; GF2 (optional, verbindet Motorstation mit der Auslauf-Neigung) ;; GF2 (optional, verbindet Motorstation mit der Auslauf-Neigung)
(if (> L_GF2 0.1) (if (> L_GF2 0.1)
(progn (progn
(princ (strcat "\n[VF-Ausgang] Gefaellestrecke GF2 (3 Grad, L=" (rtos L_GF2 2 2) " mm)")) (princ (ssg-textf "vfs-ausgang-gf2" (list (rtos L_GF2 2 2))))
(setq aktueller-punkt (setq aktueller-punkt
(insert-inclined-scaled-block "Staustrecke_SP_1000_mm" aktueller-punkt (insert-inclined-scaled-block "Staustrecke_SP_1000_mm" aktueller-punkt
L_GF2 (ssg-cfg-or "vario" "gefaelle_winkel" 3) hz)) L_GF2 (ssg-cfg-or "vario" "gefaelle_winkel" 3) hz))
) )
(princ "\n[VF-Ausgang] GF2 (kein / uebersprungen)") (princ (ssg-text "vfs-ausgang-gf2-skip"))
) )
;; Separator (optional, nur Standard-VF) ;; Separator (optional, nur Standard-VF)
(if mit-separator (if mit-separator
(progn (progn
(princ "\n[VF-Ausgang] Separator (300 mm, 3 Grad geneigt)") (princ (ssg-text "vfs-ausgang-separator"))
(setq aktueller-punkt (setq aktueller-punkt
(insert-rotated-block-with-ks "Staustrecke_Separator_SP_300_mm" aktueller-punkt (insert-rotated-block-with-ks "Staustrecke_Separator_SP_300_mm" aktueller-punkt
(ssg-cfg-or "vario" "gefaelle_winkel" 3) (ssg-cfg-or "vario" "gefaelle_winkel" 3)
@@ -678,7 +677,7 @@
(if (null hz) (setq hz 0.0)) (if (null hz) (setq hz 0.0))
(setq hz (float hz)) (setq hz (float hz))
(setq es-block (strcat "ES_Element_90_" seite)) (setq es-block (strcat "ES_Element_90_" seite))
(princ (strcat "\n\n11/11: " es-block " (hz=" (rtos hz 2 1) grad-zeichen ")")) (princ (ssg-textf "vfs-schritt11-es" (list es-block (rtos hz 2 1) grad-zeichen)))
(insert-block-by-ks es-block aktueller-punkt hz) (insert-block-by-ks es-block aktueller-punkt hz)
) )
@@ -697,7 +696,7 @@
(setq endpunkt (vfs-es-teil aktueller-punkt seite hz)) (setq endpunkt (vfs-es-teil aktueller-punkt seite hz))
(princ "\n\n=========================================") (princ "\n\n=========================================")
(princ "\n>>> Standard VarioFoerderer eingefuegt!") (princ (ssg-text "vfs-eingefuegt"))
endpunkt endpunkt
) )
@@ -1288,11 +1287,11 @@
(defun c:VARIOFOERDERER_NACHRUESTEN ( / ss i ent ed bname attribs xd typ hz (defun c:VARIOFOERDERER_NACHRUESTEN ( / ss i ent ed bname attribs xd typ hz
n-neu n-skip default-hz) n-neu n-skip default-hz)
(ssg-start "VARIOFOERDERER_NACHRUESTEN" nil) (ssg-start "VARIOFOERDERER_NACHRUESTEN" nil)
(princ "\n=== VF-Bestandsbloecke nachruesten (SSG_VF_EDIT-Marker) ===") (princ (ssg-text "vfs-nachruesten-titel"))
(setq ss (ssget '((0 . "INSERT") (2 . "VF_*")))) (setq ss (ssget '((0 . "INSERT") (2 . "VF_*"))))
(if (null ss) (if (null ss)
(progn (progn
(princ "\nKeine VF_n-Bloecke ausgewaehlt - abgebrochen.") (princ (ssg-text "vfs-nachruesten-keine-bloecke"))
(ssg-end) (ssg-end)
(exit))) (exit)))
(setq i 0 n-neu 0 n-skip 0 default-hz 0.0) (setq i 0 n-neu 0 n-skip 0 default-hz 0.0)
@@ -1303,7 +1302,7 @@
(cond (cond
;; Schon markiert (standard/etage) -> ueberspringen ;; Schon markiert (standard/etage) -> ueberspringen
((and xd (member (car xd) '("standard" "etage"))) ((and xd (member (car xd) '("standard" "etage")))
(princ (strcat "\n " bname ": bereits markiert (" (car xd) ") - uebersprungen")) (princ (ssg-textf "vfs-nachruesten-bereits-markiert" (list bname (car xd))))
(setq n-skip (1+ n-skip))) (setq n-skip (1+ n-skip)))
(t (t
(setq attribs (ssg-attrib-read ent)) (setq attribs (ssg-attrib-read ent))
@@ -1311,17 +1310,17 @@
(setq typ (setq typ
(if (or (assoc "GF_Bogen_R_60" attribs) (assoc "GF_Bogen_L_60" attribs)) (if (or (assoc "GF_Bogen_R_60" attribs) (assoc "GF_Bogen_L_60" attribs))
"etage" "standard")) "etage" "standard"))
(princ (strcat "\n " bname ": erkannt als Typ '" typ "'")) (princ (ssg-textf "vfs-nachruesten-erkannt" (list bname typ)))
(setq hz (getreal (strcat "\n Baurichtung hz in Grad [" (rtos default-hz 2 1) "]: "))) (setq hz (getreal (ssg-textf "vfs-nachruesten-prompt-hz" (list (rtos default-hz 2 1)))))
(if (null hz) (setq hz default-hz)) (if (null hz) (setq hz default-hz))
(setq default-hz hz) (setq default-hz hz)
(vf-edit-xdata-schreiben ent typ hz) (vf-edit-xdata-schreiben ent typ hz)
(princ (strcat " -> markiert (hz=" (rtos hz 2 1) ")")) (princ (ssg-textf "vfs-nachruesten-markiert" (list (rtos hz 2 1))))
(setq n-neu (1+ n-neu))) (setq n-neu (1+ n-neu)))
) )
(setq i (1+ i)) (setq i (1+ i))
) )
(princ (strcat "\n=== Fertig: " (itoa n-neu) " markiert, " (itoa n-skip) " uebersprungen ===")) (princ (ssg-textf "vfs-nachruesten-fertig" (list (itoa n-neu) (itoa n-skip))))
(ssg-end) (ssg-end)
(princ) (princ)
) )
@@ -1336,7 +1335,7 @@
"standard" "standard"
'berechne-standard 'berechne-standard
'variofoerderer-einfuegen 'variofoerderer-einfuegen
"Standard VarioFoerderer (AS/ES 90 Grad, horizontal versetzt)") (ssg-text "vfc-typ-standard-beschreibung"))
(princ "\n>>> vf_standard.lsp geladen - Typ 'standard' registriert") (princ "\n>>> vf_standard.lsp geladen - Typ 'standard' registriert")
(princ) (princ)
+53 -1
View File
@@ -759,6 +759,58 @@
"vfl-abbruch-wickeln-fehler": "\n>>> FEHLER beim Sichern der Teil-Geometrie als Block: %1", "vfl-abbruch-wickeln-fehler": "\n>>> FEHLER beim Sichern der Teil-Geometrie als Block: %1",
"vfl-edit-dialog-fehlt": "Dialog nicht gefunden: %1", "vfl-edit-dialog-fehlt": "Dialog nicht gefunden: %1",
"vfl-edit-abgebrochen": "\nEditieren abgebrochen - keine Aenderung.", "vfl-edit-abgebrochen": "\nEditieren abgebrochen - keine Aenderung.",
"vfl-dlg-kopf-sektionen": "Sektionen: %1" "vfl-dlg-kopf-sektionen": "Sektionen: %1",
"vfc-warnung-untermodule-nicht-geladen": "\n[vf_core] WARNUNG: DXFM_LISP nicht gesetzt - Untermodule konnten nicht geladen werden!",
"vfc-linienzug-modus-header": "\n\nLinienzug-Modus waehlen:",
"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-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)",
"vfs-schritt6-horizontal": "\n\n6/11: Horizontale Zwischenstrecke (0 Grad, L=%1 mm)",
"vfs-schritt6-steigung": "\n\n6/11: Steigungsstrecke (%1 Grad, L=%2 mm)",
"vfs-schritt6-gefaelle": "\n\n6/11: Gefaellestrecke (%1 Grad, L=%2 mm)",
"vfs-schritt6-skip": "\n\n6/11: (uebersprungen)",
"vfs-schritt7-bogen1": "\n\n7/11: %1 (3 Grad geneigt)",
"vfs-schritt7-bogen-winkel": "\n\n7/11: %1 (%2 Grad geneigt)",
"vfs-ausgang-motorstation": "\n\n[VF-Ausgang] Motorstation (500 mm, 3 Grad geneigt)",
"vfs-ausgang-gf2": "\n[VF-Ausgang] Gefaellestrecke GF2 (3 Grad, L=%1 mm)",
"vfs-ausgang-gf2-skip": "\n[VF-Ausgang] GF2 (kein / uebersprungen)",
"vfs-ausgang-separator": "\n[VF-Ausgang] Separator (300 mm, 3 Grad geneigt)",
"vfs-schritt11-es": "\n\n11/11: %1 (hz=%2%3)",
"vfs-eingefuegt": "\n>>> Standard VarioFoerderer eingefuegt!",
"vfs-nachruesten-titel": "\n=== VF-Bestandsbloecke nachruesten (SSG_VF_EDIT-Marker) ===",
"vfs-nachruesten-keine-bloecke": "\nKeine VF_n-Bloecke ausgewaehlt - abgebrochen.",
"vfs-nachruesten-bereits-markiert": "\n %1: bereits markiert (%2) - uebersprungen",
"vfs-nachruesten-erkannt": "\n %1: erkannt als Typ '%2'",
"vfs-nachruesten-prompt-hz": "\n Baurichtung hz in Grad [%1]: ",
"vfs-nachruesten-markiert": " -> markiert (hz=%1)",
"vfs-nachruesten-fertig": "\n=== Fertig: %1 markiert, %2 uebersprungen ===",
"vfe-step9-bogen": "\n\n9/15: %1 (%2 Grad geneigt)",
"vfe-step10": "\n\n10/15: Motorstation (500mm, 3 Grad geneigt)",
"vfe-step11-gf2": "\n\n11/15: Gefaellestrecke (3 Grad, L=%1 mm)",
"vfe-step11-skip": "\n\n11/15: L_GF2 (uebersprungen)",
"vfe-step12": "\n\n12/15: %1 (Ende, verkettet cur-hz=%2)",
"vfe-step13": "\n\n13/15: Staustrecke (variabel L=%1, cur-hz=%2)",
"vfe-step14": "\n\n14/15: Separator (300mm, cur-hz=%1)",
"vfe-step15": "\n\n15/15: %1 (Ende, verkettet cur-hz=%2)",
"vfe-eingefuegt": "\n>>> Etage-VarioFoerderer eingefuegt! <<<",
"vfl-vwnb-titel": "\n VF-LINIENZUG - Modus 3: 3D-Objekte stueckweise (Vorwaerts-Nachbau, in Arbeit)",
"vfl-vwnb-aus-seite-menu": "\n\nAUS-Element - Seite waehlen:\n 1 - Links\n 2 - Rechts",
"vfl-vwnb-alert-eckwinkel": "Kein passender Bogen: Eck-Winkel %1 Grad ist nicht ~30/60/90.\nBitte die Winkel der Linien anpassen.",
"vfl-vwnb-alert-keine-gerade": "Pfad enthaelt keine Gerade - eine Kette muss mit einer Geraden beginnen.",
"vfl-vwnb-typ-gerade": "\n Typ? 1 = GF (<=3 Grad) 2 = VF-Ab 3 = VF-Auf 4 = VF-Horizontal",
"vfl-vwnb-prompt-vario-winkel": "\n Vario-Winkel (3..51 Grad) [3]: ",
"vfl-vwnb-kurve-nur-vf": "\n >>> Vario-Kurve nur innerhalb eines VF-Laufs zulaessig - uebersprungen.",
"vfl-vwnb-eingefuegt": "\n>>> VF-Linienzug (Modus 2, GF+VF) eingefuegt! <<<",
"vfl-vwnb-soll-ende": "\n Soll-Ende (Pfad): X=%1 Y=%2",
"vfl-vwnb-ist-ende": "\n Ist-Ende (ES): X=%1 Y=%2 Z=%3",
"vfl-vwnb-abweichung-xy": "\n Abweichung XY: dX=%1 dY=%2 mm",
"vfl-m3-as-nein": "\n 2 - Nein (Kette beginnt direkt am Startpunkt)",
"vfl-kette-diag-startbaustein": "\n [Diagnose] KS_AUS Startbaustein (%1): X=%2 Y=%3 Z=%4",
"vfl-kette-diag-naechster-kandidat": "\n [Diagnose] Naechster Kandidat: %1 Abstand=%2 mm (Toleranz eng=%3 mm, weit=%4 mm)",
"vfl-kette-diag-kein-anderer": "\n [Diagnose] Kein anderer Baustein mit KS_EIN gefunden (insgesamt %1 Bausteine erfasst).",
"vfl-kette-diag-verdaechtig": "\n [Diagnose] VERDAECHTIG: '%1' -> '%2' Abstand=%3 mm (innerhalb Toleranz, aber nicht ~0)"
} }
} }
+53 -1
View File
@@ -759,6 +759,58 @@
"vfl-abbruch-wickeln-fehler": "\n>>> ERROR saving the partial geometry as a block: %1", "vfl-abbruch-wickeln-fehler": "\n>>> ERROR saving the partial geometry as a block: %1",
"vfl-edit-dialog-fehlt": "Dialog not found: %1", "vfl-edit-dialog-fehlt": "Dialog not found: %1",
"vfl-edit-abgebrochen": "\nEdit cancelled - no change.", "vfl-edit-abgebrochen": "\nEdit cancelled - no change.",
"vfl-dlg-kopf-sektionen": "Sections: %1" "vfl-dlg-kopf-sektionen": "Sections: %1",
"vfc-warnung-untermodule-nicht-geladen": "\n[vf_core] WARNING: DXFM_LISP not set - submodules could not be loaded!",
"vfc-linienzug-modus-header": "\n\nSelect line-path mode:",
"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-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)",
"vfs-schritt6-horizontal": "\n\n6/11: Horizontal intermediate section (0 deg, L=%1 mm)",
"vfs-schritt6-steigung": "\n\n6/11: Incline section (%1 deg, L=%2 mm)",
"vfs-schritt6-gefaelle": "\n\n6/11: Slope section (%1 deg, L=%2 mm)",
"vfs-schritt6-skip": "\n\n6/11: (skipped)",
"vfs-schritt7-bogen1": "\n\n7/11: %1 (3 deg inclined)",
"vfs-schritt7-bogen-winkel": "\n\n7/11: %1 (%2 deg inclined)",
"vfs-ausgang-motorstation": "\n\n[VF-Ausgang] Motor station (500 mm, 3 deg inclined)",
"vfs-ausgang-gf2": "\n[VF-Ausgang] Slope section GF2 (3 deg, L=%1 mm)",
"vfs-ausgang-gf2-skip": "\n[VF-Ausgang] GF2 (none / skipped)",
"vfs-ausgang-separator": "\n[VF-Ausgang] Separator (300 mm, 3 deg inclined)",
"vfs-schritt11-es": "\n\n11/11: %1 (hz=%2%3)",
"vfs-eingefuegt": "\n>>> Standard VarioFoerderer inserted!",
"vfs-nachruesten-titel": "\n=== Retrofit existing VF blocks (SSG_VF_EDIT marker) ===",
"vfs-nachruesten-keine-bloecke": "\nNo VF_n blocks selected - cancelled.",
"vfs-nachruesten-bereits-markiert": "\n %1: already marked (%2) - skipped",
"vfs-nachruesten-erkannt": "\n %1: recognised as type '%2'",
"vfs-nachruesten-prompt-hz": "\n Build direction hz in degrees [%1]: ",
"vfs-nachruesten-markiert": " -> marked (hz=%1)",
"vfs-nachruesten-fertig": "\n=== Done: %1 marked, %2 skipped ===",
"vfe-step9-bogen": "\n\n9/15: %1 (%2 deg inclined)",
"vfe-step10": "\n\n10/15: Motor station (500mm, 3 deg inclined)",
"vfe-step11-gf2": "\n\n11/15: Slope section (3 deg, L=%1 mm)",
"vfe-step11-skip": "\n\n11/15: L_GF2 (skipped)",
"vfe-step12": "\n\n12/15: %1 (end, chained cur-hz=%2)",
"vfe-step13": "\n\n13/15: Buffer section (variable L=%1, cur-hz=%2)",
"vfe-step14": "\n\n14/15: Separator (300mm, cur-hz=%1)",
"vfe-step15": "\n\n15/15: %1 (end, chained cur-hz=%2)",
"vfe-eingefuegt": "\n>>> Etage VarioFoerderer inserted! <<<",
"vfl-vwnb-titel": "\n VF LINE PATH - Mode 3: 3D objects step by step (forward reconstruction, work in progress)",
"vfl-vwnb-aus-seite-menu": "\n\nOUT element - select side:\n 1 - Left\n 2 - Right",
"vfl-vwnb-alert-eckwinkel": "No matching arc: corner angle %1 deg is not ~30/60/90.\nPlease adjust the angles of the lines.",
"vfl-vwnb-alert-keine-gerade": "Path contains no straight - a chain must begin with a straight.",
"vfl-vwnb-typ-gerade": "\n Type? 1 = GF (<=3 deg) 2 = VF-down 3 = VF-up 4 = VF-horizontal",
"vfl-vwnb-prompt-vario-winkel": "\n Vario angle (3..51 deg) [3]: ",
"vfl-vwnb-kurve-nur-vf": "\n >>> Vario curve only allowed within a VF run - skipped.",
"vfl-vwnb-eingefuegt": "\n>>> VF line path (mode 2, GF+VF) inserted! <<<",
"vfl-vwnb-soll-ende": "\n Target end (path): X=%1 Y=%2",
"vfl-vwnb-ist-ende": "\n Actual end (ES): X=%1 Y=%2 Z=%3",
"vfl-vwnb-abweichung-xy": "\n Deviation XY: dX=%1 dY=%2 mm",
"vfl-m3-as-nein": "\n 2 - No (chain starts directly at the start point)",
"vfl-kette-diag-startbaustein": "\n [Diagnose] KS_AUS start block (%1): X=%2 Y=%3 Z=%4",
"vfl-kette-diag-naechster-kandidat": "\n [Diagnose] Next candidate: %1 distance=%2 mm (tolerance tight=%3 mm, wide=%4 mm)",
"vfl-kette-diag-kein-anderer": "\n [Diagnose] No other block with KS_EIN found (%1 blocks captured in total).",
"vfl-kette-diag-verdaechtig": "\n [Diagnose] SUSPICIOUS: '%1' -> '%2' distance=%3 mm (within tolerance, but not ~0)"
} }
} }