export: ein Schalter fuer Hilfskopien, Test-Menue ueber Funktionsaufruf
- csv_leave_proxies ist der einzige Schalter, der Export-Hilfskopien
(Separator-/Element-Kopien, Einheiten-Proxies) stehen laesst; Standard
jetzt 0 = aufraeumen. Die zwei gleichwirkenden Dialog-Haken
(*csv-export-pruef-zuordnung*/*csv-export-elemente-behalten*) entfallen,
CSV_EXPORT_KONFIG schaltet mit einem Haken denselben Debug-Schalter.
- Unit-Test fuer csv:hilfskopien-behalten-p/-setzen
- Test-Menue: (load ...) (c:TEST_...) statt Befehlsname direkt nach dem
load - BricsCAD registriert den per load definierten Befehl erst nach
Rueckkehr zur Kommandozeile ("Befehl nicht erkannt" bei TEST_EXPORT_ALL)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+26
-57
@@ -90,23 +90,19 @@
|
||||
(defun csv:export-alle-elemente-an () (csv:export-modus-setzen "all_elements"))
|
||||
(defun csv:export-alle-elemente-aus () (csv:export-modus-setzen "group_vf_gf"))
|
||||
|
||||
;; --- Zwei unabhaengige Sichtbarkeits-Haken fuer die temporaeren Element-
|
||||
;; Proxy-Kopien (siehe csv:element-proxies-loeschen/csv:unitmark-
|
||||
;; aktualisieren) - ebenfalls ueber CSV_EXPORT_KONFIG bedienbar ---
|
||||
;; *csv-export-pruef-zuordnung* - laesst die den Foerdereinheit-/
|
||||
;; Gefaelleeinheit-Markern zugeordneten Element-Kopien zusaetzlich
|
||||
;; sichtbar, damit in BricsCAD optisch nachvollziehbar ist, welche
|
||||
;; Einzelteile zu welchem ZZ_UNIT_MARKER-Rechteck zusammengefasst
|
||||
;; wurden (die Marker selbst bleiben ohnehin immer stehen, persistent
|
||||
;; wie ZZ_ASES_MARKER).
|
||||
;; *csv-export-elemente-behalten* - laesst die Element-Proxy-Kopien
|
||||
;; grundsaetzlich stehen, unabhaengig vom Gruppierungs-Debugging oben.
|
||||
;; Beide unabhaengig vom bestehenden, als TEMPORAER dokumentierten Debug-
|
||||
;; Schalter "csv_leave_proxies" (ssg_dbg.lsp) - der bleibt unveraendert und
|
||||
;; steuert weiterhin zusaetzlich (ODER-verknuepft) sowohl Separator- als
|
||||
;; auch Element-Proxies.
|
||||
(if (not (boundp '*csv-export-pruef-zuordnung*)) (setq *csv-export-pruef-zuordnung* nil))
|
||||
(if (not (boundp '*csv-export-elemente-behalten*)) (setq *csv-export-elemente-behalten* nil))
|
||||
;; --- Hilfskopien nach dem Export stehen lassen: EIN Schalter ---
|
||||
;; Standard: der Export raeumt alle Hilfskopien wieder ab (Separator-/
|
||||
;; Element-Kopien, Einheiten-Proxies, siehe csv:hilfskopien-loeschen). Nur der
|
||||
;; Debug-Schalter "csv_leave_proxies" (ssg_dbg.lsp, Standard 0) laesst sie
|
||||
;; stehen, damit man in BricsCAD sieht, was exportiert wurde. Bedienbar per
|
||||
;; (dbg-schalter-on/-off "csv_leave_proxies") oder im Dialog CSV_EXPORT_KONFIG
|
||||
;; - beide Wege schalten denselben Zustand.
|
||||
(defun csv:hilfskopien-behalten-p ()
|
||||
(and (car (atoms-family 1 '("DBG-SCHALTER-P")))
|
||||
(dbg-schalter-p "csv_leave_proxies")))
|
||||
(defun csv:hilfskopien-behalten-setzen (an)
|
||||
(if (car (atoms-family 1 '("DBG-SCHALTER-SET")))
|
||||
(dbg-schalter-set "csv_leave_proxies" (if an 1 0))))
|
||||
|
||||
|
||||
;; --- Feste Datei-/Skriptnamen dieses Moduls (keine Config, direkt im Code) ---
|
||||
@@ -1405,40 +1401,17 @@
|
||||
(reverse proxy-liste)
|
||||
)
|
||||
|
||||
;; --- Temporaere Element-Kopien nach dem Export wieder entfernen ---
|
||||
;; Eigene, minimale Loeschfunktion statt csv:sep-proxies-loeschen wieder-
|
||||
;; zuverwenden: *cs-sep-fix-by-handle*/*cs-sep-typ-by-handle*/
|
||||
;; *csv-sepliste-id-by-handle* bleiben separator-/AS-/ES-spezifisch, diese
|
||||
;; Elemente haben keine Entsprechung davon.
|
||||
;;
|
||||
;; Drei unabhaengige Gruende, die Kopien trotzdem stehen zu lassen (ODER-
|
||||
;; verknuepft): der dialoggesteuerte Haken "Element-Kopien behalten"
|
||||
;; (*csv-export-elemente-behalten*), der Haken "Zuordnung pruefen"
|
||||
;; (*csv-export-pruef-zuordnung* - zeigt zusammen mit den stehenbleibenden
|
||||
;; ZZ_UNIT_MARKER-Rechtecken, welche Kopie zu welcher Einheit gehoert), und
|
||||
;; der bestehende, als TEMPORAER dokumentierte Debug-Schalter
|
||||
;; "csv_leave_proxies" (ssg_dbg.lsp) - dieser bleibt unveraendert und
|
||||
;; steuert weiterhin zusaetzlich auch die Separator-Proxies
|
||||
;; (csv:sep-proxies-loeschen).
|
||||
(defun csv:element-proxies-loeschen (proxy-liste art-key)
|
||||
(csv:hilfskopien-loeschen proxy-liste art-key
|
||||
(or *csv-export-elemente-behalten* *csv-export-pruef-zuordnung*))
|
||||
)
|
||||
|
||||
;; --- Gemeinsame Loeschung aller Export-Hilfskopien ---
|
||||
;; --- Export-Hilfskopien nach dem Export wieder entfernen ---
|
||||
;; proxy-liste = Records, deren car die Hilfskopie ist.
|
||||
;; art-key = Sprachschluessel der Objektart fuer die Meldung
|
||||
;; ("exp-art-separator"/"exp-art-element"/"exp-art-einheit").
|
||||
;; zusaetzlich = weiterer Behalten-Grund (Konfig-Haken) oder nil.
|
||||
;; Behalten, wenn der Debug-Schalter "csv_leave_proxies" gesetzt ist oder
|
||||
;; zusaetzlich zutrifft - dann eine Meldung je Art (nur wenn es welche gibt).
|
||||
(defun csv:hilfskopien-loeschen (proxy-liste art-key zusaetzlich / behalten)
|
||||
(setq behalten (or zusaetzlich
|
||||
(and (car (atoms-family 1 '("DBG-SCHALTER-P")))
|
||||
(dbg-schalter-p "csv_leave_proxies"))))
|
||||
;; Standard: loeschen. Bei gesetztem csv_leave_proxies (siehe
|
||||
;; csv:hilfskopien-behalten-p) bleiben sie stehen, mit einer Meldung je Art
|
||||
;; (nur wenn es welche gibt).
|
||||
(defun csv:hilfskopien-loeschen (proxy-liste art-key)
|
||||
(cond
|
||||
((null proxy-liste))
|
||||
(behalten
|
||||
((csv:hilfskopien-behalten-p)
|
||||
(princ (ssg-textf "exp-hilfskopien-behalten"
|
||||
(list (itoa (length proxy-liste)) (ssg-text art-key)))))
|
||||
(t (foreach rec proxy-liste (entdel (car rec))))
|
||||
@@ -2194,7 +2167,7 @@
|
||||
;; *csv-sepliste-id-by-handle* werden trotzdem zurueckgesetzt - sie gelten nur
|
||||
;; fuer den gerade gelaufenen Export.
|
||||
(defun csv:sep-proxies-loeschen (proxy-liste)
|
||||
(csv:hilfskopien-loeschen proxy-liste "exp-art-separator" nil)
|
||||
(csv:hilfskopien-loeschen proxy-liste "exp-art-separator")
|
||||
(setq *cs-sep-fix-by-handle* nil)
|
||||
(setq *cs-sep-typ-by-handle* nil)
|
||||
(setq *csv-sepliste-id-by-handle* nil)
|
||||
@@ -2209,8 +2182,8 @@
|
||||
;; Separator-/Element-Kopien: es entsteht bei jedem Export neu, bekommt in
|
||||
;; ssg-id-check-all eine ID, liefert die Export-Zeile und wird am Ende von
|
||||
;; csv:run-export wieder geloescht - ausser der Debug-Schalter
|
||||
;; "csv_leave_proxies" (bzw. einer der Konfig-Haken, siehe
|
||||
;; csv:element-proxies-loeschen) laesst es zur Ansicht stehen.
|
||||
;; "csv_leave_proxies" (siehe csv:hilfskopien-loeschen) laesst es zur
|
||||
;; Ansicht stehen.
|
||||
;; Nur im Modus group_vf_gf; in den anderen Modi entsteht keins.
|
||||
|
||||
(defun csv:unitmark-blockname () "ZZ_UNIT_MARKER")
|
||||
@@ -2811,10 +2784,8 @@
|
||||
;; Sammel-Funktionen) erfuellt. Die AS-/ES-Marker (ZZ_ASES_MARKER) bleiben
|
||||
;; bewusst stehen (siehe csv:export-vorbereiten).
|
||||
(csv:sep-proxies-loeschen sep-proxies)
|
||||
(csv:element-proxies-loeschen element-proxies "exp-art-element")
|
||||
;; Einheiten-Proxies: dieselbe Behalten-Regel wie die Element-Kopien
|
||||
;; (Debug-Schalter csv_leave_proxies / Konfig-Haken).
|
||||
(csv:element-proxies-loeschen unitmarks "exp-art-einheit")
|
||||
(csv:hilfskopien-loeschen element-proxies "exp-art-element")
|
||||
(csv:hilfskopien-loeschen unitmarks "exp-art-einheit")
|
||||
(princ)
|
||||
)
|
||||
|
||||
@@ -2859,16 +2830,14 @@
|
||||
(vl-position *csv-export-modus* (mapcar 'car *csv-export-konfig-modi*)))
|
||||
(if eintrag (setq idx eintrag))
|
||||
(set_tile "modus" (itoa idx))
|
||||
(set_tile "pruef_zuordnung" (if *csv-export-pruef-zuordnung* "1" "0"))
|
||||
(set_tile "elemente_behalten" (if *csv-export-elemente-behalten* "1" "0"))
|
||||
(set_tile "hilfskopien_behalten" (if (csv:hilfskopien-behalten-p) "1" "0"))
|
||||
)
|
||||
|
||||
(defun csv:export-konfig-accept ( / idx modus)
|
||||
(setq idx (atoi (get_tile "modus")))
|
||||
(setq modus (car (nth idx *csv-export-konfig-modi*)))
|
||||
(if modus (csv:export-modus-setzen modus))
|
||||
(setq *csv-export-pruef-zuordnung* (= (get_tile "pruef_zuordnung") "1"))
|
||||
(setq *csv-export-elemente-behalten* (= (get_tile "elemente_behalten") "1"))
|
||||
(csv:hilfskopien-behalten-setzen (= (get_tile "hilfskopien_behalten") "1"))
|
||||
)
|
||||
|
||||
(defun c:CSV_EXPORT_KONFIG ()
|
||||
|
||||
+16
-12
@@ -68,24 +68,28 @@
|
||||
;; Beide Schalter hier stehen NUR fuer diese Fehlersuche auf 1 und werden
|
||||
;; danach wieder entfernt (mitsamt der zugehoerigen Instrumentierung in
|
||||
;; ssg_ks_insert.lsp/Gefaellestrecke.lsp/vf_core.lsp bzw. dem Guard in
|
||||
;; csv:sep-proxies-loeschen, export.lsp). Sie sind bewusst vorregistriert,
|
||||
;; damit nach einem BricsCAD-Neustart ohne weiteres Zutun protokolliert wird.
|
||||
;; csv:hilfskopien-loeschen, export.lsp). vf-sepliste ist bewusst mit 1
|
||||
;; vorregistriert, damit nach einem BricsCAD-Neustart ohne weiteres Zutun
|
||||
;; protokolliert wird; csv_leave_proxies mit 0 - Standard ist, dass der Export
|
||||
;; seine Hilfskopien wieder abraeumt.
|
||||
;;
|
||||
;; vf-sepliste - protokolliert den kompletten Weg der
|
||||
;; Sepliste-Koordinaten beim Bau einer VF-/GF-Kette
|
||||
;; nach DXFM_LOG/vf_sepliste.dbg (eigene Datei, nicht
|
||||
;; ueber *dbg-path*).
|
||||
;; csv_leave_proxies - laesst die temporaeren Separator_SP-Kopien, die der
|
||||
;; Export aus den Wrappern auspackt, nach dem Export in
|
||||
;; der Zeichnung stehen, damit ihre tatsaechliche Lage
|
||||
;; in BricsCAD gegen die sepliste-Koordinaten geprueft
|
||||
;; werden kann. ACHTUNG: die Kopien werden bei JEDEM
|
||||
;; Export neu erzeugt und sammeln sich an - Zeichnung
|
||||
;; danach nicht speichern.
|
||||
;; csv_leave_proxies - laesst ALLE Hilfskopien des Exports (Separator-/
|
||||
;; Element-Kopien, Foerder-/Gefaelleeinheit-Proxies)
|
||||
;; nach dem Export in der Zeichnung stehen, damit man
|
||||
;; in BricsCAD sieht, was exportiert wurde. Auch ueber
|
||||
;; den Dialog CSV_EXPORT_KONFIG schaltbar. Standard 0.
|
||||
;; Der naechste Export raeumt stehengebliebene
|
||||
;; Einheiten-Proxies selbst ab; Separator-/Element-
|
||||
;; Kopien sammeln sich dagegen an - Zeichnung mit
|
||||
;; eingeschaltetem Schalter nicht speichern.
|
||||
;; ------------------------------------------------------------
|
||||
(foreach nm '("vf-sepliste" "csv_leave_proxies")
|
||||
(if (not (assoc nm *dbg-schalter*))
|
||||
(setq *dbg-schalter* (cons (cons nm 1) *dbg-schalter*))))
|
||||
(foreach nm '(("vf-sepliste" . 1) ("csv_leave_proxies" . 0))
|
||||
(if (not (assoc (car nm) *dbg-schalter*))
|
||||
(setq *dbg-schalter* (cons nm *dbg-schalter*))))
|
||||
|
||||
(defun dbg-schalter-set (name wert)
|
||||
(setq *dbg-schalter*
|
||||
|
||||
Reference in New Issue
Block a user