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 <noreply@anthropic.com>
This commit is contained in:
1 parent
0d9ec93623
commit
1b49bd3c3b
15 files changed
+1410
-111
No files matched your search
+39
-2
@@ -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)",
|
||||
|
||||
+39
-2
@@ -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)",
|
||||
|
||||
Reference in new issue
Block a user