Etagenförderer auch editierbar gemacht.

This commit is contained in:
2026-08-03 16:25:44 +02:00
parent 2e49d0b522
commit 7f42ac2701
5 changed files with 205 additions and 16 deletions
+20 -3
View File
@@ -952,18 +952,27 @@
;; ============================================================
(if (null *vf-xdata-app*) (setq *vf-xdata-app* "SSG_VF_EDIT"))
(defun vfs-xdata-schreiben (ent hz /)
;; Allgemeiner Schreiber: markiert ein VF_n-INSERT mit Typ-Marker + hz. Der
;; Typ ("standard"/"etage") steuert beim Edit (c:VARIOFOERDERER_EDIT) den
;; passenden Neuaufbau-Zweig. hz ist der einzige nicht aus den Attributen
;; rekonstruierbare Wert (Baurichtung).
(defun vf-edit-xdata-schreiben (ent typ hz /)
(regapp *vf-xdata-app*)
(entmod
(append (entget ent)
(list
(list -3
(list *vf-xdata-app*
(cons 1000 "standard")
(cons 1000 typ)
(cons 1000 (rtos (float hz) 2 4)))))))
ent
)
;; Rueckwaerts-kompatibler Wrapper fuer den Standard-Typ.
(defun vfs-xdata-schreiben (ent hz /)
(vf-edit-xdata-schreiben ent "standard" hz)
)
;; XDATA lesen -> (typ-marker hz-str) oder nil.
(defun vfs-xdata-lesen (ent / xd app-data)
(setq xd (entget ent (list *vf-xdata-app*)))
@@ -1176,7 +1185,15 @@
(progn (alert (ssg-textf "vfs-edit-kein-vf" (list bname))) (ssg-end) (exit)))
(setq xd (vfs-xdata-lesen ent))
(if (or (null xd) (/= (car xd) "standard"))
(if (null xd)
(progn (alert (ssg-textf "vfs-edit-keine-xdata" (list bname))) (ssg-end) (exit)))
;; Typ-Dispatch: Etage-Bloecke gehen in den Etage-Edit-Zweig (vfe-edit-ent in
;; vf_etage.lsp) und laufen innerhalb der bereits geoeffneten ssg-start-Sitzung
;; weiter. Standard-Bloecke fallen unten in den bisherigen Ablauf. Andere
;; Marker (Linienzug/Altbestand) werden abgewiesen.
(if (= (car xd) "etage")
(progn (vfe-edit-ent ent) (ssg-end) (exit)))
(if (/= (car xd) "standard")
(progn (alert (ssg-textf "vfs-edit-keine-xdata" (list bname))) (ssg-end) (exit)))
(setq startpunkt (cdr (assoc 10 ed)))