[REFACTOR] VF: Standard/Etage-Dialog-Ablauf vereint (vf-dialog-ablauf)
vfs-standard-dialog-ablauf/-berechnen-einfuegen und vfe-etage-dialog-ablauf/ -berechnen-einfuegen waren strukturell 1:1-Kopien (~200 Zeilen), Unterschiede nur: Berechnungs-/Einfuege-Funktion, XDATA-Marker, horizontale Zwischenstrecke. Neu in vf_core: - vf-registry-berechne-fn/-einfuege-fn: Registry-Accessoren (berechne-fn/ einfuege-fn kommen ohnehin aus *vf-typ-registry* pro Typ) - vf-dialog-berechnen-einfuegen (typ ... horizontal-p): gemeinsamer Ablauf, horizontal-p T=Standard (mit Zwischenstrecke), nil=Etage - vf-dialog-ablauf (typ vf-nummer horizontal-p): gemeinsame Neuanlage Die vfs-*/vfe-*-Namen bleiben als duenne Wrapper (Doppelklick-Edit-Dispatch + Gefaellestrecke-Aufruf vfs-standard-dialog-berechnen-einfuegen unveraendert, gleiche Arity/Rueckgabe). XDATA-Schreiben identisch (vfs-xdata-schreiben war schon (vf-edit-xdata-schreiben ent "standard" hz)). -45 Zeilen netto, eine gemeinsame Implementierung. Paren-Balance geprueft. Beruehrt Bau -> BricsCAD-Test Standard+Etage (Neuanlage + Doppelklick-Edit). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -909,6 +909,116 @@
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
;; ============================================================
|
||||||
|
;; TEIL 10b: GEMEINSAMER DIALOG-ABLAUF (Standard + Etage)
|
||||||
|
;; ============================================================
|
||||||
|
;; Standard- und Etage-Typ teilen denselben Neuanlage-/Berechnen-Einfuege-
|
||||||
|
;; Ablauf; sie unterscheiden sich nur in Berechnungs-/Einfuege-Funktion (aus
|
||||||
|
;; der Typ-Registry), im XDATA-Marker und darin, ob die horizontale
|
||||||
|
;; Zwischenstrecke (nur "Ab") als Zusatzoption angeboten wird.
|
||||||
|
;; berechne-fn/einfuege-fn kommen aus *vf-typ-registry* (via typ).
|
||||||
|
(defun vf-registry-berechne-fn (typ) (nth 1 (assoc typ *vf-typ-registry*)))
|
||||||
|
(defun vf-registry-einfuege-fn (typ) (nth 2 (assoc typ *vf-typ-registry*)))
|
||||||
|
|
||||||
|
;; Gemeinsame Berechnung + Winkel/Verteilung-Dialog + Einfuegung fuer einen
|
||||||
|
;; Registry-Typ. horizontal-p = T: horizontale Zwischenstrecke (Winkel 0) als
|
||||||
|
;; Zusatzoption bei "Ab" anbieten (Standard); nil: nicht (Etage).
|
||||||
|
;; Rueckgabe: (vf-insert vf-endpunkt), bei Abbruch (nil nil).
|
||||||
|
(defun vf-dialog-berechnen-einfuegen (typ vf-nummer deltaL deltaH richtung startpunkt hz seite
|
||||||
|
winkel-prefill geruest-einzelmodul geruest-typ horizontal-p /
|
||||||
|
berechne-fn einfuege-fn ergebnis ergebnis-liste gueltige-winkel
|
||||||
|
horizontal-info winkelwahl best-winkel L_GF L_VF L_GF1 L_GF2
|
||||||
|
verteilung-modus n-scanner hoehe-von hoehe-bis lastEnt
|
||||||
|
vf-insert vf-endpunkt staustrecke-basis)
|
||||||
|
(setq berechne-fn (vf-registry-berechne-fn typ))
|
||||||
|
(setq einfuege-fn (vf-registry-einfuege-fn typ))
|
||||||
|
(setq ergebnis (apply berechne-fn (list deltaL deltaH richtung seite)))
|
||||||
|
(setq ergebnis-liste (cadddr ergebnis))
|
||||||
|
(setq staustrecke-basis (ssg-cfg-or "vario" "staustrecke_basis" 1000))
|
||||||
|
|
||||||
|
;; Horizontale Zwischenstrecke als Zusatzoption (nur bei "Ab", nur wenn
|
||||||
|
;; horizontal-p). Winkel-Sentinel 0.
|
||||||
|
(setq horizontal-info nil)
|
||||||
|
(if (and horizontal-p (= richtung "Ab"))
|
||||||
|
(progn
|
||||||
|
(setq horizontal-info (berechne-horizontale-mitte deltaL deltaH "Ab"))
|
||||||
|
(if (and horizontal-info (caddr horizontal-info))
|
||||||
|
(setq ergebnis-liste
|
||||||
|
(append ergebnis-liste (list (list 0 (car horizontal-info) (cadr horizontal-info) T))))
|
||||||
|
(setq horizontal-info nil)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(setq gueltige-winkel
|
||||||
|
(mapcar 'car
|
||||||
|
(vl-remove-if-not
|
||||||
|
(function (lambda (e) (and (nth 3 e) (numberp (nth 1 e)) (numberp (nth 2 e))
|
||||||
|
(>= (nth 1 e) 0) (>= (nth 2 e) 0))))
|
||||||
|
ergebnis-liste)))
|
||||||
|
|
||||||
|
(if (null gueltige-winkel)
|
||||||
|
(alert (ssg-textf "vfc-alert-kein-winkel"
|
||||||
|
(list (chr 916) (rtos deltaL 2 0) (rtos deltaH 2 0) richtung)))
|
||||||
|
(progn
|
||||||
|
(setq winkelwahl (vfs-dialog-winkel-verteilung gueltige-winkel ergebnis-liste staustrecke-basis winkel-prefill))
|
||||||
|
(if (null winkelwahl)
|
||||||
|
(princ (ssg-text "vfc-vorgang-abgebrochen"))
|
||||||
|
(progn
|
||||||
|
(setq best-winkel (nth 0 winkelwahl)
|
||||||
|
L_GF (nth 1 winkelwahl)
|
||||||
|
L_VF (nth 2 winkelwahl)
|
||||||
|
L_GF1 (nth 3 winkelwahl)
|
||||||
|
L_GF2 (nth 4 winkelwahl)
|
||||||
|
verteilung-modus (nth 5 winkelwahl))
|
||||||
|
(setq n-scanner 0)
|
||||||
|
(setq hoehe-von (caddr startpunkt))
|
||||||
|
(setq hoehe-bis
|
||||||
|
(cond ((= richtung "Auf") (+ hoehe-von deltaH))
|
||||||
|
((= richtung "Ab") (- hoehe-von deltaH))
|
||||||
|
(t hoehe-von)))
|
||||||
|
(setq lastEnt (vf-lastent-ohne-attribute))
|
||||||
|
(setq vf-endpunkt
|
||||||
|
(apply einfuege-fn
|
||||||
|
(list deltaL deltaH richtung best-winkel L_GF1 L_GF2 L_VF startpunkt seite hz)))
|
||||||
|
(setq vf-insert
|
||||||
|
(vf-block-erstellen typ seite vf-nummer n-scanner
|
||||||
|
hoehe-von hoehe-bis deltaH deltaL L_VF L_GF1 L_GF2
|
||||||
|
richtung best-winkel startpunkt lastEnt hz
|
||||||
|
geruest-einzelmodul geruest-typ))
|
||||||
|
(if vf-insert (vf-edit-xdata-schreiben vf-insert typ hz))
|
||||||
|
(princ "\n=========================================")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(list vf-insert vf-endpunkt)
|
||||||
|
)
|
||||||
|
|
||||||
|
;; Neuanlage (Menue/Konsole -> Dialog) fuer einen Registry-Typ: Startpunkt
|
||||||
|
;; (X/Y) picken, Basis-Dialog, dann vf-dialog-berechnen-einfuegen.
|
||||||
|
(defun vf-dialog-ablauf (typ vf-nummer horizontal-p / eingabe deltaL deltaH richtung
|
||||||
|
z-start hz seite startpunkt startpunkt-xy dim
|
||||||
|
geruest-einzelmodul geruest-typ motorseite)
|
||||||
|
(setq startpunkt-xy (getpoint (ssg-text "vfc-prompt-startpunkt-aus")))
|
||||||
|
(if (null startpunkt-xy) (setq startpunkt-xy '(0 0 0)))
|
||||||
|
(setq eingabe (vfs-dialog-eingabe-basis nil))
|
||||||
|
(if (null eingabe)
|
||||||
|
(princ (ssg-text "vfc-vorgang-abgebrochen"))
|
||||||
|
(progn
|
||||||
|
(vf-basis-eingabe-entpacken eingabe)
|
||||||
|
(setq startpunkt (list (car startpunkt-xy) (cadr startpunkt-xy) z-start))
|
||||||
|
;; Gewaehlte Dimension (2D/3D) + Motorseite fuer den Bau erzwingen, danach zurueck.
|
||||||
|
(setq *ssg-ils-dim* dim)
|
||||||
|
(setq *vf-motorseite* motorseite)
|
||||||
|
(vf-dialog-berechnen-einfuegen typ vf-nummer deltaL deltaH richtung startpunkt hz seite nil
|
||||||
|
geruest-einzelmodul geruest-typ horizontal-p)
|
||||||
|
(setq *ssg-ils-dim* nil)
|
||||||
|
(setq *vf-motorseite* nil)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
;; ============================================================
|
;; ============================================================
|
||||||
;; TEIL 11: UNTERMODULE LADEN
|
;; TEIL 11: UNTERMODULE LADEN
|
||||||
;; ============================================================
|
;; ============================================================
|
||||||
|
|||||||
+7
-78
@@ -738,89 +738,18 @@
|
|||||||
;; seite), Einfuegung ueber etage-foerderanlage-einfuegen, KEINE horizontale
|
;; seite), Einfuegung ueber etage-foerderanlage-einfuegen, KEINE horizontale
|
||||||
;; Zwischenstrecke (Winkel-Sentinel 0). XDATA-Marker "etage".
|
;; Zwischenstrecke (Winkel-Sentinel 0). XDATA-Marker "etage".
|
||||||
|
|
||||||
;; Gemeinsame Berechnung + Winkel/Verteilung-Dialog + Einfuegung.
|
;; Duenner Wrapper auf den gemeinsamen vf-dialog-berechnen-einfuegen (vf_core).
|
||||||
;; Wird von der Neuanlage (vfe-etage-dialog-ablauf) und vom Edit (vfe-edit-ent)
|
;; Etage = OHNE horizontale Zwischenstrecke (horizontal-p nil).
|
||||||
;; genutzt. winkel-prefill: Vorbelegung fuer vfs-dialog-winkel-verteilung oder nil.
|
|
||||||
;; Analog vfs-standard-dialog-berechnen-einfuegen in vf_standard.lsp.
|
|
||||||
(defun vfe-etage-dialog-berechnen-einfuegen (vf-nummer deltaL deltaH richtung startpunkt hz seite
|
(defun vfe-etage-dialog-berechnen-einfuegen (vf-nummer deltaL deltaH richtung startpunkt hz seite
|
||||||
winkel-prefill geruest-einzelmodul geruest-typ /
|
winkel-prefill geruest-einzelmodul geruest-typ)
|
||||||
ergebnis ergebnis-liste gueltige-winkel
|
(vf-dialog-berechnen-einfuegen "etage" vf-nummer deltaL deltaH richtung startpunkt hz seite
|
||||||
winkelwahl best-winkel L_GF L_VF L_GF1 L_GF2 verteilung-modus
|
winkel-prefill geruest-einzelmodul geruest-typ nil))
|
||||||
n-scanner hoehe-von hoehe-bis lastEnt vf-insert vf-endpunkt
|
|
||||||
staustrecke-basis)
|
|
||||||
(setq ergebnis (berechne-etage deltaL deltaH richtung seite))
|
|
||||||
(setq ergebnis-liste (cadddr ergebnis))
|
|
||||||
(setq staustrecke-basis (ssg-cfg-or "vario" "staustrecke_basis" 1000))
|
|
||||||
|
|
||||||
(setq gueltige-winkel
|
|
||||||
(mapcar 'car
|
|
||||||
(vl-remove-if-not
|
|
||||||
(function (lambda (e) (and (nth 3 e) (numberp (nth 1 e)) (numberp (nth 2 e))
|
|
||||||
(>= (nth 1 e) 0) (>= (nth 2 e) 0))))
|
|
||||||
ergebnis-liste)))
|
|
||||||
|
|
||||||
(if (null gueltige-winkel)
|
|
||||||
(alert (ssg-textf "vfc-alert-kein-winkel"
|
|
||||||
(list (chr 916) (rtos deltaL 2 0) (rtos deltaH 2 0) richtung)))
|
|
||||||
(progn
|
|
||||||
(setq winkelwahl (vfs-dialog-winkel-verteilung gueltige-winkel ergebnis-liste staustrecke-basis winkel-prefill))
|
|
||||||
(if (null winkelwahl)
|
|
||||||
(princ (ssg-text "vfc-vorgang-abgebrochen"))
|
|
||||||
(progn
|
|
||||||
(setq best-winkel (nth 0 winkelwahl)
|
|
||||||
L_GF (nth 1 winkelwahl)
|
|
||||||
L_VF (nth 2 winkelwahl)
|
|
||||||
L_GF1 (nth 3 winkelwahl)
|
|
||||||
L_GF2 (nth 4 winkelwahl)
|
|
||||||
verteilung-modus (nth 5 winkelwahl))
|
|
||||||
(setq n-scanner 0)
|
|
||||||
(setq hoehe-von (caddr startpunkt))
|
|
||||||
(setq hoehe-bis
|
|
||||||
(cond ((= richtung "Auf") (+ hoehe-von deltaH))
|
|
||||||
((= richtung "Ab") (- hoehe-von deltaH))
|
|
||||||
(t hoehe-von)))
|
|
||||||
(setq lastEnt (vf-lastent-ohne-attribute))
|
|
||||||
(setq vf-endpunkt
|
|
||||||
(etage-foerderanlage-einfuegen deltaL deltaH richtung best-winkel L_GF1 L_GF2 L_VF startpunkt seite hz))
|
|
||||||
(setq vf-insert
|
|
||||||
(vf-block-erstellen "etage" seite vf-nummer n-scanner
|
|
||||||
hoehe-von hoehe-bis deltaH deltaL L_VF L_GF1 L_GF2
|
|
||||||
richtung best-winkel startpunkt lastEnt hz
|
|
||||||
geruest-einzelmodul geruest-typ))
|
|
||||||
(if vf-insert (vf-edit-xdata-schreiben vf-insert "etage" hz))
|
|
||||||
(princ "\n=========================================")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(list vf-insert vf-endpunkt)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; Neuanlage (Menue/Konsole -> Dialog): Startpunkt (X/Y) picken, Basis-Dialog,
|
;; Neuanlage (Menue/Konsole -> Dialog): Startpunkt (X/Y) picken, Basis-Dialog,
|
||||||
;; dann gemeinsame Berechnung/Winkel-Dialog/Einfuegung.
|
;; dann gemeinsame Berechnung/Winkel-Dialog/Einfuegung.
|
||||||
;; Analog vfs-standard-dialog-ablauf in vf_standard.lsp.
|
;; Analog vfs-standard-dialog-ablauf in vf_standard.lsp.
|
||||||
(defun vfe-etage-dialog-ablauf (vf-nummer / eingabe deltaL deltaH richtung
|
(defun vfe-etage-dialog-ablauf (vf-nummer)
|
||||||
z-start hz seite startpunkt startpunkt-xy dim
|
(vf-dialog-ablauf "etage" vf-nummer nil))
|
||||||
geruest-einzelmodul geruest-typ motorseite)
|
|
||||||
(setq startpunkt-xy (getpoint (ssg-text "vfc-prompt-startpunkt-aus")))
|
|
||||||
(if (null startpunkt-xy) (setq startpunkt-xy '(0 0 0)))
|
|
||||||
|
|
||||||
(setq eingabe (vfs-dialog-eingabe-basis nil))
|
|
||||||
(if (null eingabe)
|
|
||||||
(princ (ssg-text "vfc-vorgang-abgebrochen"))
|
|
||||||
(progn
|
|
||||||
(vf-basis-eingabe-entpacken eingabe)
|
|
||||||
(setq startpunkt (list (car startpunkt-xy) (cadr startpunkt-xy) z-start))
|
|
||||||
;; Gewaehlte Dimension (2D/3D) + Motorseite fuer den Bau erzwingen, danach zurueck.
|
|
||||||
(setq *ssg-ils-dim* dim)
|
|
||||||
(setq *vf-motorseite* motorseite)
|
|
||||||
(vfe-etage-dialog-berechnen-einfuegen vf-nummer deltaL deltaH richtung startpunkt hz seite nil
|
|
||||||
geruest-einzelmodul geruest-typ)
|
|
||||||
(setq *ssg-ils-dim* nil)
|
|
||||||
(setq *vf-motorseite* nil)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; Edit eines bestehenden Etage-VF-Blocks (VF_n mit SSG_VF_EDIT-XDATA "etage").
|
;; Edit eines bestehenden Etage-VF-Blocks (VF_n mit SSG_VF_EDIT-XDATA "etage").
|
||||||
;; Wird von c:VARIOFOERDERER_EDIT (vf_standard.lsp) per Typ-Dispatch gerufen und
|
;; Wird von c:VARIOFOERDERER_EDIT (vf_standard.lsp) per Typ-Dispatch gerufen und
|
||||||
|
|||||||
+10
-94
@@ -942,103 +942,19 @@
|
|||||||
;; Edit-Befehl (c:VARIOFOERDERER_EDIT) verwendet.
|
;; Edit-Befehl (c:VARIOFOERDERER_EDIT) verwendet.
|
||||||
;; winkel-prefill: Vorbelegung fuer vfs-dialog-winkel-verteilung oder nil.
|
;; winkel-prefill: Vorbelegung fuer vfs-dialog-winkel-verteilung oder nil.
|
||||||
;; ============================================================
|
;; ============================================================
|
||||||
|
;; Duenne Wrapper: der gemeinsame Ablauf liegt jetzt in vf_core
|
||||||
|
;; (vf-dialog-berechnen-einfuegen / vf-dialog-ablauf). Standard = mit
|
||||||
|
;; horizontaler Zwischenstrecke (horizontal-p T).
|
||||||
(defun vfs-standard-dialog-berechnen-einfuegen (vf-nummer deltaL deltaH richtung startpunkt hz seite
|
(defun vfs-standard-dialog-berechnen-einfuegen (vf-nummer deltaL deltaH richtung startpunkt hz seite
|
||||||
winkel-prefill geruest-einzelmodul geruest-typ /
|
winkel-prefill geruest-einzelmodul geruest-typ)
|
||||||
ergebnis ergebnis-liste gueltige-winkel horizontal-info
|
(vf-dialog-berechnen-einfuegen "standard" vf-nummer deltaL deltaH richtung startpunkt hz seite
|
||||||
winkelwahl best-winkel L_GF L_VF L_GF1 L_GF2 verteilung-modus
|
winkel-prefill geruest-einzelmodul geruest-typ T))
|
||||||
n-scanner hoehe-von hoehe-bis lastEnt vf-insert vf-endpunkt staustrecke-basis)
|
|
||||||
(setq ergebnis (berechne-standard deltaL deltaH richtung seite))
|
|
||||||
(setq ergebnis-liste (cadddr ergebnis))
|
|
||||||
(setq staustrecke-basis (ssg-cfg-or "vario" "staustrecke_basis" 1000))
|
|
||||||
|
|
||||||
;; Horizontale Zwischenstrecke als Zusatzoption (nur bei "Ab" erreichbar,
|
|
||||||
;; siehe Kommentar in c:VarioFoerderer Schritt 5b).
|
|
||||||
(setq horizontal-info nil)
|
|
||||||
(if (= richtung "Ab")
|
|
||||||
(progn
|
|
||||||
(setq horizontal-info (berechne-horizontale-mitte deltaL deltaH "Ab"))
|
|
||||||
(if (and horizontal-info (caddr horizontal-info))
|
|
||||||
(setq ergebnis-liste
|
|
||||||
(append ergebnis-liste (list (list 0 (car horizontal-info) (cadr horizontal-info) T))))
|
|
||||||
(setq horizontal-info nil)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(setq gueltige-winkel
|
;; Neuanlage (Menue/Konsole -> Dialog). Duenner Wrapper auf den gemeinsamen
|
||||||
(mapcar 'car
|
;; vf-dialog-ablauf (vf_core); Standard = mit horizontaler Zwischenstrecke.
|
||||||
(vl-remove-if-not
|
(defun vfs-standard-dialog-ablauf (vf-nummer)
|
||||||
(function (lambda (e) (and (nth 3 e) (numberp (nth 1 e)) (numberp (nth 2 e))
|
(vf-dialog-ablauf "standard" vf-nummer T))
|
||||||
(>= (nth 1 e) 0) (>= (nth 2 e) 0))))
|
|
||||||
ergebnis-liste)))
|
|
||||||
|
|
||||||
(if (null gueltige-winkel)
|
|
||||||
(alert (ssg-textf "vfc-alert-kein-winkel"
|
|
||||||
(list (chr 916) (rtos deltaL 2 0) (rtos deltaH 2 0) richtung)))
|
|
||||||
(progn
|
|
||||||
(setq winkelwahl (vfs-dialog-winkel-verteilung gueltige-winkel ergebnis-liste staustrecke-basis winkel-prefill))
|
|
||||||
(if (null winkelwahl)
|
|
||||||
(princ (ssg-text "vfc-vorgang-abgebrochen"))
|
|
||||||
(progn
|
|
||||||
(setq best-winkel (nth 0 winkelwahl)
|
|
||||||
L_GF (nth 1 winkelwahl)
|
|
||||||
L_VF (nth 2 winkelwahl)
|
|
||||||
L_GF1 (nth 3 winkelwahl)
|
|
||||||
L_GF2 (nth 4 winkelwahl)
|
|
||||||
verteilung-modus (nth 5 winkelwahl))
|
|
||||||
(setq n-scanner 0)
|
|
||||||
(setq hoehe-von (caddr startpunkt))
|
|
||||||
(setq hoehe-bis
|
|
||||||
(cond ((= richtung "Auf") (+ hoehe-von deltaH))
|
|
||||||
((= richtung "Ab") (- hoehe-von deltaH))
|
|
||||||
(t hoehe-von)))
|
|
||||||
(setq lastEnt (vf-lastent-ohne-attribute))
|
|
||||||
|
|
||||||
;; endpunkt = tatsaechliches ES-KS_AUS (Weltpunkt) - wird fuer die
|
|
||||||
;; Ausrichtung des Parallel-VF (gf-baue-parallel-vf) zurueckgegeben.
|
|
||||||
(setq vf-endpunkt
|
|
||||||
(variofoerderer-einfuegen deltaL deltaH richtung best-winkel L_GF1 L_GF2 L_VF startpunkt seite hz))
|
|
||||||
|
|
||||||
(setq vf-insert
|
|
||||||
(vf-block-erstellen "standard" seite vf-nummer n-scanner
|
|
||||||
hoehe-von hoehe-bis deltaH deltaL L_VF L_GF1 L_GF2
|
|
||||||
richtung best-winkel startpunkt lastEnt hz
|
|
||||||
geruest-einzelmodul geruest-typ))
|
|
||||||
(if vf-insert (vfs-xdata-schreiben vf-insert hz))
|
|
||||||
(princ "\n=========================================")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
;; Rueckgabe: (vf-insert vf-endpunkt) fuer aufrufende Ausrichtungslogik;
|
|
||||||
;; bei Abbruch/Fehler (nil nil). Menue-Aufrufer ignorieren die Rueckgabe.
|
|
||||||
(list vf-insert vf-endpunkt)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; Neuanlage (Menue/Konsole -> Dialog): Startpunkt (X/Y) picken, Basis-Dialog,
|
|
||||||
;; dann gemeinsame Berechnung/Winkel-Dialog/Einfuegung.
|
|
||||||
(defun vfs-standard-dialog-ablauf (vf-nummer / eingabe deltaL deltaH richtung
|
|
||||||
z-start hz seite startpunkt startpunkt-xy dim
|
|
||||||
geruest-einzelmodul geruest-typ motorseite)
|
|
||||||
(setq startpunkt-xy (getpoint (ssg-text "vfc-prompt-startpunkt-aus")))
|
|
||||||
(if (null startpunkt-xy) (setq startpunkt-xy '(0 0 0)))
|
|
||||||
|
|
||||||
(setq eingabe (vfs-dialog-eingabe-basis nil))
|
|
||||||
(if (null eingabe)
|
|
||||||
(princ (ssg-text "vfc-vorgang-abgebrochen"))
|
|
||||||
(progn
|
|
||||||
(vf-basis-eingabe-entpacken eingabe)
|
|
||||||
(setq startpunkt (list (car startpunkt-xy) (cadr startpunkt-xy) z-start))
|
|
||||||
;; Gewaehlte Dimension (2D/3D) + Motorseite fuer den Bau erzwingen (Override), danach zurueck.
|
|
||||||
(setq *ssg-ils-dim* dim)
|
|
||||||
(setq *vf-motorseite* motorseite)
|
|
||||||
(vfs-standard-dialog-berechnen-einfuegen vf-nummer deltaL deltaH richtung startpunkt hz seite nil
|
|
||||||
geruest-einzelmodul geruest-typ)
|
|
||||||
(setq *ssg-ils-dim* nil)
|
|
||||||
(setq *vf-motorseite* nil)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; Nicht-interaktive Umwandlung EINES bestehenden VF-Blocks (Standard ODER
|
;; Nicht-interaktive Umwandlung EINES bestehenden VF-Blocks (Standard ODER
|
||||||
;; Etage) in die Zieldimension (fuer die Batch-Umschaltung "Alle auf 2D/3D").
|
;; Etage) in die Zieldimension (fuer die Batch-Umschaltung "Alle auf 2D/3D").
|
||||||
|
|||||||
Reference in New Issue
Block a user