Files
dxfmakros/dcl/gefaellestrecke.dcl
T
m.stangl a9cdc127d9 [CHANGE] GEFAELLESTRECKE_LINIENZUG: AS/ES-Auswahl und Gefaellewinkel per Dialog statt Konsole (Teil B der GUI-Umstellung)
Zwei neue Dialoge (dcl/gefaellestrecke.dcl, Lisp/Gefaellestrecke.lsp):
- gf-dialog-linienzug-aus-ein: AUS-/EIN-Element Winkel+Seite in EINEM Dialog, ersetzt die vier fruehen Konsolenfragen. Muss vor der Segmentlaengen-/Winkelberechnung laufen (haengt von AS-/ES-Masse ab), darum eigener, fruehzeitiger Dialog.
- gf-dialog-linienzug-winkel: zeigt den automatisch aus der Segmentkette berechneten Gefaellewinkel-Vorschlag ueberschreibbar, mit kurzer Segment-Zusammenfassung und dem bereits gewaehlten AS/ES-Paar nur noch zur Kontrolle (disabled). Ersetzt zugleich die SPAETERE finale Einfuegen-Bestaetigung - nach der rein automatischen AS/ES-Korrekturschleife waere eine zweite Rueckfrage redundant.

Objektauswahl (ssget LINE/ARC) und Start-/Endpunktwahl bleiben bewusst Zeichnung/Konsole. Rueckfall auf die alten Konsolenfragen bleibt erhalten, wenn ein Dialog nicht gezeigt werden kann/darf (GUI aus); ein bewusster Dialog-Abbruch bricht dagegen den ganzen Befehl ab statt auf Konsole zurueckzufallen - neu im Vergleich zum alten Verhalten, aber konsistent mit vfc_eingabemodus/vfs_nachruesten_hz aus Teil A/C.

doc/variofoerderer.md (Abschnitt 4) aktualisiert und um einen bebilderten Beispiel-Walkthrough ergaenzt (gf-linienzug1-3.png: Ausgangslinie, Dialog mit Vorschlagswinkel, fertige Strecke neben der Original-Linie).

Manuell in BricsCAD getestet (vollstaendiger Lauf inkl. Abbruch in beiden Dialogen) - laeuft.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-09 12:22:53 +02:00

180 lines
4.1 KiB
Plaintext

// ============================================================
// gefaellestrecke.dcl - Gefaellestrecke Parameter-Eingabe
// Parametrische Eingabe fuer die einfache Gefaellestrecke
// (Modus 1 - Manuell) analog zum Kreisel-Dialog, ergaenzt um
// die Angabe der Einfuegehoehe.
// Eingaben entsprechen dem interaktiven Skript Gefaellestrecke.lsp:
// Abstand deltaL, Gefaellewinkel, Fahrtrichtung,
// Seite AUS-Element, Seite EIN-Element.
//
// gefaellestrecke_linienzug: Modus 3 (aus Linienzug LINE+ARC) - ersetzt die
// Konsolenfragen AUS-/EIN-Element Winkel+Seite, Winkelbestaetigung und die
// finale Einfuegen-Bestaetigung in EINEM Dialog (gf-dialog-linienzug in
// Gefaellestrecke.lsp). Die Objektauswahl (ssget LINE/ARC) UND die
// Start-/Endpunktwahl bleiben davor Zeichnung/Konsole - der automatisch
// berechnete Vorschlagswinkel wird als Vorbelegung des Winkel-Feldes
// gezeigt, mit einer kurzen Zusammenfassung der Segmentanalyse darueber.
// ============================================================
gefaellestrecke : dialog {
label = "Gefaellestrecke erstellen";
: column {
: boxed_column {
label = "Geometrie";
: row {
: edit_box {
key = "deltal";
label = "Abstand deltaL (mm):";
edit_width = 10;
}
: edit_box {
key = "einfuegehoehe";
label = "Einfuegehoehe (mm):";
edit_width = 10;
}
}
: edit_box {
key = "winkel";
label = "Gefaellewinkel (Grad):";
edit_width = 10;
}
}
: boxed_column {
label = "Ausrichtung";
: popup_list {
key = "fahrtrichtung";
label = "Fahrtrichtung:";
width = 30;
}
: popup_list {
key = "dimension";
label = "Darstellung (2D/3D):";
width = 20;
}
}
: boxed_row {
label = "AUS-Element";
: popup_list {
key = "aus_winkel";
label = "Winkel:";
width = 12;
}
: popup_list {
key = "aus_seite";
label = "Seite:";
width = 14;
}
}
: boxed_row {
label = "EIN-Element";
: popup_list {
key = "ein_winkel";
label = "Winkel:";
width = 12;
}
: popup_list {
key = "ein_seite";
label = "Seite:";
width = 14;
}
}
: boxed_column {
label = "VarioFoerderer (parallel, gegenlaeufig, steigend)";
: button {
key = "build_vf";
label = "VarioFoerderer daneben bauen (2000 mm)";
}
}
: boxed_column {
label = "Geruest";
: toggle {
key = "geruest_einzelmodul";
label = "Geruest fuer Einzelmodul";
}
: popup_list {
key = "geruest_typ";
label = "Geruestoption:";
width = 30;
}
}
}
ok_cancel;
}
// Modus 3 (aus Linienzug): AUS-/EIN-Element Winkel+Seite, Gefaellewinkel
// (Vorschlag vorbelegt, ueberschreibbar) und eine kurze Zusammenfassung der
// automatisch analysierten Segmentkette. "zusammenfassung" wird per
// set_tile aus mehreren ssg-textf-Zeilen zusammengesetzt (gf-dialog-
// linienzug, Gefaellestrecke.lsp) - sprachunabhaengig, nur das Label-Chrome
// bleibt hart deutsch wie der Rest dieser Datei.
gefaellestrecke_linienzug : dialog {
label = "Gefaellestrecke aus Linienzug";
: column {
: boxed_column {
label = "Segmentanalyse";
: text { key = "zusammenfassung"; label = ""; width = 55; }
}
: boxed_row {
label = "AUS-Element";
: popup_list {
key = "aus_winkel";
label = "Winkel:";
width = 12;
}
: popup_list {
key = "aus_seite";
label = "Seite:";
width = 14;
}
}
: boxed_row {
label = "EIN-Element";
: popup_list {
key = "ein_winkel";
label = "Winkel:";
width = 12;
}
: popup_list {
key = "ein_seite";
label = "Seite:";
width = 14;
}
}
: boxed_column {
label = "Gefaellewinkel";
: edit_box {
key = "winkel";
label = "Gefaellewinkel (Grad):";
edit_width = 10;
}
}
}
ok_cancel;
}