57bb1e9057
Neuer Dialog vfs_nachruesten_hz (dcl/variofoerderer.dcl) + vfs-dialog-nachruesten-hz (Lisp/vf_standard.lsp) ersetzt den fruehren getreal-Prompt. Zeigt pro unmarkiertem VF_n-Fund Blockname/erkannten Typ und ein hz-Feld, vorbelegt mit dem zuletzt eingegebenen Wert (identisches Default-Fortpflanzungs-Verhalten wie vorher). "Abbrechen" im Dialog uebernimmt bewusst nur den Vorgabewert fuer DIESEN Fund (Rueckgabe 'ABBRUCH), statt die ganze Nachruesten-Schleife abzubrechen oder auf die Konsole zurueckzufallen - echter Konsolen-Rueckfall bleibt ausschliesslich fuer den Fall, dass der Dialog gar nicht gezeigt werden kann (GUI abgeschaltet). Die Objektauswahl (ssget) selbst bleibt unveraendert Zeichnung/Konsole. doc/variofoerderer.md um den Befehl ergaenzt (war dort bisher gar nicht erwaehnt). Manuell in BricsCAD getestet (unmarkierter VF_4-Block, Dialog erscheint, hz=0 markiert) - laeuft. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
296 lines
9.8 KiB
Plaintext
296 lines
9.8 KiB
Plaintext
// ============================================================
|
|
// variofoerderer.dcl - VarioFoerderer Parameter-Eingabe
|
|
// Dialoge fuer c:VarioFoerderer (vf_core.lsp):
|
|
// vfc_typ: Anlagen-Typ waehlen (Standard/Etage/Linienzug) - ersetzt die
|
|
// Konsolen-Liste am Befehlsanfang. Radio-Buttons statt Dropdown, daher
|
|
// Labels FEST auf Deutsch.
|
|
// vfc_startpunkt: Startpunkt der Anlage picken (Punktwahl-Button +
|
|
// X/Y/Z-Anzeige) - ersetzt den reinen Konsolen-getpoint fuer
|
|
// Standard UND Etage (vfc-dialog-startpunkt-waehlen, vf_core.lsp).
|
|
// variofoerderer_basis/variofoerderer_winkel: Popup-Fallback-Varianten
|
|
// der Werteingabe (deltaL, deltaH, Foerderrichtung, Einfuegehoehe,
|
|
// Fahrtrichtung, Seite, Motorseite, Dimension, Geruest, Winkel,
|
|
// GF-Verteilung) - gemeinsam genutzt von Standard UND Etage. Die
|
|
// bevorzugte Variante (vfs_basis_dyn) wird zur Laufzeit generiert
|
|
// (vfs-dialog-eingabe-basis-radio in vf_standard.lsp) und steht NICHT
|
|
// in dieser Datei - NUR "Seite", "Motorseite" und "Geruestoption"
|
|
// bleiben dort Radio-Button-Gruppen (sofort sichtbare Optionen), alle
|
|
// anderen Felder sind Comboboxen wie hier. variofoerderer_basis hier
|
|
// ist nur noch der Fallback, falls das Schreiben/Laden der Temp-DCL
|
|
// mal scheitert. variofoerderer_winkel (Winkel/Verteilung) hat KEINE
|
|
// generierte Variante mehr und wird direkt verwendet (komplett
|
|
// Combobox, siehe vfs-dialog-winkel-verteilung in vf_standard.lsp).
|
|
// vfc_eingabemodus: Eingabemodus (3D-Linie / Werte manuell) waehlen -
|
|
// ersetzt die Konsolen-Abfrage am Anfang von vf-dialog-ablauf fuer
|
|
// Standard UND Etage (vfc-dialog-eingabemodus-waehlen, vf_core.lsp).
|
|
// Die 3D-Linie SELBST (Objektauswahl) bleibt danach Zeichnung/Konsole
|
|
// (get-line-start-end-points) - eine Linie laesst sich nicht durch ein
|
|
// Formularfeld ersetzen; alle abgeleiteten Werte (deltaL/deltaH/hz/
|
|
// Einfuegehoehe) landen danach als Prefill im bestehenden Basis-Dialog
|
|
// (variofoerderer_basis), der sie ganz normal ueberschreibbar anzeigt.
|
|
// Der Etage-Typ und die Linienzug-Kette selbst bleiben interaktiv
|
|
// (Kommandozeile bzw. eigener Wizard in vf_linienzug_wizard.dcl). Der
|
|
// Linienzug-Modus (1/2/3/4/5) wird seit den Menue-Wrappern
|
|
// c:LinienzugVarioFoerderer*/c:QcLinieMitGf* nicht mehr per Dialog erfragt,
|
|
// sondern ist je Menuepunkt fest vorbelegt - der frueher hier gefuehrte
|
|
// Dialog vfc_linienzug_modus ist dadurch entfallen.
|
|
//
|
|
// Dialog fuer c:VARIOFOERDERER_NACHRUESTEN (vf_standard.lsp):
|
|
// vfs_nachruesten_hz: Baurichtung (hz) je unmarkiertem VF_n-Fund abfragen
|
|
// - ersetzt den fruehren getreal-Prompt. Die Objektauswahl selbst
|
|
// (ssget) bleibt Zeichnung/Konsole; je Fund OHNE SSG_VF_EDIT-Marker
|
|
// zeigt der Befehl diesen Dialog einmal, mit dem zuletzt eingegebenen
|
|
// Wert als Vorgabe (vfs-dialog-nachruesten-hz in vf_standard.lsp).
|
|
// "Abbrechen" uebernimmt fuer diesen Fund den Vorgabewert, OHNE auf die
|
|
// alte Konsolenfrage zurueckzufallen (die bleibt reiner Rueckfall fuer
|
|
// den Fall, dass der Dialog gar nicht gezeigt werden kann/darf).
|
|
// ============================================================
|
|
|
|
// Anlagen-Typ waehlen (Standard/Etage/Linienzug). Radio-Buttons statt
|
|
// Dropdown - alle Optionen sofort sichtbar. WICHTIG: Labels sind hier FEST
|
|
// einprogrammiert (Deutsch) und NICHT wie bei popup_list zur Laufzeit aus
|
|
// ssg-text befuellbar (set_tile kann das Label eines radio_button nicht
|
|
// setzen, nur den Zustand - siehe auch dcl/vfl_edit_modus.dcl). Bei
|
|
// aktivem Englisch (DXFM_LANG=en_GB) faellt vfc-dialog-typ-waehlen in
|
|
// vf_core.lsp automatisch auf die alte, vollstaendig uebersetzte
|
|
// Konsolen-Liste zurueck (siehe dortiger Kommentar).
|
|
vfc_typ : dialog {
|
|
label = "VarioFoerderer - Anlagen-Typ";
|
|
|
|
: boxed_radio_column {
|
|
label = "Anlagen-Typ waehlen:";
|
|
key = "typ";
|
|
|
|
: radio_button {
|
|
key = "typ_standard";
|
|
label = "Standard VarioFoerderer (AS/ES 90 Grad, horizontal versetzt)";
|
|
value = "1";
|
|
}
|
|
: radio_button {
|
|
key = "typ_etage";
|
|
label = "Etage VarioFoerderer (AS/ES 30 Grad, direkt uebereinander)";
|
|
}
|
|
: radio_button {
|
|
key = "typ_linienzug";
|
|
label = "Streckengruppe (gemischte GF/VF-Kette)";
|
|
}
|
|
}
|
|
|
|
// 3-Button-Zeile wie im Linienzug-Wizard (dcl/vf_linienzug_wizard.dcl):
|
|
// Zurueck(2)/Ok Weiter(1)/Abbrechen(0). "Zurueck" hat hier nichts, wohin es
|
|
// zurueckspringen koennte (erste Frage der gesamten Anlage) - vf_core.lsp
|
|
// zeigt in diesem Fall einfach denselben Dialog erneut.
|
|
: 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; }
|
|
}
|
|
}
|
|
|
|
// Eingabemodus waehlen (3D-Linie / Werte manuell) - Radio-Buttons, gleiches
|
|
// Muster und dieselbe Sprach-/GUI-Einschraenkung wie vfc_typ oben (Labels
|
|
// hart deutsch, Rueckfall auf Konsolen-Liste bei DXFM_LANG=en_GB oder
|
|
// abgeschalteter GUI - siehe vfc-dialog-eingabemodus-waehlen, vf_core.lsp).
|
|
vfc_eingabemodus : dialog {
|
|
label = "VarioFoerderer - Eingabemodus";
|
|
|
|
: boxed_radio_column {
|
|
label = "Eingabemodus waehlen:";
|
|
key = "modus";
|
|
|
|
: radio_button {
|
|
key = "modus_3dlinie";
|
|
label = "3D-Linie auswaehlen (Start- und Endpunkt mit Hoehe)";
|
|
value = "1";
|
|
}
|
|
: radio_button {
|
|
key = "modus_werte";
|
|
label = "Werte manuell eingeben";
|
|
}
|
|
}
|
|
|
|
: row {
|
|
alignment = centered;
|
|
: 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; }
|
|
}
|
|
}
|
|
|
|
// Startpunkt der Anlage waehlen - Punktwahl-Button + Anzeige, analog
|
|
// vflw_punkt_zahl (dcl/vf_linienzug_wizard.dcl): der Button schliesst den
|
|
// Dialog (done_dialog 2), DANACH laeuft getpoint auf der Kommandozeile
|
|
// (aus einem action_tile-Callback heraus funktioniert getpoint in BricsCAD
|
|
// nicht), der Dialog wird danach mit der Anzeige erneut aufgebaut. "kopf"
|
|
// und "pt_anzeige" werden per set_tile aus ssg-text befuellt (siehe
|
|
// vfc-dialog-startpunkt-waehlen, vf_core.lsp) - deshalb sprachunabhaengig
|
|
// nutzbar. Button-Chrome bleibt hart deutsch, wie im Rest dieser Datei.
|
|
vfc_startpunkt : dialog {
|
|
label = "VarioFoerderer - Startpunkt";
|
|
|
|
: column {
|
|
: text {
|
|
key = "kopf";
|
|
label = "";
|
|
width = 50;
|
|
}
|
|
: row {
|
|
: button {
|
|
key = "pick";
|
|
label = "Punkt waehlen...";
|
|
fixed_width = true;
|
|
width = 18;
|
|
}
|
|
: text {
|
|
key = "pt_anzeige";
|
|
label = "(kein Punkt gewaehlt)";
|
|
}
|
|
}
|
|
}
|
|
|
|
: row {
|
|
alignment = centered;
|
|
: 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; }
|
|
}
|
|
}
|
|
|
|
variofoerderer_basis : dialog {
|
|
label = "VarioFoerderer (Standard) - Eingabe";
|
|
|
|
: column {
|
|
|
|
: boxed_column {
|
|
label = "Geometrie";
|
|
|
|
: row {
|
|
: edit_box {
|
|
key = "deltal";
|
|
label = "Horizontale Distanz deltaL (mm):";
|
|
edit_width = 10;
|
|
}
|
|
: popup_list {
|
|
key = "richtung";
|
|
label = "Foerderrichtung:";
|
|
width = 16;
|
|
}
|
|
}
|
|
|
|
: row {
|
|
: edit_box {
|
|
key = "einfuegehoehe";
|
|
label = "Einfuegehoehe (mm):";
|
|
edit_width = 10;
|
|
}
|
|
: edit_box {
|
|
key = "deltah";
|
|
label = "Hoehenunterschied deltaH (mm):";
|
|
edit_width = 10;
|
|
}
|
|
}
|
|
}
|
|
|
|
: boxed_column {
|
|
label = "Ausrichtung";
|
|
|
|
: popup_list {
|
|
key = "fahrtrichtung";
|
|
label = "Fahrtrichtung:";
|
|
width = 30;
|
|
}
|
|
: row {
|
|
: popup_list {
|
|
key = "seite";
|
|
label = "Seite:";
|
|
width = 16;
|
|
}
|
|
: popup_list {
|
|
key = "motorseite";
|
|
label = "Motorseite:";
|
|
width = 16;
|
|
}
|
|
}
|
|
: popup_list {
|
|
key = "dimension";
|
|
label = "Darstellung (2D/3D):";
|
|
width = 20;
|
|
}
|
|
}
|
|
|
|
: boxed_column {
|
|
label = "Geruest";
|
|
|
|
: toggle {
|
|
key = "geruest_einzelmodul";
|
|
label = "Geruest fuer Einzelmodul";
|
|
}
|
|
: popup_list {
|
|
key = "geruest_typ";
|
|
label = "Geruestoption:";
|
|
width = 30;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
ok_cancel;
|
|
}
|
|
|
|
variofoerderer_winkel : dialog {
|
|
label = "VarioFoerderer (Standard) - Winkel / Verteilung";
|
|
|
|
: column {
|
|
|
|
: popup_list {
|
|
key = "winkel";
|
|
label = "Winkel:";
|
|
width = 45;
|
|
}
|
|
|
|
: boxed_column {
|
|
label = "Verteilung Gefaellestrecken (vorne/hinten)";
|
|
|
|
: popup_list {
|
|
key = "verteilung";
|
|
label = "Modus:";
|
|
width = 35;
|
|
}
|
|
: edit_box {
|
|
key = "lgf1_manuell";
|
|
label = "L_GF1 vorne (mm):";
|
|
edit_width = 10;
|
|
is_enabled = false;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
ok_cancel;
|
|
}
|
|
|
|
// Baurichtung (hz) je unmarkiertem VF_n-Fund abfragen (VARIOFOERDERER_
|
|
// NACHRUESTEN). "kopf" per set_tile aus ssg-text befuellt (Blockname +
|
|
// erkannter Typ), deshalb sprachunabhaengig nutzbar - Button-Chrome bleibt
|
|
// hart deutsch wie der Rest dieser Datei. "Abbrechen" bricht nur den
|
|
// aktuellen Fund ab: der vorbelegte default-hz wird fuer DIESEN Fund
|
|
// uebernommen (Aufrufer sieht 'ABBRUCH, kein Rueckfall auf die Konsole) -
|
|
// die ganze Nachruesten-Schleife laeuft weiter, kein Gesamtabbruch.
|
|
vfs_nachruesten_hz : dialog {
|
|
label = "VarioFoerderer nachruesten - Baurichtung";
|
|
|
|
: column {
|
|
: text { key = "kopf"; label = ""; width = 50; }
|
|
: edit_box {
|
|
key = "hz";
|
|
label = "Baurichtung hz (Grad):";
|
|
edit_width = 10;
|
|
}
|
|
}
|
|
|
|
ok_cancel;
|
|
}
|