Wizard mit Oberflächenstückwerk für den Mode 3 für den VF gebaut
This commit is contained in:
@@ -93,7 +93,7 @@ Detaillierte Dokumentation aller Funktionen und Befehle: siehe `Lisp/README.md`.
|
||||
| `ssg_dialog.lsp` | - | DCL-Dialog-Vorlagen und Hilfsfunktionen |
|
||||
| `ssg_layer.lsp` | - | Layer-Verwaltung |
|
||||
| `KreiselInsert.lsp` | KreiselInsert, KreiselConnect, KreiselRedraw, KreiselQuick, KreiselEdit, KreiselParams, KreiselLabelSetup, KreiselLabelPos, KreiselLabelHoehe, ILS_Eckrad | ILS Kreisel und Eckrad komplett in AutoLISP |
|
||||
| `VarioFoerderer.lsp` (Wrapper fuer `vf_core.lsp`/`vf_standard.lsp`/`vf_etage.lsp`/`vf_linienzug.lsp`) | FOERDERANLAGE, VARIOFOERDERER_EDIT, VARIOFOERDERER_NACHRUESTEN, Vario_Kette_Merge | Vario-Foerderanlagen Generator (Typen Standard/Etage/Linienzug); Standard- UND Etage-Typ: Werteingabe per DCL-Dialog (`vfs-standard-dialog-ablauf` in vf_standard.lsp bzw. `vfe-etage-dialog-ablauf` in vf_etage.lsp, beide nutzen dieselben Dialoge `vfs-dialog-eingabe-basis`/`vfs-dialog-winkel-verteilung`); Doppelklick auf VF_n-Block ruft VARIOFOERDERER_EDIT, das per SSG_VF_EDIT-XDATA-Marker ("standard"/"etage"/"linienzug") in den passenden Neuaufbau-Zweig dispatcht (`vfe-edit-ent` fuer Etage, `vfl-edit-ent` fuer Linienzug); Altbestand-Bloecke ohne Marker werden abgewiesen. Linienzug (Modus 1, `vf-linienzug-modus`) zeichnet jede interaktive Eingabe in einem Journal auf (`vfl-in-point`/`-string`/`-real`/`-int`) und schreibt es als XDATA auf den fertigen `VF_n`-Block; ein Abbruch (ESC) loescht dadurch nichts mehr, sondern wickelt die bis dahin gebaute Teil-Geometrie ebenso zu einem Block (`vfl-modus-abbruch-sichern`) - sie bleibt stehen und ist sofort per Doppelklick weiter editierbar/fortsetzbar. `vfl-edit-ent` liest das Journal, zeigt die Sektionen ueber einen DCL-Dialog (`vfl-dlg-position`, `dcl/vfl_edit.dcl`) an, kuerzt bei Bedarf auf eine gewaehlte Sektion (stummer Replay der behaltenen Eingaben) und baut danach interaktiv weiter; `Vario_Kette_Merge` (in vf_linienzug.lsp) fuehrt mehrere einzeln gebaute VF_n-Bloecke ab einem gewaehlten Start-Baustein ueber die reale KS_AUS->KS_EIN-Nachbarschaft zu einem Gesamt-Block zusammen (aggregierte Attribute, Luecken-Erkennung) |
|
||||
| `VarioFoerderer.lsp` (Wrapper fuer `vf_core.lsp`/`vf_standard.lsp`/`vf_etage.lsp`/`vf_linienzug.lsp`) | FOERDERANLAGE, VARIOFOERDERER_EDIT, VARIOFOERDERER_NACHRUESTEN, Vario_Kette_Merge, VF_WIZARD_AN, VF_WIZARD_AUS | Vario-Foerderanlagen Generator (Typen Standard/Etage/Linienzug); Standard- UND Etage-Typ: Werteingabe per DCL-Dialog (`vfs-standard-dialog-ablauf` in vf_standard.lsp bzw. `vfe-etage-dialog-ablauf` in vf_etage.lsp, beide nutzen dieselben Dialoge `vfs-dialog-eingabe-basis`/`vfs-dialog-winkel-verteilung`); Doppelklick auf VF_n-Block ruft VARIOFOERDERER_EDIT, das per SSG_VF_EDIT-XDATA-Marker ("standard"/"etage"/"linienzug") in den passenden Neuaufbau-Zweig dispatcht (`vfe-edit-ent` fuer Etage, `vfl-edit-ent` fuer Linienzug); Altbestand-Bloecke ohne Marker werden abgewiesen. Linienzug (Modus 1, `vf-linienzug-modus`) zeichnet jede interaktive Eingabe in einem Journal auf (`vfl-in-point`/`-string`/`-real`/`-int`) und schreibt es als XDATA auf den fertigen `VF_n`-Block; ein Abbruch (ESC) loescht dadurch nichts mehr, sondern wickelt die bis dahin gebaute Teil-Geometrie ebenso zu einem Block (`vfl-modus-abbruch-sichern`) - sie bleibt stehen und ist sofort per Doppelklick weiter editierbar/fortsetzbar. Der komplette Linienzug-Hauptstrang (Menue-Fragen von AS-Element bis Kettenende, inkl. GF-Bogen/Vario-Kurve/VF-Einheit-Fortsetzung) laeuft per Default ueber DCL-Dialoge statt Konsole (`*vfl-wizard-mode*`, Befehle VF_WIZARD_AN/VF_WIZARD_AUS): `vfl-in-string`/`-int`/`-real` zeigen bei aktivem Wizard-Modus generische Dialoge aus `dcl/vf_linienzug_wizard.dcl` (Zahl-Eingabe bzw. Mehrfachauswahl aus `vfl-menu`/`vfl-menu-int`) statt `getstring`/`getint`/`getreal` aufzurufen; die ORIGINALEN Konsolen-Fragen (princ + get*, de/en ueber ssg-text) bleiben unveraendert im Code (Fallback bei Fehlern via `vl-catch-all-apply`, siehe `doc/variofoerderer.md`). `vfl-edit-ent` liest das Journal, zeigt die Sektionen ueber einen DCL-Dialog (`vfl-dlg-position`, `dcl/vfl_edit.dcl`) an, kuerzt bei Bedarf auf eine gewaehlte Sektion (stummer Replay der behaltenen Eingaben, umgeht den Wizard-Zweig komplett) und baut danach interaktiv weiter. Linienzug Modus 2 (Pfad+Zielhoehe-Solver, `vf-linienzug-modus2`) nutzt dieselben Wrapper PLUS die neue Objektauswahl-Wrapper-Funktion `vfl-in-selection` (Pfad-Objekte als stabile Entity-Handles journalisiert, neue Journal-Art `"OBJS"`) und schreibt sein Journal unter dem eigenen XDATA-Marker `"linienzug2"`; Doppelklick baut hier NICHT abschnittsweise, sondern per vollem Reset 1:1 aus dem Journal neu auf (`vfl-edit-ent2`, dispatcht aus `vfl-edit-ent` per Marker) - Modus 3 (Vorwaerts-Nachbau) bleibt bewusst reine Konsole (im Code selbst als Legacy/"wird umgebaut" markiert). `Vario_Kette_Merge` (in vf_linienzug.lsp) fuehrt mehrere einzeln gebaute VF_n-Bloecke ab einem gewaehlten Start-Baustein ueber die reale KS_AUS->KS_EIN-Nachbarschaft zu einem Gesamt-Block zusammen (aggregierte Attribute, Luecken-Erkennung). Details/Entscheidungsbaum: `doc/variofoerderer.md` |
|
||||
| `Gefaellestrecke.lsp` | GEFAELLESTRECKE, GEFAELLESTRECKE_EDIT | Gefaelle-Foerderanlage (AUS -> Staustrecke skaliert -> Separator -> EIN); Modus 1 per DCL-Dialog (Einfuegehoehe, Element-Winkel 30/90); Doppelklick auf GF_n-Block ruft GEFAELLESTRECKE_EDIT (Dialog vorbelegt, Neuaufbau) |
|
||||
| `export.lsp` | EXPORTSIVAS, EXPORTCSV, OMNI_UPDATE_ATTRIBS | JSON-Sammlung und Python-Export (Omniflo-Merkmale/Sum-Zeile via lib/export_csv.py) |
|
||||
| `OmniModulInsert.lsp` | OMNI_LOAD, OMNI_APB_*, OMNI_W*_*, OMNI_AP60/AP110, OMNI_TEF_*, OMNI_TV_*, OMNI_APBW_*, OMNI_EDIT | Omniflo-Komponenten: Boegen, Weichen, Verbinder, Transferwagen, Edit-Dialog |
|
||||
@@ -114,13 +114,14 @@ Detaillierte Dokumentation aller Funktionen und Befehle: siehe `Lisp/README.md`.
|
||||
| `tro_insert.dcl` | TRO_INSERT (Tro_Edit.lsp) |
|
||||
| `tro_edit.dcl` | TRO_EDIT (Tro_Edit.lsp) |
|
||||
| `vfl_edit.dcl` | Linienzug-Editieren/Fortsetzen (vf_linienzug.lsp, `vfl-dlg-position`, aufgerufen aus `vfl-edit-ent`) |
|
||||
| `vf_linienzug_wizard.dcl` | Linienzug Modus 1 Assistent: zwei generische Einzel-Dialoge (Zahl-Eingabe, Mehrfachauswahl; `vflw-zahl`/`vflw-wahl`, aufgerufen aus `vfl-in-real`/`vfl-in-string`/`vfl-in-int` bei aktivem `*vfl-wizard-mode*`) PLUS sieben Gruppen-Dialoge, die mehrere immer unmittelbar aufeinanderfolgende Fragen in einem Bildschirm zusammenfassen (Kettenstart, AS-Element, GF-Bogen, ES-Element, Vario-Kurve, Gefaelle festlegen, Ziel-Hoehe, Horizontales Stueck - inkl. Punktwahl-Button mit X/Y/Z-Anzeige; `vflw-gruppe-*-impl` in vf_linienzug.lsp fuellen dafuer vorab eine kleine Pending-Queue `*vflw-pending*`, die einzelnen `vfl-in-*`-Aufrufe bleiben dabei unveraendert). Details: `doc/variofoerderer.md` |
|
||||
|
||||
## Menue (SSG_LIB.mnu + SSG_LIB.mnl)
|
||||
|
||||
- `SSG_LIB.mnu` - Menuedefinition mit Lazy-Loading (`(ssg-ensure "Modul") Befehl`)
|
||||
- `SSG_LIB.mnl` - Automatisch geladen mit dem Menue, definiert `ssg-ensure` Loader
|
||||
- `***MENUGROUP=SSG_LIB` - Menuegruppenname
|
||||
- `***POP1` - Hauptmenue (ILS, Omniflo, Export, Konfiguration)
|
||||
- `***POP1` - Hauptmenue (ILS, Omniflo, SPS [TRO, Connections], Export, Konfiguration)
|
||||
- `***DOUBLECLICK` - Doppelklick auf INSERT-Bloecke ruft SSG_BLOCKEDIT auf
|
||||
- `***POP501` - Rechtsklick-Kontextmenue (KreiselEdit, OMNI_EDIT, SSG_BLOCKEDIT)
|
||||
|
||||
|
||||
+24
-5
@@ -764,11 +764,30 @@
|
||||
;; 30/90-Wahl fuer ein AS/ES-Element. Rueckgabe: "30" oder "90" (Vorgabe 90).
|
||||
;; headerkey: i18n-Key fuer die Kopfzeile ("vf-winkel-aus-header" oder
|
||||
;; "vf-winkel-ein-header"). Rueckgabe: "30" oder "90" (Default 90).
|
||||
(defun vf-frage-element-winkel (headerkey)
|
||||
(princ (ssg-text headerkey))
|
||||
(princ (ssg-text "vf-winkel-90"))
|
||||
(princ (ssg-text "vf-winkel-30"))
|
||||
(if (= (getstring (ssg-text "prompt-wahl-1-2")) "2") "30" "90"))
|
||||
;; Wizard: nutzt vflw-wahl (dcl/vf_linienzug_wizard.dcl, definiert in
|
||||
;; vf_linienzug.lsp) falls dieses Modul geladen und *vfl-wizard-mode* aktiv
|
||||
;; ist - sonst (oder bei jedem Fehler) unveraendert die Konsolen-Fragen
|
||||
;; (princ + getstring, de/en ueber ssg-text). Gemeinsam genutzt von
|
||||
;; Gefaellestrecke.lsp UND vf_linienzug.lsp.
|
||||
(defun vf-frage-element-winkel (headerkey / antwort)
|
||||
(if (and (boundp '*vfl-wizard-mode*) *vfl-wizard-mode*
|
||||
(car (atoms-family 1 '("VFLW-WAHL"))))
|
||||
(progn
|
||||
(setq antwort
|
||||
(vl-catch-all-apply 'vflw-wahl
|
||||
(list (ssg-text headerkey)
|
||||
(list (ssg-text "vf-winkel-90") (ssg-text "vf-winkel-30")) 1)))
|
||||
(if (or (vl-catch-all-error-p antwort) (null antwort) (= antwort ""))
|
||||
(setq antwort "1"))
|
||||
)
|
||||
(progn
|
||||
(princ (ssg-text headerkey))
|
||||
(princ (ssg-text "vf-winkel-90"))
|
||||
(princ (ssg-text "vf-winkel-30"))
|
||||
(setq antwort (getstring (ssg-text "prompt-wahl-1-2")))
|
||||
)
|
||||
)
|
||||
(if (= antwort "2") "30" "90"))
|
||||
|
||||
;; AS-/ES-Masse-Globals (aus-dx/dy/dz bzw. ein-dx/dy/dz) fuer die gewaehlte
|
||||
;; Winkel-/Seiten-Variante neu setzen (fuer berechne-alle-winkel, GF-Winkel,
|
||||
|
||||
+747
-84
File diff suppressed because it is too large
Load Diff
@@ -1197,10 +1197,11 @@
|
||||
;; Marker (Linienzug/Altbestand) werden abgewiesen.
|
||||
(if (= (car xd) "etage")
|
||||
(progn (vfe-edit-ent ent) (ssg-end) (exit)))
|
||||
;; Linienzug-Bloecke tragen als Marker "linienzug" + serialisiertes Eingabe-
|
||||
;; Journal (vf_linienzug.lsp). Der Edit-Zweig laesst Glieder zuruecknehmen und
|
||||
;; baut die Kette per Replay neu auf.
|
||||
(if (= (car xd) "linienzug")
|
||||
;; Linienzug-Bloecke tragen als Marker "linienzug" (Modus 1) oder
|
||||
;; "linienzug2" (Modus 2) + serialisiertes Eingabe-Journal (vf_linienzug.lsp).
|
||||
;; vfl-edit-ent liest den Marker selbst erneut und dispatcht intern weiter
|
||||
;; (Modus 1: Glieder zuruecknehmen + Replay; Modus 2: voller Reset).
|
||||
(if (member (car xd) '("linienzug" "linienzug2"))
|
||||
(progn (vfl-edit-ent ent) (ssg-end) (exit)))
|
||||
(if (/= (car xd) "standard")
|
||||
(progn (alert (ssg-textf "vfs-edit-keine-xdata" (list bname))) (ssg-end) (exit)))
|
||||
|
||||
@@ -0,0 +1,268 @@
|
||||
// ============================================================
|
||||
// vf_linienzug_wizard.dcl - VF Linienzug Assistent (Modus 1)
|
||||
// Zwei GENERISCHE Einzel-Dialoge (vflw_zahl/vflw_wahl) fuer alle Fragen, die
|
||||
// im Ablauf isoliert stehen, PLUS mehrere GRUPPEN-Dialoge weiter unten, die
|
||||
// Fragen zusammenfassen, die immer unmittelbar hintereinander kommen (z.B.
|
||||
// Startpunkt+Starthoehe, AS-Element Ja/Nein+Winkel+Seite). Kopfzeilen/
|
||||
// Optionslisten werden zur Laufzeit befuellt, siehe vf_linienzug.lsp,
|
||||
// Abschnitte "WIZARD-EINGABE" und "GRUPPEN-DIALOGE".
|
||||
// Die ORIGINALEN Konsolen-Fragen (princ + getstring/getreal/getint) bleiben
|
||||
// im Code stehen (de/en ueber ssg-text/lang/*.json) - Umschalten zurueck auf
|
||||
// reine Konsole: (setq *vfl-wizard-mode* nil) bzw. Befehl VF_WIZARD_AUS.
|
||||
// Bricht der Nutzer einen Gruppen-Dialog ab, fallen die betroffenen Fragen
|
||||
// automatisch auf die Einzel-Dialoge (vflw_zahl/vflw_wahl) zurueck.
|
||||
// ============================================================
|
||||
|
||||
// Zahlen-Eingabe (ersetzt getreal/getint). "kopf" zeigt den kompletten
|
||||
// Original-Prompt-Text (inkl. Default in eckigen Klammern) als Label.
|
||||
vflw_zahl : dialog {
|
||||
label = "VarioFoerderer Assistent";
|
||||
|
||||
: column {
|
||||
: text {
|
||||
key = "kopf";
|
||||
label = "";
|
||||
width = 60;
|
||||
}
|
||||
: edit_box {
|
||||
key = "wert";
|
||||
label = "";
|
||||
edit_width = 16;
|
||||
}
|
||||
}
|
||||
|
||||
ok_cancel;
|
||||
}
|
||||
|
||||
// Mehrfachauswahl (ersetzt eine princ-Menue-Liste + getstring/getint).
|
||||
// "opts" wird zur Laufzeit per start_list/add_list mit den (bereits
|
||||
// lokalisierten) Optionstexten befuellt - ein einziger Dialog fuer jede
|
||||
// Options-Anzahl (2-5), analog zum bestehenden Muster in
|
||||
// dcl/variofoerderer.dcl und dcl/vfl_edit.dcl.
|
||||
vflw_wahl : dialog {
|
||||
label = "VarioFoerderer Assistent";
|
||||
|
||||
: column {
|
||||
: text {
|
||||
key = "kopf";
|
||||
label = "";
|
||||
width = 60;
|
||||
}
|
||||
: popup_list {
|
||||
key = "opts";
|
||||
label = "";
|
||||
width = 50;
|
||||
}
|
||||
}
|
||||
|
||||
ok_cancel;
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// GRUPPEN-DIALOGE - fassen mehrere Fragen, die im Ablauf IMMER
|
||||
// unmittelbar hintereinander kommen, in EINEM Bildschirm zusammen (statt je
|
||||
// einem vflw_zahl/vflw_wahl-Dialog pro Frage). Aufgerufen aus den
|
||||
// vflw-gruppe-*-Funktionen in vf_linienzug.lsp (Abschnitt "GRUPPEN-DIALOGE").
|
||||
// Punktwahl-Zeile (Button + Anzeige) NUR in vflw_punkt_zahl, wo tatsaechlich
|
||||
// live gepickt wird: der Button schliesst den Dialog (done_dialog 2), DANACH
|
||||
// laeuft (getpoint) auf der Kommandozeile - (getpoint) direkt aus einem
|
||||
// action_tile-Callback heraus (Dialog bleibt offen) funktioniert in BricsCAD
|
||||
// NICHT (kein Fokuswechsel zur Zeichnung, per Test bestaetigt). Die uebrigen
|
||||
// Gruppen-Dialoge (Gefaelle, Ziel-Hoehe, Horizontal-Stueck) picken KEINEN
|
||||
// Punkt - der Endpunkt ist an ihrer Aufrufstelle bereits ueber
|
||||
// vfl-neue-linie-messen gemessen (nur X/Y, fuer die Segmentlaenge; die Hoehe
|
||||
// dort ist ein unabhaengiger Zahlenwert) - sie zeigen deshalb bewusst KEINE
|
||||
// Punkt-Zeile, die faelschlich eine hier moegliche Punktwahl suggerieren
|
||||
// wuerde.
|
||||
// ============================================================
|
||||
|
||||
// Punkt + EIN Zahlenfeld, mit Punktwahl-Button (siehe oben). Nur fuer
|
||||
// "Kettenstart" (Startpunkt + Starthoehe, Modus 1) und Modus 2s
|
||||
// Start-/Endpunkt - "kopf"/"wlabel" werden je Aufruf per set_tile passend
|
||||
// beschriftet.
|
||||
vflw_punkt_zahl : dialog {
|
||||
label = "VarioFoerderer Assistent";
|
||||
|
||||
: column {
|
||||
: text {
|
||||
key = "kopf";
|
||||
label = "";
|
||||
width = 60;
|
||||
}
|
||||
: row {
|
||||
: button {
|
||||
key = "pick";
|
||||
label = "Punkt waehlen...";
|
||||
fixed_width = true;
|
||||
width = 18;
|
||||
}
|
||||
: text {
|
||||
key = "pt_anzeige";
|
||||
label = "(kein Punkt gewaehlt)";
|
||||
}
|
||||
}
|
||||
: text {
|
||||
key = "wlabel";
|
||||
label = "";
|
||||
}
|
||||
: edit_box {
|
||||
key = "wert";
|
||||
label = "";
|
||||
edit_width = 10;
|
||||
}
|
||||
}
|
||||
|
||||
ok_cancel;
|
||||
}
|
||||
|
||||
// AS-/ES-Element (Kettenanfang bzw. -ende): Ja/Nein-Toggle + Winkel + Seite
|
||||
// in einem Bildschirm - "kopf" traegt die konkrete Frage (AS oder ES),
|
||||
// "setzen" bleibt bewusst generisch beschriftet, damit derselbe Dialog fuer
|
||||
// beide Faelle passt. Winkel/Seite werden deaktiviert, solange der Toggle
|
||||
// aus ist.
|
||||
vflw_as : dialog {
|
||||
label = "VarioFoerderer Assistent";
|
||||
|
||||
: column {
|
||||
: text {
|
||||
key = "kopf";
|
||||
label = "";
|
||||
width = 60;
|
||||
}
|
||||
: toggle {
|
||||
key = "setzen";
|
||||
label = "Ja, setzen";
|
||||
}
|
||||
: popup_list {
|
||||
key = "winkel";
|
||||
label = "Winkel:";
|
||||
width = 20;
|
||||
}
|
||||
: popup_list {
|
||||
key = "seite";
|
||||
label = "Seite:";
|
||||
width = 20;
|
||||
}
|
||||
}
|
||||
|
||||
ok_cancel;
|
||||
}
|
||||
|
||||
// Winkel + Seite. Wiederverwendet fuer GF-Bogen (3 Winkel-Optionen) UND
|
||||
// ES-Element am Kettenende (2 Winkel-Optionen) - die Optionsliste wird pro
|
||||
// Aufruf zur Laufzeit befuellt, die Feld-Anzahl ist in beiden Faellen gleich.
|
||||
vflw_winkel_seite : dialog {
|
||||
label = "VarioFoerderer Assistent";
|
||||
|
||||
: column {
|
||||
: text {
|
||||
key = "kopf";
|
||||
label = "";
|
||||
width = 60;
|
||||
}
|
||||
: popup_list {
|
||||
key = "winkel";
|
||||
label = "Winkel:";
|
||||
width = 20;
|
||||
}
|
||||
: popup_list {
|
||||
key = "seite";
|
||||
label = "Seite:";
|
||||
width = 20;
|
||||
}
|
||||
}
|
||||
|
||||
ok_cancel;
|
||||
}
|
||||
|
||||
// Vario-Kurve: Winkel + Seite + Variante (aussen/innen) in einem Bildschirm.
|
||||
vflw_variokurve : dialog {
|
||||
label = "VarioFoerderer Assistent";
|
||||
|
||||
: column {
|
||||
: text {
|
||||
key = "kopf";
|
||||
label = "";
|
||||
width = 60;
|
||||
}
|
||||
: popup_list {
|
||||
key = "winkel";
|
||||
label = "Winkel:";
|
||||
width = 20;
|
||||
}
|
||||
: popup_list {
|
||||
key = "seite";
|
||||
label = "Seite:";
|
||||
width = 20;
|
||||
}
|
||||
: popup_list {
|
||||
key = "variante";
|
||||
label = "Variante:";
|
||||
width = 20;
|
||||
}
|
||||
}
|
||||
|
||||
ok_cancel;
|
||||
}
|
||||
|
||||
// Gefaelle festlegen (Linie GF): Modus (Hoehe/Winkel) + EIN Wertfeld, dessen
|
||||
// Beschriftung sich je nach Modus umschaltet (Action-Tile auf "modus", siehe
|
||||
// vflw-gruppe-gefaelle-impl in vf_linienzug.lsp). Kein Punkt-Feld - siehe
|
||||
// Kopfkommentar oben.
|
||||
vflw_gefaelle : dialog {
|
||||
label = "VarioFoerderer Assistent";
|
||||
|
||||
: column {
|
||||
: text {
|
||||
key = "kopf";
|
||||
label = "";
|
||||
width = 60;
|
||||
}
|
||||
: popup_list {
|
||||
key = "modus";
|
||||
label = "Eingabe als:";
|
||||
width = 40;
|
||||
}
|
||||
: text {
|
||||
key = "wlabel";
|
||||
label = "";
|
||||
}
|
||||
: edit_box {
|
||||
key = "wert";
|
||||
label = "";
|
||||
edit_width = 10;
|
||||
}
|
||||
}
|
||||
|
||||
ok_cancel;
|
||||
}
|
||||
|
||||
// Horizontales Stueck: Separator-vor + Separator-nach + "Foerderer-Ende?"
|
||||
// (3 Optionen) in einem Bildschirm. Kein Punkt-Feld - siehe Kopfkommentar
|
||||
// oben.
|
||||
vflw_horizontal : dialog {
|
||||
label = "VarioFoerderer Assistent";
|
||||
|
||||
: column {
|
||||
: text {
|
||||
key = "kopf";
|
||||
label = "";
|
||||
width = 60;
|
||||
}
|
||||
: toggle {
|
||||
key = "sepvor";
|
||||
label = "Separator VOR dem Stueck";
|
||||
}
|
||||
: toggle {
|
||||
key = "sepnach";
|
||||
label = "Separator NACH dem Stueck";
|
||||
}
|
||||
: popup_list {
|
||||
key = "istende";
|
||||
label = "Foerderer-Ende:";
|
||||
width = 45;
|
||||
}
|
||||
}
|
||||
|
||||
ok_cancel;
|
||||
}
|
||||
@@ -0,0 +1,500 @@
|
||||
# VarioFoerderer / Gefaellestrecke — Eingabe-Inventar und Ablauf
|
||||
|
||||
Bestandsaufnahme aller Eingabemoeglichkeiten der Befehle `FOERDERANLAGE`
|
||||
(`c:VarioFoerderer`, Typen Standard/Etage/Linienzug) und `GEFAELLESTRECKE`
|
||||
(`c:GEFAELLESTRECKE`) — als Grundlage fuer eine GUI-Neugestaltung je Gruppe.
|
||||
Stand: Code in `Lisp/vf_core.lsp`, `vf_standard.lsp`, `vf_etage.lsp`,
|
||||
`vf_linienzug.lsp`, `Gefaellestrecke.lsp` und die zugehoerigen DCL-Dialoge
|
||||
(`dcl/variofoerderer.dcl`, `dcl/gefaellestrecke.dcl`, `dcl/vfl_edit.dcl`,
|
||||
`dcl/vf_linienzug_wizard.dcl`).
|
||||
|
||||
## Wizard-Status (Umsetzung des Entscheidungsbaums, Abschnitt 10)
|
||||
|
||||
Standard und Etage waren bereits DCL-Dialoge (Abschnitte 2-3). Der komplette
|
||||
Linienzug-Hauptstrang (Blocke 31-46 in Abschnitt 10) laeuft jetzt ebenfalls
|
||||
ueber DCL-Dialoge statt Konsole:
|
||||
`dcl/vf_linienzug_wizard.dcl` stellt zwei generische Dialoge (Zahl-Eingabe,
|
||||
Mehrfachauswahl) bereit, die von JEDER Konsolen-Frage in `vf_linienzug.lsp`
|
||||
wiederverwendet werden (siehe dortiger Abschnitt "WIZARD-EINGABE"). Die
|
||||
Original-Konsolen-Fragen (princ + getstring/getreal/getint, de/en ueber
|
||||
`ssg-text`) bleiben unveraendert im Code stehen und sind die Grundlage der
|
||||
Dialoge (Prompt-Text = Dialog-Kopfzeile, Menue-Optionen = Popup-Liste) - bei
|
||||
Bedarf per Befehl `VF_WIZARD_AUS` (zurueck: `VF_WIZARD_AN`) sofort wieder
|
||||
reine Konsole, ohne Codeaenderung. Journal-Replay (Editieren bestehender
|
||||
Ketten ueber Doppelklick, `vfl-edit-ent`) ist davon unberuehrt: es liefert
|
||||
seine Werte aus dem gespeicherten Journal, bevor der Wizard-Zweig ueberhaupt
|
||||
erreicht wird. Jeder Wizard-Dialogaufruf ist zusaetzlich per
|
||||
`vl-catch-all-apply` abgesichert und faellt bei jedem Fehler (fehlendes DCL,
|
||||
falscher `DXFM_DCL`-Pfad etc.) automatisch auf die Konsolen-Frage zurueck.
|
||||
|
||||
Linienzug Modus 2 (Pfad+Zielhoehe-Solver, Blocke 50-57) laeuft seit Kurzem
|
||||
ebenfalls ueber `vfl-in-point`/`-real`/`-string`/`-value` UND eine neue
|
||||
Objektauswahl-Wrapper-Funktion `vfl-in-selection` (fuer die Pfad-Objekte,
|
||||
Block 50) - dadurch schreibt auch Modus 2 jetzt ein Eingabe-Journal als XDATA
|
||||
(Marker `"linienzug2"`) und reagiert auf Doppelklick. Anders als Modus 1
|
||||
NICHT abschnittsweise editierbar (keine Glied-Marker in der Klassifizierungs-
|
||||
Schleife) - Doppelklick baut die Kette stattdessen 1:1 aus dem gespeicherten
|
||||
Journal neu auf ("voller Reset", `vfl-edit-ent2`), danach normal weiter
|
||||
bearbeitbar/loeschbar. Die Pfad-Objektauswahl wird dabei als Liste stabiler
|
||||
Entity-Handles gespeichert (neue Journal-Art `"OBJS"`) und beim Reset wieder
|
||||
aufgeloest; wurden die urspruenglichen Linien/Boegen zwischenzeitlich
|
||||
geloescht, meldet das der Reset klar statt eine unvollstaendige Kette zu
|
||||
bauen. `vfl-in-selection` zeigt bewusst KEINEN Wizard-Dialog (Objektauswahl
|
||||
braucht wie Punktwahl die Zeichnung).
|
||||
|
||||
**Ansicht-Refresh vor jedem Folge-Punkt** (Modus 1): `vfl-neue-linie-messen` -
|
||||
die einzige Stelle, ueber die JEDE Endpunkt-Abfrage fuer ein neues Glied
|
||||
laeuft (Haupt-Menue UND VF-Einheit-Fortsetzung) - schaltet vor dem Pick per
|
||||
`vfl-view-refresh` auf Grundriss-Ansicht (`_PLAN` `_World`) und zoomt auf
|
||||
alles Sichtbare (`_ZOOM` `_Extents`), damit das zuletzt gebaute Stueck immer
|
||||
sichtbar und der naechste Punkt treffsicher anwaehlbar ist. Aendert nur die
|
||||
Ansicht, nicht das aktive BKS; rein kosmetisch und per `vl-catch-all-apply`
|
||||
abgesichert.
|
||||
|
||||
Nicht umgestellt (bleiben bewusst reine Konsole, siehe Abschnitt 6): Modus 3
|
||||
(Vorwaerts-Nachbau, Legacy - im Code selbst als "wird umgebaut" markiert,
|
||||
Aufwand fuer bald ersetzten Code waere nicht sinnvoll) sowie die
|
||||
Gefaellestrecke-Konsolenmodi 2/3. Punktwahl (`getpoint`) bleibt ausserhalb
|
||||
von Gruppen-Dialogen unveraendert Konsole/Zeichnung - eine Maus-Punktauswahl
|
||||
braucht keinen eigenen Dialog, das BricsCAD-Prompt an der Eingabezeile
|
||||
leistet bereits die vom Nutzer gewuenschte "Punkt waehlen"-Statusmeldung.
|
||||
|
||||
### Gruppen-Dialoge (mehrere Fragen in einem Bildschirm)
|
||||
|
||||
Fragen, die im Ablauf IMMER unmittelbar hintereinander kommen (kein
|
||||
Zwischenschritt, keine Verzweigung dazwischen), werden nicht mehr einzeln
|
||||
nacheinander abgefragt, sondern in EINEM Dialog gemeinsam erfasst. Sechs
|
||||
Gruppen-Dialoge PLUS die beiden generischen Einzel-Dialoge (siehe
|
||||
`dcl/vf_linienzug_wizard.dcl`, Abschnitte "GRUPPEN-DIALOGE"/oben):
|
||||
|
||||
| Gruppe | Felder in einem Bildschirm | Ersetzt (Einzel-Screens) |
|
||||
|---|---|---|
|
||||
| Kettenstart | Punkt (Button) + Starthoehe | Block 31 |
|
||||
| AS-Element | Ja/Nein-Toggle + Winkel + Seite (Winkel/Seite deaktiviert, solange Toggle aus) | Block 32 (+33 bei Ja) |
|
||||
| GF-Bogen | Winkel(30/60/90) + Seite | Block 35 |
|
||||
| ES-Element (Kettenende) | Winkel(30/90) + Seite | Block 45 |
|
||||
| Vario-Kurve | Winkel(90/60/30) + Seite + Variante(aussen/innen) | Teil von Block 46 |
|
||||
| Gefaelle festlegen | Modus(Hoehe/Winkel) + EIN Wertfeld (Beschriftung wechselt mit dem Modus) | Teil von Block 36 |
|
||||
| Ziel-Hoehe | Zielhoehe (generischer `vflw_zahl`-Dialog, an 4 Aufrufstellen wiederverwendet: Block 36 GF-Wechsel, 37, 41/vfl-body-abschluss, 42) | Je 1 Screen |
|
||||
| Horizontales Stueck | Separator VOR + Separator NACH + Foerderer-Ende (3 Optionen) | Teil von Block 38 |
|
||||
|
||||
**Punktwahl-Button nur bei "Kettenstart"** (bzw. bei Modus 2s Start-/
|
||||
Endpunkt): `(getpoint)` direkt aus einem offenen `action_tile`-Callback
|
||||
heraus funktioniert in BricsCAD NICHT (kein Fokuswechsel zur Zeichnung, per
|
||||
Test bestaetigt) - stattdessen schliesst der Button den Dialog
|
||||
(`done_dialog 2`), `getpoint` laeuft danach ganz normal auf der
|
||||
Kommandozeile, der Dialog wird mit dem Ergebnis neu geoeffnet
|
||||
(`vflw-gruppe-punkt-hoehe-impl`, `(while (not fertig) ...)`-Schleife um
|
||||
`new_dialog`/`start_dialog`). Die uebrigen Gruppen-Dialoge (Gefaelle,
|
||||
Ziel-Hoehe, Horizontal-Stueck) zeigen bewusst KEINEN Punkt-Button: ihr
|
||||
Endpunkt (nur X/Y, fuer die Segmentlaenge) ist an der jeweiligen
|
||||
Aufrufstelle bereits VOR der Gruppe ueber `vfl-neue-linie-messen` gepickt -
|
||||
dessen Z wird nirgends verwendet, die dort abgefragte Hoehe ist ein davon
|
||||
unabhaengiger Zahlenwert (siehe Kommentar bei `vfl-neue-linie-messen`).
|
||||
|
||||
Technisch: die zugrunde liegende Aufruf-Reihenfolge in `vf-linienzug-modus`/
|
||||
`vfl-*` bleibt woertlich unveraendert (weiterhin ein `vfl-in-point`/`-string`/
|
||||
`-real`/`-int`/`-value`-Aufruf pro Wert, Journal-Aufzeichnung inklusive) - ein
|
||||
Gruppen-Dialog fuellt vor dieser Sequenz nur eine kleine Pending-Queue
|
||||
(`*vflw-pending*`), aus der jeder einzelne Aufruf transparent seinen Wert
|
||||
zieht, statt live zu fragen. Bricht der Nutzer einen Gruppen-Dialog ab,
|
||||
bleibt die Queue leer - die betroffenen Fragen fallen dann automatisch auf
|
||||
die bestehenden Einzel-Dialoge (`vflw_zahl`/`vflw_wahl`) zurueck, kein
|
||||
Sonderfall noetig.
|
||||
|
||||
Steuerelement-Kuerzel in den Tabellen:
|
||||
|
||||
| Kuerzel | Bedeutung |
|
||||
|---|---|
|
||||
| Dropdown | Combobox/Popup-Liste mit fester Werteliste |
|
||||
| Zahl | Zahlenfeld (mm oder Grad) |
|
||||
| Text | Freitextfeld |
|
||||
| Toggle | Checkbox/Toggle |
|
||||
| Punktwahl | Mausklick in der Zeichnung (`getpoint`/`entsel`) — laesst sich nicht durch ein reines Formularfeld ersetzen |
|
||||
| Button | Aktions-Button innerhalb eines Dialogs |
|
||||
| Legacy | Nur noch ueber die Kommandozeile erreichbar, kein DCL-Dialog |
|
||||
|
||||
---
|
||||
|
||||
## 1. Anlagen-Typ-Wahl (`FOERDERANLAGE`)
|
||||
|
||||
`c:VarioFoerderer` fragt zuerst den Typ ab, sofern keine Vorauswahl
|
||||
(`*vf-vorauswahl-typ*`) gesetzt ist.
|
||||
|
||||
| Feld | Steuerelement | Werte | Default |
|
||||
|---|---|---|---|
|
||||
| Typ | Dropdown | Standard / Etage / Linienzug | Standard |
|
||||
|
||||
---
|
||||
|
||||
## 2. VF Standard (`dcl/variofoerderer.dcl`)
|
||||
|
||||
Zwei Dialoge nacheinander: erst Geometrie/Ausrichtung/Geruest (Dialog 1), danach
|
||||
Winkel und Staustrecken-Verteilung (Dialog 2) — Dialog 2 wird erst nach der
|
||||
Winkelberechnung befuellt, da seine Optionsliste von Dialog 1 abhaengt.
|
||||
|
||||
### Dialog 1 — Basis (`variofoerderer_basis`)
|
||||
|
||||
| Feld | Tile-Key | Steuerelement | Werte | Default |
|
||||
|---|---|---|---|---|
|
||||
| Horiz. Distanz DeltaL | `deltal` | Zahl (mm) | frei | 15000 |
|
||||
| Hoehenunterschied DeltaH | `deltah` | Zahl (mm) | frei | 3000 |
|
||||
| Foerderrichtung | `richtung` | Dropdown | Auf / Ab | Auf |
|
||||
| Einfuegehoehe | `einfuegehoehe` | Zahl (mm) | frei | 0 |
|
||||
| Fahrtrichtung | `fahrtrichtung` | Dropdown | 0 Grad (X+, Ost) / 90 Grad (Y+, Nord) / 180 Grad (X-, West) / 270 Grad (Y-, Sued) | 0 Grad |
|
||||
| Seite | `seite` | Dropdown | Rechts / Links | Rechts |
|
||||
| Motorseite | `motorseite` | Dropdown | Rechts / Links | Rechts |
|
||||
| Darstellung | `dimension` | Dropdown | 3D / 2D | aktueller Modus |
|
||||
| Geruest Einzelmodul | `geruest_einzelmodul` | Toggle | an / aus | an |
|
||||
| Geruestoption | `geruest_typ` | Dropdown | siehe [Geruestoptionen](#9-wiederverwendete-bausteine) (4 Werte) | Schoenenberger Geruest |
|
||||
|
||||
### Dialog 2 — Winkel/Verteilung (`variofoerderer_winkel`)
|
||||
|
||||
| Feld | Tile-Key | Steuerelement | Werte | Default |
|
||||
|---|---|---|---|---|
|
||||
| Winkel | `winkel` | Dropdown | dynamisch berechnete, geometrisch gueltige Varianten (z.B. 3/6/.../horizontal), je mit L_GF/L_VF-Vorschau | kleinster gueltiger Winkel |
|
||||
| Verteilung Staustrecken | `verteilung` | Dropdown | Gleichmaessig (L_GF1=L_GF2) / Vorne Minimum, hinten Rest / Hinten Minimum, vorne Rest / Eigene Werte | Gleichmaessig |
|
||||
| L_GF1 vorne (manuell) | `lgf1_manuell` | Zahl (mm) | nur aktiv bei Verteilung "Eigene Werte" | L_GF / 2 |
|
||||
|
||||
Vorgelagert (Konsole, vor Dialog 1): Eingabemodus-Frage "3D-Linie" vs. "Werte
|
||||
manuell" — nur bei Wahl "2" oeffnen sich obige Dialoge, sonst laeuft der
|
||||
komplette [Legacy-Konsolen-Pfad](#8-legacy-konsolen-pfad). Direkt vor Dialog 1
|
||||
wird zusaetzlich der Startpunkt (X/Y) per Punktwahl gewaehlt
|
||||
(`vfs-standard-dialog-ablauf`, `Lisp/vf_standard.lsp:1069`); die Z-Hoehe kommt
|
||||
aus dem Feld "Einfuegehoehe".
|
||||
|
||||
---
|
||||
|
||||
## 3. VF Etage
|
||||
|
||||
Nutzt exakt dieselben Dialoge wie VF Standard (`variofoerderer_basis` und
|
||||
`variofoerderer_winkel`, siehe Abschnitt 2) — nur die interne
|
||||
Geometrieberechnung unterscheidet sich (Etagen-Boegen statt gerader AS/ES-
|
||||
Elemente). Vorgelagert:
|
||||
|
||||
| Feld | Steuerelement | Werte | Default |
|
||||
|---|---|---|---|
|
||||
| Startpunkt (X/Y) | Punktwahl | Klick in der Zeichnung | 0,0,0 |
|
||||
|
||||
Die Hoehe (Z) des Startpunkts kommt wie bei Standard aus dem Feld
|
||||
"Einfuegehoehe" von Dialog 1 (`vfe-etage-dialog-ablauf`,
|
||||
`Lisp/vf_etage.lsp:894`).
|
||||
|
||||
---
|
||||
|
||||
## 4. Gefaellestrecke (GF) (`dcl/gefaellestrecke.dcl`)
|
||||
|
||||
Ein Dialog fuer den manuellen Modus 1 (analog Kreisel-Dialog).
|
||||
|
||||
### Dialog — Gefaellestrecke (`gefaellestrecke`)
|
||||
|
||||
| Feld | Tile-Key | Steuerelement | Werte | Default |
|
||||
|---|---|---|---|---|
|
||||
| Abstand DeltaL | `deltal` | Zahl (mm) | frei | - |
|
||||
| Einfuegehoehe | `einfuegehoehe` | Zahl (mm) | frei | - |
|
||||
| Gefaellewinkel | `winkel` | Zahl (Grad) | 0 < Winkel <= 3 Grad | - |
|
||||
| Fahrtrichtung | `fahrtrichtung` | Dropdown | 0 / 90 / 180 / 270 Grad | 0 Grad |
|
||||
| Darstellung | `dimension` | Dropdown | 3D / 2D | aktueller Modus |
|
||||
| AUS-Element — Winkel | `aus_winkel` | Dropdown | 90 Grad / 30 Grad | 90 Grad |
|
||||
| AUS-Element — Seite | `aus_seite` | Dropdown | Links / Rechts | Links |
|
||||
| EIN-Element — Winkel | `ein_winkel` | Dropdown | 90 Grad / 30 Grad | 90 Grad |
|
||||
| EIN-Element — Seite | `ein_seite` | Dropdown | Links / Rechts | Links |
|
||||
| Geruest Einzelmodul | `geruest_einzelmodul` | Toggle | an / aus | an |
|
||||
| Geruestoption | `geruest_typ` | Dropdown | 4 Werte, siehe [unten](#9-wiederverwendete-bausteine) | Schoenenberger Geruest |
|
||||
| VarioFoerderer daneben bauen | `build_vf` | Button | baut parallel 2000 mm VF, gegenlaeufig, steigend — keine Zusatzwerte | - |
|
||||
|
||||
Das Winkel/Seite-Paar (`aus_winkel`/`aus_seite`, `ein_winkel`/`ein_seite`)
|
||||
taucht identisch auch im Linienzug als AS-/ES-Element-Baustein auf (siehe
|
||||
Abschnitt 5.2).
|
||||
|
||||
Zusaetzlich als Legacy-Konsole vorhanden (kein Dialog):
|
||||
|
||||
- **Modus 2** — Startpunkt/Endpunkt waehlen: 2x Punktwahl + Gefaellewinkel
|
||||
(Zahl, aus DeltaH automatisch vorgeschlagen).
|
||||
- **Modus 3** — Bestehenden Linienzug (Linien/Boegen) auswaehlen: Objektauswahl,
|
||||
Winkel wird aus der Geometrie vorgeschlagen und kann per j/n bestaetigt oder
|
||||
ueberschrieben werden.
|
||||
|
||||
---
|
||||
|
||||
## 5. VF Linienzug — Kette (Modus 1, frei zeichnend)
|
||||
|
||||
Kein Formular, sondern eine Serie von Konsolen-Abfragen, verzahnt mit
|
||||
Punktwahl in der Zeichnung — der Nutzer baut die Kette Segment fuer Segment.
|
||||
Enthaelt die Option "VF mit horizontalem Anfang". Fuer eine GUI heisst das: ein
|
||||
Assistent/Wizard mit Zeichnungs-Interaktion, kein einmaliges Werteformular.
|
||||
|
||||
### 5.1 Ablauf
|
||||
|
||||
1. **Start**: Startpunkt der Kette (Punktwahl), Starthoehe (Zahl, Default = Z
|
||||
des Punkts).
|
||||
2. **AS-Element setzen?** Ja/Nein — bei Ja: Winkel (30/90 Grad) + Seite
|
||||
(links/rechts), siehe Baustein 5.2.
|
||||
3. **Naechstes Element waehlen** (wiederholt sich pro Segment), Menue mit bis
|
||||
zu 5 Optionen:
|
||||
- GF-Bogen (horizontale Kurve) -> Winkel 30/60/90 Grad + Seite links/rechts
|
||||
- Neue Linie: GF (Gefaellestrecke) -> Endpunkt (Punktwahl), dann Zielhoehe
|
||||
*oder* Neigungswinkel (siehe Baustein 5.2)
|
||||
- Neue Linie: Ab/Auf VF (VarioFoerderer-Einheit) -> Endpunkt (Punktwahl) +
|
||||
Zielhoehe (Zahl)
|
||||
- Neue VF mit horizontalem Anfang (Horizontal-Stueck) -> Endpunkt
|
||||
(Punktwahl) entlang der aktuellen Fahrtrichtung, danach Separator-vor/
|
||||
-nach-Fragen
|
||||
- Neue Linie BIS Kettenende (danach automatisch Separator + ES-Element)
|
||||
4. **Innerhalb einer VF-Einheit** (nach dem ersten Koerper) wird pro
|
||||
weiterem Teilstueck erneut gefragt: *Ist der Endpunkt der Foerderer?*
|
||||
- Ja, nur Motorstation
|
||||
- Nein, weiterbauen -> als naechstes: horizontaler Foerderer / Vario-Kurve
|
||||
(30/60/90 Grad + Seite + aussen/innen) / Auf-Ab-Foerderer
|
||||
- Ja, Motorstation + Kettenende -> ES-Element setzen? Ja/Nein
|
||||
5. **Separator-Fragen** (bei horizontalem Stueck): zusaetzlichen Separator
|
||||
VOR? Ja/Nein · NACH? Ja/Nein.
|
||||
6. **Ist das Kettenende?** nach jedem GF-Segment: Ja (ES-Element) / Ja (ohne
|
||||
ES) / Nein, weiterbauen.
|
||||
7. **Kettenende**: ES-Element setzen? Bei Ja: Winkel 30/90 Grad + Seite
|
||||
links/rechts (gleicher Baustein wie AS-Element).
|
||||
|
||||
Groessenlimits, die als Validierung statt als Eingabe wirken: VF-Einheit
|
||||
< 1000 mm wird abgelehnt ("Umlenk + Motor"), Gesamtlaenge > 25 m wird
|
||||
abgelehnt, GF-Neigung > 3 Grad wird abgelehnt bzw. auf 3 Grad begrenzt.
|
||||
|
||||
### 5.2 Wiederkehrende Bausteine
|
||||
|
||||
Diese vier Eingabegruppen tauchen mehrfach in der Kette auf (und teils auch in
|
||||
GF/Standard) — lohnt sich als eigene GUI-Komponente.
|
||||
|
||||
**AS-/ES-Element**
|
||||
|
||||
| Feld | Steuerelement | Werte |
|
||||
|---|---|---|
|
||||
| Winkel | Dropdown | 90 Grad / 30 Grad |
|
||||
| Seite | Dropdown | links / rechts |
|
||||
|
||||
**GF-Bogen**
|
||||
|
||||
| Feld | Steuerelement | Werte |
|
||||
|---|---|---|
|
||||
| Winkel | Dropdown | 30 / 60 / 90 Grad |
|
||||
| Seite | Dropdown | links / rechts |
|
||||
|
||||
**Vario-Kurve**
|
||||
|
||||
| Feld | Steuerelement | Werte |
|
||||
|---|---|---|
|
||||
| Winkel | Dropdown | 90 / 60 / 30 Grad |
|
||||
| Seite | Dropdown | links / rechts |
|
||||
| Variante | Dropdown | Aussen / Innen |
|
||||
|
||||
**Gefaelle festlegen (Linie "GF")**
|
||||
|
||||
| Feld | Steuerelement | Werte |
|
||||
|---|---|---|
|
||||
| Endpunkt | Punktwahl | entlang Fahrtrichtung |
|
||||
| Modus | Dropdown | Gegebene Zielhoehe / Neigungswinkel eingeben |
|
||||
| -> Zielhoehe | Zahl (mm) | bei Modus "Zielhoehe" |
|
||||
| -> Neigungswinkel | Zahl (Grad) | 0 < Winkel <= 3 Grad, bei Modus "Winkel" |
|
||||
|
||||
---
|
||||
|
||||
## 6. VF Linienzug — Modus 2 und 3 (fortgeschritten / Legacy)
|
||||
|
||||
Zwei alternative Einstiege in `c:VarioFoerderer` -> Typ "Linienzug". Beide
|
||||
arbeiten auf bereits in der Zeichnung vorhandener Geometrie statt auf freier
|
||||
Klick-Eingabe — fuer eine GUI eher Import/Solver-Werkzeuge als klassische
|
||||
Formulare.
|
||||
|
||||
### Modus 2 — Pfad + Zielhoehe (Solver)
|
||||
|
||||
| Feld | Steuerelement | Werte |
|
||||
|---|---|---|
|
||||
| Pfad-Objekte | Objektauswahl | Linien + Boegen der geplanten Trasse |
|
||||
| Startpunkt + Hoehe | Punktwahl + Zahl | hoehere Seite der Kette |
|
||||
| Endpunkt + Zielhoehe | Punktwahl + Zahl | Ziel der Kette |
|
||||
| Je gerades Segment: Typ | Dropdown | GF (Eingabe-Winkel) / VF (Bruecke) |
|
||||
| -> GF-Neigung | Zahl (Grad) | Default 3 Grad, Maximum 3 Grad |
|
||||
| Je Bogen-Segment: Typ | Dropdown | GF-Bogen / Vario-Kurve |
|
||||
| -> Vario-Kurve-Variante | Dropdown | Aussen / Innen |
|
||||
| GF-Verteilung | Dropdown | alles am Einlauf (GF1) / 1/2 GF1 + 1/2 GF2 |
|
||||
|
||||
### Modus 3 — Vorwaerts-Nachbau (Legacy, wird umgebaut)
|
||||
|
||||
| Feld | Steuerelement | Werte |
|
||||
|---|---|---|
|
||||
| Startpunkt (3D) | Punktwahl | KS_EIN AUS-Element / Kettenanfang |
|
||||
| Gefaellewinkel | Zahl (Grad) | wird auch aus 2 gewaehlten 3D-Punkten vorgeschlagen |
|
||||
| AUS-Element Seite | Dropdown | links / rechts |
|
||||
| Separator vor EIN? | Dropdown | Ja/Nein |
|
||||
| Einfuegen bestaetigen | Dropdown | Ja/Nein |
|
||||
|
||||
---
|
||||
|
||||
## 7. Editieren / Fortsetzen / Zusammenfuegen
|
||||
|
||||
**Linienzug editieren** (`dcl/vfl_edit.dcl`)
|
||||
|
||||
| Feld | Steuerelement | Werte |
|
||||
|---|---|---|
|
||||
| Zuruecksetzen zu Sektion | Dropdown | jedes Journal-Glied der Kette (GF-Bogen, GF, VF, horizontal-VF, Linie bis Ende, offen) |
|
||||
|
||||
Kuerzt die Kette stumm auf die gewaehlte Sektion, danach laeuft der normale
|
||||
interaktive Linienzug-Ablauf weiter (Abschnitt 5).
|
||||
|
||||
**Vario_Kette_Merge**
|
||||
|
||||
| Feld | Steuerelement | Werte |
|
||||
|---|---|---|
|
||||
| Start-Block der Kette | Objektauswahl | ein VF_n/GF_n-Block, ab dem ueber KS_AUS->KS_EIN-Nachbarschaft zusammengefuehrt wird |
|
||||
|
||||
Einzige Eingabe — Rest laeuft automatisch (Attribute aggregiert, Luecken
|
||||
werden gemeldet).
|
||||
|
||||
---
|
||||
|
||||
## 8. Legacy-Konsolen-Pfad
|
||||
|
||||
Wird bei Standard/Etage durchlaufen, wenn auf die Eingabemodus-Frage *nicht*
|
||||
"2" getippt wird (Enter/leer faellt ebenfalls hierher zurueck) — also aktuell
|
||||
noch der Vorgabe-Pfad. Zwei Untermodi:
|
||||
|
||||
**3D-Linie auswaehlen**
|
||||
|
||||
| Feld | Steuerelement | Werte |
|
||||
|---|---|---|
|
||||
| Linie/Polylinie | Objektauswahl | liefert DeltaL, DeltaH, Fahrtrichtung automatisch aus der Geometrie |
|
||||
|
||||
**Werte manuell eingeben**
|
||||
|
||||
| Feld | Steuerelement | Werte |
|
||||
|---|---|---|
|
||||
| DeltaL / DeltaH | Zahl (mm) | Defaults 15000 / 3000 |
|
||||
| Foerderrichtung | Dropdown | Auf/Ab |
|
||||
| Startpunkt | Punktwahl | - |
|
||||
| Fahrtrichtung | Dropdown | 0 / 90 / 180 / 270 Grad |
|
||||
|
||||
Danach identisch fuer beide Untermodi: Seite (rechts/links) -> Winkelwahl,
|
||||
falls mehrere gueltig sind (nummerierte Liste) -> Staustrecken-Verteilung (4
|
||||
Optionen, bei "Eigene Werte" zusaetzlich L_GF1 als Zahl) -> Bestaetigung
|
||||
"Einfuegen? Ja/Nein".
|
||||
|
||||
---
|
||||
|
||||
## 9. Wiederverwendete Bausteine
|
||||
|
||||
**Geruestoptionen** (`*ssg-geruest-optionen*` in `ssg_core.lsp`, auch bei
|
||||
Kreisel/Eckrad verwendet)
|
||||
|
||||
| Feld | Steuerelement | Werte | Default |
|
||||
|---|---|---|---|
|
||||
| Geruest fuer Einzelmodul | Toggle | an / aus | an |
|
||||
| Geruestoption | Dropdown | IPE-Geruest abgestuft / Obergeruest oben / Schoenenberger Geruest / nur Doppelrohrtraeger | Schoenenberger Geruest |
|
||||
|
||||
---
|
||||
|
||||
## 10. Entscheidungsbaum
|
||||
|
||||
Jeder Block ist ein moeglicher Wizard-Screen. "Weiter mit" listet die
|
||||
Blocknummer(n), zu denen von hier aus verzweigt werden kann. Rueckverweise auf
|
||||
eine bereits genannte, kleinere Nummer (z.B. 34 -> 35 -> 34) sind Schleifen
|
||||
(iteratives Weiterbauen), keine Fehler in der Nummerierung.
|
||||
|
||||
### Baum A — Befehl `FOERDERANLAGE`
|
||||
|
||||
| Nr | Block | Eingaben | Weiter mit |
|
||||
|---|---|---|---|
|
||||
| 1 | Befehl waehlen | FOERDERANLAGE / GEFAELLESTRECKE | 2, 40 |
|
||||
| 2 | Anlagen-Typ | Standard / Etage / Linienzug | 3, 3, 30 |
|
||||
| 3 | Eingabemodus (nur Standard/Etage) | Konsole / Dialog | 4, 10 |
|
||||
| 4 | Startpunkt waehlen | Punktwahl | 5 |
|
||||
| 5 | Dialog "Basis" | DeltaL, DeltaH, Auf/Ab, Einfuegehoehe, Fahrtrichtung, Seite, Motorseite, 2D/3D, Geruest | 6 |
|
||||
| 6 | Winkelberechnung (automatisch) | - | 7 |
|
||||
| 7 | Dialog "Winkel/Verteilung" | Winkel, Verteilung, ggf. L_GF1 | 8 |
|
||||
| 8 | Bau (automatisch) | - | ENDE |
|
||||
| 10 | Eingabemodus Konsole | 3D-Linie / Werte | 11, 12 |
|
||||
| 11 | 3D-Linie waehlen | Objektwahl -> DeltaL/DeltaH/Fahrtrichtung automatisch | 13 |
|
||||
| 12 | Werte eingeben | DeltaL, DeltaH, Auf/Ab, Startpunkt, Fahrtrichtung | 13 |
|
||||
| 13 | Seite waehlen | rechts/links | 14 |
|
||||
| 14 | Winkel waehlen | automatisch bei 1 Treffer, sonst Liste | 16 |
|
||||
| 16 | Staustrecken-Verteilung | 4 Optionen, ggf. L_GF1 manuell | 17 |
|
||||
| 17 | Bestaetigung "Einfuegen?" | Ja/Nein | 8 |
|
||||
| 30 | Linienzug-Modus | Manuell / Pfad+Zielhoehe / Vorwaerts-Nachbau | 31, 50, 55 |
|
||||
| 31 | Startpunkt + Starthoehe | Punktwahl + Zahl | 32 |
|
||||
| 32 | AS-Element setzen? | Ja/Nein | 33, 34 |
|
||||
| 33 | AS-Element | Winkel 30/90, Seite | 34 |
|
||||
| 34 | Naechstes Element waehlen | 5 Optionen | 35, 36, 37, 38, 39 |
|
||||
| 35 | GF-Bogen | Winkel 30/60/90, Seite | 34 (Schleife) |
|
||||
| 36 | GF | Endpunkt, Zielhoehe/Neigungswinkel | 41 |
|
||||
| 37 | Auf/Ab-VF starten | Endpunkt, Zielhoehe | 42 |
|
||||
| 38 | Horizontal-VF starten | Endpunkt (+ Separator vor/nach inline) | 42 |
|
||||
| 39 | Bis Kettenende | Endpunkt | 45 |
|
||||
| 41 | Kettenende-Frage (nach GF) | Ja+ES / Ja ohne ES / Nein | 45, ENDE, 34 (Schleife) |
|
||||
| 42 | Ist Endpunkt der Foerderer? | nur Motor / weiterbauen / +Kettenende | 34, 46, 45 |
|
||||
| 45 | ES-Element setzen | Winkel 30/90, Seite | ENDE |
|
||||
| 46 | Sub-Element in VF-Einheit | horizontal / Vario-Kurve / Auf-Ab | 42 (Schleife) |
|
||||
| 50 | Pfad-Objekte waehlen | Linien + Boegen | 51 |
|
||||
| 51 | Startpunkt + Starthoehe | Punktwahl + Zahl | 52 |
|
||||
| 52 | Endpunkt + Zielhoehe | Punktwahl + Zahl | 53 |
|
||||
| 53 | je gerades Segment: Typ | GF/VF (+GF-Neigung) | 54 |
|
||||
| 54 | je Bogen-Segment: Typ | GF-Bogen/Vario-Kurve (+aussen/innen) | 56 |
|
||||
| 56 | GF-Verteilung | 2 Optionen | 57 |
|
||||
| 57 | Bau (automatisch) | - | ENDE |
|
||||
| 55 | Startpunkt | Punktwahl | 58 |
|
||||
| 58 | Gefaellewinkel | Zahl, Vorschlag aus 2 Punkten | 59 |
|
||||
| 59 | AUS-Element Seite | links/rechts | 60 |
|
||||
| 60 | Separator vor EIN? | Ja/Nein | 61 |
|
||||
| 61 | Bestaetigung "Einfuegen?" | Ja/Nein | ENDE |
|
||||
|
||||
### Baum B — Befehl `GEFAELLESTRECKE`
|
||||
|
||||
| Nr | Block | Eingaben | Weiter mit |
|
||||
|---|---|---|---|
|
||||
| 40 | GF-Modus | Dialog / Start+Endpunkt / Bestehenden Linienzug | 70, 75, 80 |
|
||||
| 70 | Dialog "Gefaellestrecke" | DeltaL, Hoehe, Winkel, AUS/EIN Winkel+Seite, Geruest, Button "VF daneben bauen" | 71 |
|
||||
| 71 | Bau (automatisch) | - | ENDE |
|
||||
| 75 | Startpunkt | Punktwahl | 76 |
|
||||
| 76 | Endpunkt | Punktwahl | 77 |
|
||||
| 77 | AUS-Element | Winkel/Seite | 78 |
|
||||
| 78 | EIN-Element | Winkel/Seite | 79 |
|
||||
| 79 | Bestaetigung "Einfuegen?" | Ja/Nein | ENDE |
|
||||
| 80 | Pfad-Objekte waehlen | Objektauswahl | 81 |
|
||||
| 81 | Berechneten Winkel uebernehmen? | j/n (n -> Winkel-Zahl) | 82 |
|
||||
| 82 | AUS-Element | Winkel/Seite | 83 |
|
||||
| 83 | EIN-Element | Winkel/Seite | 84 |
|
||||
| 84 | Bestaetigung "Einfuegen?" | Ja/Nein | ENDE |
|
||||
|
||||
### Beispiel-Abfolgen
|
||||
|
||||
- Standard, Dialog-Pfad: `1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8`
|
||||
- Standard, Legacy-Konsole mit 3D-Linie: `1 -> 2 -> 3 -> 10 -> 11 -> 13 -> 14 -> 16 -> 17 -> 8`
|
||||
- Etage, Dialog-Pfad: `1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8`
|
||||
- Linienzug — AS-Element, GF, Auf/Ab-VF mit Zwischenkurve, Kettenende:
|
||||
`1 -> 2 -> 30 -> 31 -> 32 -> 33 -> 34 -> 36 -> 41 -> 34 -> 37 -> 42 -> 46 -> 42 -> 45`
|
||||
- Linienzug — horizontaler Anfang direkt bis Kettenende:
|
||||
`1 -> 2 -> 30 -> 31 -> 32 -> 34 -> 38 -> 42 -> 45`
|
||||
- Gefaellestrecke per Dialog: `1 -> 40 -> 70 -> 71`
|
||||
- Gefaellestrecke ueber Start-/Endpunkt: `1 -> 40 -> 75 -> 76 -> 77 -> 78 -> 79`
|
||||
|
||||
---
|
||||
|
||||
## 11. GUI-Konzept-Empfehlung (Assistent + Punktwahl)
|
||||
|
||||
- Ein einziger schrittweiser Assistent ist sinnvoll — die Blocknummern in
|
||||
Abschnitt 10 sind bereits fast 1:1 die Wizard-Screens. Verzweigungen/
|
||||
Schleifen (z.B. Linienzug 34<->35, 42<->46) werden zu bedingten Spruengen
|
||||
zum passenden Screen statt einer starren linearen Abfolge. **Umgesetzt**
|
||||
fuer den Linienzug-Hauptstrang (Blocke 31-46) — siehe "Wizard-Status" oben
|
||||
und `dcl/vf_linienzug_wizard.dcl`.
|
||||
- **Punktwahl-Integration**: ein Button pro Punkt-Feld, der im Ruhezustand
|
||||
leer ist und nach Auswahl X/Y/Z daneben anzeigt. Klick aktiviert einen
|
||||
"Punktwahl-Modus" mit Statuszeile/Hinweis am unteren Rand ("Punkt
|
||||
waehlen..."), bis der Benutzer in die Zeichnung klickt — danach zurueck ins
|
||||
Formular. Dieses Muster deckt alle "Punktwahl"-Felder im Entscheidungsbaum
|
||||
ab. **Umsetzung:** bewusst NICHT als eigener DCL-Dialog gebaut — BricsCAD
|
||||
zeigt den `getpoint`-Prompt bereits direkt am Fadenkreuz/an der
|
||||
Befehlszeile, was exakt die gewuenschte "Punkt waehlen"-Statusmeldung ist;
|
||||
ein zusaetzlicher Dialog wuerde hier nur im Weg stehen (siehe naechster
|
||||
Punkt).
|
||||
- **Einschraenkung**: Solange BricsCAD synchron auf `getpoint`/`entsel`
|
||||
wartet, kann die Formular-Oberflaeche waehrend der Punktwahl nicht
|
||||
gleichzeitig bedienbar sein — die Statuszeile ersetzt den heutigen
|
||||
Konsolen-Prompt, das Formular selbst bleibt aber bis zur Auswahl gesperrt
|
||||
(modal), genau wie heute die Kommandozeile blockiert.
|
||||
@@ -55,6 +55,7 @@
|
||||
"vfl-edit-kein-journal": "Dieser Linienzug-Block traegt kein Eingabe-Journal (Altbestand) und kann nicht schrittweise editiert werden.",
|
||||
"vfl-edit-kette-header": "\n\nLinienzug mit %1 Glied(ern):",
|
||||
"vfl-edit-abgespielt": "\n>>> %1 Glied(er) werden abgespielt, %2 zurueckgenommen - danach interaktiv weiter.",
|
||||
"vfl-edit2-reset-info": "\n>>> Linienzug (Modus 2) wird mit den gespeicherten Angaben identisch neu aufgebaut...",
|
||||
"omni-alle-winkel": "alle Winkel",
|
||||
"omni-grad": " Grad",
|
||||
"omni-bogen-keine-gefunden": "Keine Boegen fuer %1%2 gefunden.",
|
||||
@@ -98,6 +99,7 @@
|
||||
"vfl-m3-prompt-zielhoehe": "\nZiel-Hoehe (Z) des Endpunkts [%1]: ",
|
||||
"vfl-m3-fehler-nicht-sortierbar": "\nFEHLER: Pfad nicht sortierbar (haengt er lueckenlos zusammen?).",
|
||||
"vfl-m3-alert-eckwinkel": "Kein passender Bogen: Eck-Winkel %1 Grad ist nicht ~30/60/90.\nBitte die Winkel anpassen.",
|
||||
"vfl-m3-alert-objekte-fehlen": "%1 der urspruenglich gewaehlten Pfad-Objekte wurden in der Zeichnung nicht mehr gefunden (vermutlich geloescht). Die Kette kann so nicht korrekt neu aufgebaut werden.",
|
||||
"vfl-m3-seg-gerade": "\n\nSegment %1/%2: Gerade L=%3 mm hz=%4",
|
||||
"vfl-m3-auto-vf": "\n (automatisch VF - Segment folgt direkt auf eine Vario-Kurve)",
|
||||
"vfl-m3-typ-gerade": "\n Typ? 1 = GF (Eingabe-Winkel) 2 = VF (Bruecke)",
|
||||
|
||||
@@ -55,6 +55,7 @@
|
||||
"vfl-edit-kein-journal": "This chain block carries no input journal (legacy) and cannot be edited step by step.",
|
||||
"vfl-edit-kette-header": "\n\nChain with %1 segment(s):",
|
||||
"vfl-edit-abgespielt": "\n>>> %1 segment(s) replayed, %2 undone - then continue interactively.",
|
||||
"vfl-edit2-reset-info": "\n>>> Rebuilding this Modus-2 chain identically from the saved inputs...",
|
||||
"omni-alle-winkel": "all angles",
|
||||
"omni-grad": " deg",
|
||||
"omni-bogen-keine-gefunden": "No arcs found for %1%2.",
|
||||
@@ -98,6 +99,7 @@
|
||||
"vfl-m3-prompt-zielhoehe": "\nTarget height (Z) of the end point [%1]: ",
|
||||
"vfl-m3-fehler-nicht-sortierbar": "\nERROR: path cannot be sorted (is it connected without gaps?).",
|
||||
"vfl-m3-alert-eckwinkel": "No matching arc: corner angle %1 deg is not ~30/60/90.\nPlease adjust the angles.",
|
||||
"vfl-m3-alert-objekte-fehlen": "%1 of the originally selected path objects could no longer be found in the drawing (likely deleted). The chain cannot be rebuilt correctly like this.",
|
||||
"vfl-m3-seg-gerade": "\n\nSegment %1/%2: straight L=%3 mm hz=%4",
|
||||
"vfl-m3-auto-vf": "\n (automatic VF - segment follows directly after a Vario curve)",
|
||||
"vfl-m3-typ-gerade": "\n Type? 1 = GF (input angle) 2 = VF (bridge)",
|
||||
|
||||
+98
-88
@@ -620,175 +620,175 @@
|
||||
<Command>^C^C(ssg-ensure "OmniModulInsert") OMNI_EDIT</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00130">
|
||||
<MenuMacro UID="MM_00131">
|
||||
<Macro>
|
||||
<Name>Marker einfuegen</Name>
|
||||
<Command>^C^C(ssg-ensure "Tro_Edit") TRO_INSERT</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00131">
|
||||
<MenuMacro UID="MM_00132">
|
||||
<Macro>
|
||||
<Name>Marker bearbeiten</Name>
|
||||
<Command>^C^C(ssg-ensure "Tro_Edit") TRO_EDIT</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00132">
|
||||
<MenuMacro UID="MM_00133">
|
||||
<Macro>
|
||||
<Name>Bearbeiten (Auto)</Name>
|
||||
<Command>^C^C(ssg-ensure "SSG_LIB_Commands") SSG_BLOCKEDIT</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00134">
|
||||
<MenuMacro UID="MM_00135">
|
||||
<Macro>
|
||||
<Name>Verbindung einfuegen</Name>
|
||||
<Command>^C^C(ssg-ensure "Connection_Edit") CONNECTION_INSERT</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00135">
|
||||
<MenuMacro UID="MM_00136">
|
||||
<Macro>
|
||||
<Name>Verbindung bearbeiten</Name>
|
||||
<Command>^C^C(ssg-ensure "Connection_Edit") CONNECTION_EDIT</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00138">
|
||||
<MenuMacro UID="MM_00140">
|
||||
<Macro>
|
||||
<Name>Export Sivas</Name>
|
||||
<Command>^C^C(ssg-ensure "count_sep_scan") ZAEHLE_SEP_SCAN (ssg-ensure "export") EXPORTSIVAS</Command>
|
||||
<Command>^C^C(ssg-ensure "export") EXPORTSIVAS</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00139">
|
||||
<MenuMacro UID="MM_00141">
|
||||
<Macro>
|
||||
<Name>Export CSV</Name>
|
||||
<Command>^C^C(ssg-ensure "export") EXPORTCSV</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00141">
|
||||
<MenuMacro UID="MM_00143">
|
||||
<Macro>
|
||||
<Name>Umschalten 2D und 3D</Name>
|
||||
<Command>^C^C(ssg-ensure "SSG_LIB_Commands") SSG_DIM_SWITCH</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00142">
|
||||
<MenuMacro UID="MM_00144">
|
||||
<Macro>
|
||||
<Name>Alle Bloecke auf 2D</Name>
|
||||
<Command>^C^C(ssg-ensure "SSG_LIB_Commands") SSG_DIM_ALL_2D</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00143">
|
||||
<MenuMacro UID="MM_00145">
|
||||
<Macro>
|
||||
<Name>Alle Bloecke auf 3D</Name>
|
||||
<Command>^C^C(ssg-ensure "SSG_LIB_Commands") SSG_DIM_ALL_3D</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00144">
|
||||
<MenuMacro UID="MM_00146">
|
||||
<Macro>
|
||||
<Name>Sprache</Name>
|
||||
<Command>^C^C(ssg-ensure "SSG_LIB_Commands") SSG_SPRACHE</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00147">
|
||||
<MenuMacro UID="MM_00149">
|
||||
<Macro>
|
||||
<Name>Alle Tests ausfuehren</Name>
|
||||
<Command>^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_run_all.lsp")) SSG_RUN_ALL_TESTS</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00149">
|
||||
<MenuMacro UID="MM_00151">
|
||||
<Macro>
|
||||
<Name>Kreisel</Name>
|
||||
<Command>^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_kreisel.lsp")) TEST_KREISEL</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00150">
|
||||
<MenuMacro UID="MM_00152">
|
||||
<Macro>
|
||||
<Name>Foerderer</Name>
|
||||
<Command>^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_foerderer.lsp")) TEST_FOERDERER</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00151">
|
||||
<MenuMacro UID="MM_00153">
|
||||
<Macro>
|
||||
<Name>Foerderer-Linienzug</Name>
|
||||
<Command>^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_linienzug.lsp")) TEST_LINIENZUG</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00152">
|
||||
<MenuMacro UID="MM_00154">
|
||||
<Macro>
|
||||
<Name>Omniflo</Name>
|
||||
<Command>^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_omniflo.lsp")) TEST_OMNIFLO</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00153">
|
||||
<MenuMacro UID="MM_00155">
|
||||
<Macro>
|
||||
<Name>Omniflo Strecke</Name>
|
||||
<Command>^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_omniflo_strecke.lsp")) TEST_OMNIFLO_STRECKE</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00154">
|
||||
<MenuMacro UID="MM_00156">
|
||||
<Macro>
|
||||
<Name>Gefaellestrecke</Name>
|
||||
<Command>^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_gefaellestrecke.lsp")) TEST_GEFAELLESTRECKE</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00155">
|
||||
<MenuMacro UID="MM_00157">
|
||||
<Macro>
|
||||
<Name>Mubea Gesamtmodell</Name>
|
||||
<Command>^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_mubea.lsp")) TEST_MUBEA</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00156">
|
||||
<MenuMacro UID="MM_00158">
|
||||
<Macro>
|
||||
<Name>HundM05 Kreisel-Abschnitt</Name>
|
||||
<Command>^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_hundm05.lsp")) TEST_HUNDM05</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00157">
|
||||
<MenuMacro UID="MM_00159">
|
||||
<Macro>
|
||||
<Name>KS 2D/3D pruefen (CSV)</Name>
|
||||
<Command>^C^C(load (strcat (getenv "DXFMAKRO") "/Lisp/ks_pruefung.lsp")) KS_PRUEFEN</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00158">
|
||||
<MenuMacro UID="MM_00160">
|
||||
<Macro>
|
||||
<Name>Export CSV/Sivas ALL</Name>
|
||||
<Command>^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_export_all.lsp")) TEST_EXPORT_ALL</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00170">
|
||||
<MenuMacro UID="MM_00172">
|
||||
<Macro>
|
||||
<Name>Kreisel bearbeiten</Name>
|
||||
<Command>(ssg-ensure "KreiselInsert") KreiselEdit</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00171">
|
||||
<MenuMacro UID="MM_00173">
|
||||
<Macro>
|
||||
<Name>Omniflo Element bearbeiten</Name>
|
||||
<Command>(ssg-ensure "OmniModulInsert") OMNI_EDIT</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00172">
|
||||
<MenuMacro UID="MM_00174">
|
||||
<Macro>
|
||||
<Name>Gefaellestrecke bearbeiten</Name>
|
||||
<Command>(ssg-ensure "Gefaellestrecke") GEFAELLESTRECKE_EDIT</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00173">
|
||||
<MenuMacro UID="MM_00175">
|
||||
<Macro>
|
||||
<Name>VarioFoerderer bearbeiten</Name>
|
||||
<Command>(ssg-ensure "VarioFoerderer") VARIOFOERDERER_EDIT</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00174">
|
||||
<MenuMacro UID="MM_00176">
|
||||
<Macro>
|
||||
<Name>TRO-Marker bearbeiten</Name>
|
||||
<Command>(ssg-ensure "Tro_Edit") TRO_EDIT</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00175">
|
||||
<MenuMacro UID="MM_00177">
|
||||
<Macro>
|
||||
<Name>Verbindung bearbeiten</Name>
|
||||
<Command>(ssg-ensure "Connection_Edit") CONNECTION_EDIT</Command>
|
||||
</Macro>
|
||||
</MenuMacro>
|
||||
<MenuMacro UID="MM_00177">
|
||||
<MenuMacro UID="MM_00179">
|
||||
<Macro>
|
||||
<Name>SSG Bearbeiten (Auto)</Name>
|
||||
<Command>(ssg-ensure "SSG_LIB_Commands") SSG_BLOCKEDIT</Command>
|
||||
@@ -806,10 +806,9 @@
|
||||
<PopMenuRef pUID="PM_00005"/>
|
||||
<PopMenuRef pUID="PM_00047"/>
|
||||
<PopMenuRef pUID="PM_00129"/>
|
||||
<PopMenuRef pUID="PM_00133"/>
|
||||
<PopMenuRef pUID="PM_00137"/>
|
||||
<PopMenuRef pUID="PM_00140"/>
|
||||
<PopMenuRef pUID="PM_00146"/>
|
||||
<PopMenuRef pUID="PM_00139"/>
|
||||
<PopMenuRef pUID="PM_00142"/>
|
||||
<PopMenuRef pUID="PM_00148"/>
|
||||
</PopMenu>
|
||||
<PopMenu UID="PM_00005">
|
||||
<Name>ILS</Name>
|
||||
@@ -1488,88 +1487,99 @@
|
||||
</PopMenuItem>
|
||||
</PopMenu>
|
||||
<PopMenu UID="PM_00129">
|
||||
<Name>SPS</Name>
|
||||
<PopMenuRef pUID="PM_00130"/>
|
||||
<PopMenuRef pUID="PM_00134"/>
|
||||
<PopMenuItem>
|
||||
<NameRef>SPS Schliessen</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00046"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
</PopMenu>
|
||||
<PopMenu UID="PM_00130">
|
||||
<Name>TRO</Name>
|
||||
<PopMenuItem>
|
||||
<NameRef>Marker einfuegen</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00130"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Marker bearbeiten</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00131"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Bearbeiten (Auto)</NameRef>
|
||||
<NameRef>Marker bearbeiten</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00132"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Bearbeiten (Auto)</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00133"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
</PopMenu>
|
||||
<PopMenu UID="PM_00133">
|
||||
<PopMenu UID="PM_00134">
|
||||
<Name>Connections</Name>
|
||||
<PopMenuItem>
|
||||
<NameRef>Verbindung einfuegen</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00134"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Verbindung bearbeiten</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00135"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Verbindung bearbeiten</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00136"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Bearbeiten (Auto)</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00132"/>
|
||||
<MacroRef MenuMacroID="MM_00133"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
</PopMenu>
|
||||
<PopMenu UID="PM_00137">
|
||||
<PopMenu UID="PM_00139">
|
||||
<Name>Export</Name>
|
||||
<PopMenuItem>
|
||||
<NameRef>Export Sivas</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00138"/>
|
||||
<MacroRef MenuMacroID="MM_00140"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Export CSV</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00139"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
</PopMenu>
|
||||
<PopMenu UID="PM_00140">
|
||||
<Name>Konfiguration</Name>
|
||||
<PopMenuItem>
|
||||
<NameRef>Umschalten 2D und 3D</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00141"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
</PopMenu>
|
||||
<PopMenu UID="PM_00142">
|
||||
<Name>Konfiguration</Name>
|
||||
<PopMenuItem>
|
||||
<NameRef>Alle Bloecke auf 2D</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00142"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Alle Bloecke auf 3D</NameRef>
|
||||
<NameRef>Umschalten 2D und 3D</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00143"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Sprache</NameRef>
|
||||
<NameRef>Alle Bloecke auf 2D</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00144"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Alle Bloecke auf 3D</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00145"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Sprache</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00146"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Konfiguration Schliessen</NameRef>
|
||||
<MenuItem>
|
||||
@@ -1577,120 +1587,120 @@
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
</PopMenu>
|
||||
<PopMenu UID="PM_00146">
|
||||
<PopMenu UID="PM_00148">
|
||||
<Name>Tests</Name>
|
||||
<PopMenuItem>
|
||||
<NameRef>Alle Tests ausfuehren</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00147"/>
|
||||
<MacroRef MenuMacroID="MM_00149"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem IsSeparator="true"/>
|
||||
<PopMenuItem>
|
||||
<NameRef>Kreisel</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00149"/>
|
||||
<MacroRef MenuMacroID="MM_00151"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Foerderer</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00150"/>
|
||||
<MacroRef MenuMacroID="MM_00152"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Foerderer-Linienzug</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00151"/>
|
||||
<MacroRef MenuMacroID="MM_00153"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Omniflo</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00152"/>
|
||||
<MacroRef MenuMacroID="MM_00154"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Omniflo Strecke</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00153"/>
|
||||
<MacroRef MenuMacroID="MM_00155"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Gefaellestrecke</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00154"/>
|
||||
<MacroRef MenuMacroID="MM_00156"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Mubea Gesamtmodell</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00155"/>
|
||||
<MacroRef MenuMacroID="MM_00157"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>HundM05 Kreisel-Abschnitt</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00156"/>
|
||||
<MacroRef MenuMacroID="MM_00158"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>KS 2D/3D pruefen (CSV)</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00157"/>
|
||||
<MacroRef MenuMacroID="MM_00159"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Export CSV/Sivas ALL</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00158"/>
|
||||
<MacroRef MenuMacroID="MM_00160"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
</PopMenu>
|
||||
<PopMenu UID="PM_00169">
|
||||
<PopMenu UID="PM_00171">
|
||||
<Alias>POP501</Alias>
|
||||
<Name>SSG_LIB Edit Context</Name>
|
||||
<PopMenuItem>
|
||||
<NameRef>Kreisel bearbeiten</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00170"/>
|
||||
<MacroRef MenuMacroID="MM_00172"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Omniflo Element bearbeiten</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00171"/>
|
||||
<MacroRef MenuMacroID="MM_00173"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Gefaellestrecke bearbeiten</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00172"/>
|
||||
<MacroRef MenuMacroID="MM_00174"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>VarioFoerderer bearbeiten</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00173"/>
|
||||
<MacroRef MenuMacroID="MM_00175"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>TRO-Marker bearbeiten</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00174"/>
|
||||
<MacroRef MenuMacroID="MM_00176"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem>
|
||||
<NameRef>Verbindung bearbeiten</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00175"/>
|
||||
<MacroRef MenuMacroID="MM_00177"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
<PopMenuItem IsSeparator="true"/>
|
||||
<PopMenuItem>
|
||||
<NameRef>SSG Bearbeiten (Auto)</NameRef>
|
||||
<MenuItem>
|
||||
<MacroRef MenuMacroID="MM_00177"/>
|
||||
<MacroRef MenuMacroID="MM_00179"/>
|
||||
</MenuItem>
|
||||
</PopMenuItem>
|
||||
</PopMenu>
|
||||
|
||||
@@ -126,6 +126,7 @@
|
||||
[~APBW 110 R550/67,5 208x347]^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R550_675_208
|
||||
[<-~APBW 110 R550/67,5 58x497]^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R550_675_58
|
||||
[<-Element bearbeiten]^C^C(ssg-ensure "OmniModulInsert") OMNI_EDIT
|
||||
[->SPS]
|
||||
[->TRO]
|
||||
[Marker einfuegen]^C^C(ssg-ensure "Tro_Edit") TRO_INSERT
|
||||
[Marker bearbeiten]^C^C(ssg-ensure "Tro_Edit") TRO_EDIT
|
||||
@@ -134,6 +135,7 @@
|
||||
[Verbindung einfuegen]^C^C(ssg-ensure "Connection_Edit") CONNECTION_INSERT
|
||||
[Verbindung bearbeiten]^C^C(ssg-ensure "Connection_Edit") CONNECTION_EDIT
|
||||
[<-Bearbeiten (Auto)]^C^C(ssg-ensure "SSG_LIB_Commands") SSG_BLOCKEDIT
|
||||
[<-SPS Schliessen]^C^C
|
||||
[->Export]
|
||||
[Export Sivas]^C^C(ssg-ensure "export") EXPORTSIVAS
|
||||
[<-Export CSV]^C^C(ssg-ensure "export") EXPORTCSV
|
||||
|
||||
Reference in New Issue
Block a user