Geruest fuer Einzelmodul + Geruestoption bei Foerderer, Gefaellestrecke und Eckrad ergaenzt
Kreisel hatte GERUEST_EINZELMODUL bereits; ergaenzt um die neue Combobox GERUEST_TYP (IPE-Geruest abgestuft / Obergeruest oben / Schoenenberger Geruest / nur Doppelrohrtraeger, Default Schoenenberger Geruest) im KreiselEdit-Dialog. VarioFoerderer (Standard-Dialog) und Gefaellestrecke (Modus 1) erhalten beide Attribute neu in ihren DCL-Dialogen inkl. Edit-Vorbelegung. ILS_Eckrad (kein Dialog vorhanden) fragt beide Werte per Kommandozeilen-Menue ab. Konsolen-only-Pfade ohne Dialog (VF Etage/Linienzug, GF Linienzug/3D-Objekte) bleiben auf Schema-Default, analog zum bisherigen Kreisel-Verhalten. Gemeinsame Optionsliste/Helper (*ssg-geruest-optionen*, ssg-geruest-typ-to-idx/idx-to-typ, ssg-ask-geruest-typ) in ssg_core.lsp war bereits durch einen parallelen Commit (120e26a) mit eingeflossen. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+22
-3
@@ -87,6 +87,7 @@
|
||||
("ANZAHL_SCANNER" "0")
|
||||
("ANZAHL_RAMPEN" "0")
|
||||
("GERUEST_EINZELMODUL" "0")
|
||||
("GERUEST_TYP" "Schoenenberger Geruest")
|
||||
("DREHRICHTUNG" "UZS")
|
||||
("DREHUNG" "0")
|
||||
("NUMMER" "0"))
|
||||
@@ -102,6 +103,8 @@
|
||||
("DREHUNG" "0")
|
||||
("NUMMER" "0")
|
||||
("HOEHE" "0")
|
||||
("GERUEST_EINZELMODUL" "0")
|
||||
("GERUEST_TYP" "Schoenenberger Geruest")
|
||||
("ID" ""))
|
||||
)
|
||||
|
||||
@@ -869,6 +872,7 @@
|
||||
dcl-pfad dat ergebnis
|
||||
dlg-name dlg-abstand dlg-hoehe dlg-ausrichtung
|
||||
dlg-drehrichtung dlg-kreiselart dlg-geruest-einzelmodul
|
||||
dlg-geruest-typ
|
||||
newAbstand newRotation ausrichtLabels)
|
||||
|
||||
;; Implied Selection VOR ssg-start pruefen (ssg-start hebt Selektion auf)
|
||||
@@ -966,6 +970,11 @@
|
||||
(set_tile "geruest_einzelmodul"
|
||||
(if (equal (cdr (assoc "GERUEST_EINZELMODUL" attribs)) "1") "1" "0"))
|
||||
|
||||
(start_list "geruest_typ")
|
||||
(foreach opt *ssg-geruest-optionen* (add_list opt))
|
||||
(end_list)
|
||||
(set_tile "geruest_typ" (itoa (ssg-geruest-typ-to-idx (cdr (assoc "GERUEST_TYP" attribs)))))
|
||||
|
||||
;; Actions
|
||||
(action_tile "accept"
|
||||
(strcat
|
||||
@@ -976,6 +985,7 @@
|
||||
"(setq dlg-drehrichtung (get_tile \"drehrichtung\"))"
|
||||
"(setq dlg-kreiselart (get_tile \"kreiselart\"))"
|
||||
"(setq dlg-geruest-einzelmodul (get_tile \"geruest_einzelmodul\"))"
|
||||
"(setq dlg-geruest-typ (get_tile \"geruest_typ\"))"
|
||||
"(done_dialog 1)"
|
||||
)
|
||||
)
|
||||
@@ -1004,6 +1014,8 @@
|
||||
(assoc "DREHRICHTUNG" attribs) attribs))
|
||||
(setq attribs (subst (cons "GERUEST_EINZELMODUL" dlg-geruest-einzelmodul)
|
||||
(assoc "GERUEST_EINZELMODUL" attribs) attribs))
|
||||
(setq attribs (subst (cons "GERUEST_TYP" (ssg-geruest-idx-to-typ (atoi dlg-geruest-typ)))
|
||||
(assoc "GERUEST_TYP" attribs) attribs))
|
||||
|
||||
;; Alten Block loeschen
|
||||
(command "_.ERASE" ent "")
|
||||
@@ -1051,7 +1063,8 @@
|
||||
;; 4. Hoehe aus Z-Koordinate oder manuell
|
||||
;; --------------------------------------------
|
||||
(defun c:ILS_Eckrad ( / ptTangent ptDir dx dy dist ux uy radius
|
||||
centerPt rotation hoehe)
|
||||
centerPt rotation hoehe
|
||||
geruest-einzelmodul geruest-typ)
|
||||
(dbgf "c:ILS_Eckrad")
|
||||
|
||||
;; 1. Beruehrpunkt (Tangentenpunkt)
|
||||
@@ -1106,8 +1119,14 @@
|
||||
)
|
||||
(dbg 'hoehe)
|
||||
|
||||
;; 5. Einfuegen (centerPt ist der Kreismittelpunkt)
|
||||
(ils-eckrad-insert (list (car centerPt) (cadr centerPt) hoehe) rotation nil)
|
||||
;; 5. Geruest fuer Einzelmodul + Geruestoption abfragen
|
||||
(setq geruest-einzelmodul (if (ssg-ques (ssg-text "kreisel-eckrad-geruest-frage") nil) "0" "1"))
|
||||
(setq geruest-typ (ssg-ask-geruest-typ))
|
||||
|
||||
;; 6. Einfuegen (centerPt ist der Kreismittelpunkt)
|
||||
(ils-eckrad-insert (list (car centerPt) (cadr centerPt) hoehe) rotation
|
||||
(list (cons "GERUEST_EINZELMODUL" geruest-einzelmodul)
|
||||
(cons "GERUEST_TYP" geruest-typ)))
|
||||
(dbgreturn nil)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user