feat: Konsolen-Echo fuer Endpunkt (X/Y) + Zielhoehe nach Eingabe
Nach jedem Endpunkt-Pick + Zielhoehe-Eingabe (Neue Linie: GF Zweig A, Linie-VF, Neue Linie BIS Kettenende) wird jetzt der absolute Endpunkt (X/Y, aus deltaL/hz-neu zurueckgerechnet) sowie die eingegebene Zielhoehe und das daraus resultierende (noch UNREDUZIERTE) deltaH auf der Konsole ausgegeben - vorher war z.B. bei "Neue Linie BIS Kettenende" nur das bereits um den Separator+ES-Footprint reduzierte deltaH sichtbar, was wie ein Rechenfehler wirken konnte. Neuer Helfer: vfl-echo-endpunkt-hoehe. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
0f1c7d2edf
commit
38ee74ed3e
@@ -2704,6 +2704,25 @@
|
||||
(princ)
|
||||
)
|
||||
|
||||
;; Konsolen-Echo nach Endpunkt-Pick + Zielhoehe-Eingabe: zeigt den absoluten
|
||||
;; Endpunkt (X/Y, aus p-aktuell + deltaL entlang hz-neu zurueckgerechnet - nur
|
||||
;; deltaL/hz werden journalisiert, siehe vfl-in-abstand) sowie die eingegebene
|
||||
;; Zielhoehe UND das daraus resultierende deltaH VOR jeder spaeteren
|
||||
;; Footprint-Reduktion (Separator/ES bei linie-ende-modus) - damit am
|
||||
;; Bildschirm nachvollziehbar bleibt, welcher Rohwert in eine spaeter
|
||||
;; angezeigte, ggf. reduzierte Zahl eingeht (sonst wirkt ein reduzierter Wert
|
||||
;; wie ein Rechenfehler statt wie eine bewusste Reservierung).
|
||||
(defun vfl-echo-endpunkt-hoehe (p-aktuell deltaL hz-neu hoehe-neu deltaH richtung / rad ex ey)
|
||||
(setq rad (* (float hz-neu) (/ pi 180.0)))
|
||||
(setq ex (+ (car p-aktuell) (* deltaL (cos rad))))
|
||||
(setq ey (+ (cadr p-aktuell) (* deltaL (sin rad))))
|
||||
(princ (ssg-textf "vfl-echo-endpunkt-hoehe"
|
||||
(list (rtos ex 2 1) (rtos ey 2 1) (rtos deltaL 2 0) (rtos hz-neu 2 1)
|
||||
(rtos hoehe-neu 2 1) (rtos (caddr p-aktuell) 2 1)
|
||||
(rtos deltaH 2 1) richtung)))
|
||||
(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
|
||||
@@ -5513,6 +5532,7 @@
|
||||
(setq deltaH (- hoehe-neu (caddr p-aktuell)))
|
||||
(setq richtung (if (>= deltaH 0.0) "Auf" "Ab"))
|
||||
(setq deltaH (abs deltaH))
|
||||
(vfl-echo-endpunkt-hoehe p-aktuell deltaL hz-neu hoehe-neu deltaH richtung)
|
||||
(if (> sep-anzahl 0)
|
||||
(setq deltaH (max 0.0 (- deltaH (* sep-anzahl *vfk-separator-laenge* (sin rad3))))))
|
||||
(cond
|
||||
@@ -5734,6 +5754,7 @@
|
||||
(setq deltaH (- hoehe-neu (caddr p-aktuell)))
|
||||
(setq richtung (if (>= deltaH 0.0) "Auf" "Ab"))
|
||||
(setq deltaH (abs deltaH))
|
||||
(vfl-echo-endpunkt-hoehe p-aktuell deltaL hz-neu hoehe-neu deltaH richtung)
|
||||
(setq entscheidung (vfl-vf-entscheidung deltaL deltaH richtung))
|
||||
(setq typ (nth 0 entscheidung) winkel (nth 1 entscheidung)
|
||||
L_GF (nth 2 entscheidung) L_VF (nth 3 entscheidung))
|
||||
@@ -5876,6 +5897,7 @@
|
||||
(setq deltaH (- hoehe-neu (caddr p-aktuell)))
|
||||
(setq richtung (if (>= deltaH 0.0) "Auf" "Ab"))
|
||||
(setq deltaH (abs deltaH))
|
||||
(vfl-echo-endpunkt-hoehe p-aktuell deltaL hz-neu hoehe-neu deltaH richtung)
|
||||
;; Kettenende-Modus (Option 4): Der abgefragte Endpunkt (XY+Z)
|
||||
;; ist das exakte Ende der Kette NACH Separator + ES-Element.
|
||||
;; Deren Footprint (Separator 300 mm bei ~3 Grad + ES-Element
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
"vfl-alert-segment-nicht-baubar": "Segment geometrisch nicht baubar!\ndeltaL=%1 mm, deltaH=%2 mm, Richtung=%3\nBitte anderen Endpunkt/Hoehe waehlen.",
|
||||
"vfl-info-kurzes-segment": "\n>>> Kurzes Segment (deltaL=%1 mm < 1000): automatisch 3-Grad-Gefaellestrecke (keine Hoehenabfrage, deltaH=%2 mm).",
|
||||
"vfl-info-kettenende-footprint": "\n>>> Kettenende-Modus: Footprint fuer Separator + ES reserviert -> baubar deltaL=%1 mm, deltaH=%2 mm.",
|
||||
"vfl-echo-endpunkt-hoehe": "\n>>> Endpunkt gewaehlt: X=%1 Y=%2 (deltaL=%3 mm, Richtung=%4 Grad)\n>>> Zielhoehe eingegeben: %5 mm (aktuell %6 mm, deltaH=%7 mm %8)",
|
||||
"vfl-kette-eingefuegt": "\n>>> VF-Linienzug-Kette eingefuegt! <<<",
|
||||
"vfl-info-as-eingefuegt": "\n>>> AS-Element eingefuegt - reale Restlaenge: deltaL=%1 mm.",
|
||||
"vfl-info-kein-as": "\n>>> Kein AS-Element - Kette beginnt direkt am Startpunkt.",
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
"vfl-alert-segment-nicht-baubar": "Segment geometrically not buildable!\ndeltaL=%1 mm, deltaH=%2 mm, direction=%3\nPlease pick another end point/height.",
|
||||
"vfl-info-kurzes-segment": "\n>>> Short segment (deltaL=%1 mm < 1000): automatic 3-degree gravity section (no height query, deltaH=%2 mm).",
|
||||
"vfl-info-kettenende-footprint": "\n>>> Chain-end mode: footprint for separator + ES reserved -> buildable deltaL=%1 mm, deltaH=%2 mm.",
|
||||
"vfl-echo-endpunkt-hoehe": "\n>>> End point picked: X=%1 Y=%2 (deltaL=%3 mm, direction=%4 deg)\n>>> Target height entered: %5 mm (currently %6 mm, deltaH=%7 mm %8)",
|
||||
"vfl-kette-eingefuegt": "\n>>> VF chain inserted! <<<",
|
||||
"vfl-info-as-eingefuegt": "\n>>> AS element inserted - actual remaining length: deltaL=%1 mm.",
|
||||
"vfl-info-kein-as": "\n>>> No AS element - chain starts directly at the start point.",
|
||||
|
||||
Reference in New Issue
Block a user