[CHANGE] Sivas Export schaut nun nur noch auf die kommaseparierte Liste im Attribut ARTINR und fügt die Artikelnummern in die Export-Liste ein; [ADD] Menü und dwg für Omniflo Ladeschleifen
This commit is contained in:
+56
-1
@@ -104,6 +104,32 @@
|
||||
(if (car (atoms-family 1 '("DBG-SCHALTER-SET")))
|
||||
(dbg-schalter-set "csv_leave_proxies" (if an 1 0))))
|
||||
|
||||
;; --- Bloecke auf gefrorenen Layern vom Export ausschliessen ---
|
||||
;; Standard an (T). Nur GEFRORENE Layer zaehlen (ssg-ent-layer-gefroren-p,
|
||||
;; ssg_layer.lsp) - ausgeschaltete Layer werden weiter exportiert. Bedienbar
|
||||
;; im Dialog CSV_EXPORT_KONFIG. Wirkt in csv:collect-export-blocks auf den
|
||||
;; Block selbst UND - ueber *csv-ausschluss-enames* - auf die Hilfsobjekte
|
||||
;; (Separator-/Element-Kopien, Einheiten-/AS-ES-Marker) eines gefrorenen
|
||||
;; VF_n/GF_n-Wrappers, die auf eigenen Layern liegen.
|
||||
(if (not (boundp '*csv-gefrorene-ausschliessen*)) (setq *csv-gefrorene-ausschliessen* T))
|
||||
(defun csv:gefrorene-ausschliessen-p () (if *csv-gefrorene-ausschliessen* T nil))
|
||||
(defun csv:gefrorene-ausschliessen-setzen (an)
|
||||
(setq *csv-gefrorene-ausschliessen* (if an T nil)))
|
||||
|
||||
;; Hilfsobjekte (car eines Records), deren Wrapper (nth 1) gefroren-fn
|
||||
;; erfuellt. records = Record-Listen der Form (hilfsobjekt wrapper ...), wie
|
||||
;; sie csv:sep-proxies-erzeugen, csv:element-proxies-erzeugen,
|
||||
;; csv:asmark-aktualisieren und csv:ketten-verarbeiten liefern.
|
||||
;; gefroren-fn = Praedikat auf den Wrapper. Reine Listenlogik, file-frei
|
||||
;; testbar (tests/test_unit.lsp).
|
||||
(defun csv:hilfskopien-ausschluss (records gefroren-fn / result)
|
||||
(foreach rec records
|
||||
(if (and (car rec) (nth 1 rec) (apply gefroren-fn (list (nth 1 rec))))
|
||||
(setq result (cons (car rec) result))))
|
||||
(reverse result)
|
||||
)
|
||||
(setq *csv-ausschluss-enames* nil)
|
||||
|
||||
|
||||
;; --- Feste Datei-/Skriptnamen dieses Moduls (keine Config, direkt im Code) ---
|
||||
(setq *export-filenames*
|
||||
@@ -2463,8 +2489,13 @@
|
||||
;; GeruestInsert.lsp). Wie BTMT eigenstaendig und von keinem anderen
|
||||
;; Element mitgezaehlt - export_csv.py UND export_sivas.py fuehren sie
|
||||
;; beide als eigene TeileArt-Zeilen.
|
||||
;; Bloecke auf GEFRORENEN Layern (und die Hilfsobjekte gefrorener VF_n/GF_n)
|
||||
;; werden ausgelassen, solange *csv-gefrorene-ausschliessen* an ist (Standard,
|
||||
;; Dialog CSV_EXPORT_KONFIG); ausgeschaltete Layer zaehlen nicht als gefroren.
|
||||
;; Gibt Auswahlsatz zurueck oder nil.
|
||||
(defun csv:collect-export-blocks ( / ss-all ss-out i ename ed bname ist-nested-element)
|
||||
(defun csv:collect-export-blocks ( / ss-all ss-out i ename ed bname ist-nested-element
|
||||
gefroren n-gefroren)
|
||||
(setq n-gefroren 0)
|
||||
(setq ss-all (ssget "X" (list (cons 0 "INSERT"))))
|
||||
(if (null ss-all) (setq ss-out nil)
|
||||
(progn
|
||||
@@ -2486,7 +2517,16 @@
|
||||
(setq ist-nested-element
|
||||
(and (not (csv:export-alle-elemente-p))
|
||||
(wcmatch bname (csv:pattern-nested-element))))
|
||||
;; Gefrorener Layer (Schalter *csv-gefrorene-ausschliessen*): der
|
||||
;; Block selbst liegt darauf, oder er ist Hilfsobjekt eines
|
||||
;; gefrorenen VF_n/GF_n (*csv-ausschluss-enames*, csv:export-vorbereiten).
|
||||
(setq gefroren
|
||||
(and (csv:gefrorene-ausschliessen-p)
|
||||
(or (ssg-ent-layer-gefroren-p ename)
|
||||
(member ename *csv-ausschluss-enames*))))
|
||||
(if gefroren (setq n-gefroren (1+ n-gefroren)))
|
||||
(if (and (not ist-nested-element)
|
||||
(not gefroren)
|
||||
(or
|
||||
(wcmatch bname (export:pattern "pattern_kreisel" "KR_*,KREISEL_*,ECKRAD_*"))
|
||||
(wcmatch (strcase bname) (export:pattern "pattern_gerade" "AP110*,AP_110*"))
|
||||
@@ -2514,6 +2554,8 @@
|
||||
(if (= (sslength ss-out) 0) (setq ss-out nil))
|
||||
)
|
||||
)
|
||||
(if (> n-gefroren 0)
|
||||
(princ (ssg-textf "exp-gefroren-ausgelassen" (list (itoa n-gefroren)))))
|
||||
ss-out
|
||||
)
|
||||
|
||||
@@ -2555,6 +2597,7 @@
|
||||
;; Kopien - Separatoren UND AS/ES-Schleuselemente (der Aufrufer entfernt sie am
|
||||
;; Ende wieder). label dient nur den Meldungen.
|
||||
(defun csv:export-vorbereiten (label / sep-proxies asmarks element-proxies unitmarks)
|
||||
(setq *csv-ausschluss-enames* nil)
|
||||
;; Baustein-Geometrie der Stellvertreter (Separator-Kopie, AS-/ES-Marker)
|
||||
;; wird beim Erzeugen neu gemerkt - Stand eines frueheren Laufs verwerfen.
|
||||
(setq *csv-baustein-by-handle* nil)
|
||||
@@ -2580,6 +2623,15 @@
|
||||
;; alle neuen Export-Objekte jeder Kette von AS nach ES aufsteigend
|
||||
;; nummerieren - VOR ssg-id-check-all, siehe csv:ketten-verarbeiten.
|
||||
(setq unitmarks (csv:ketten-verarbeiten sep-proxies element-proxies asmarks))
|
||||
;; Hilfsobjekte gefrorener Wrapper merken: sie liegen auf eigenen Layern,
|
||||
;; der Wrapper-Layer allein haelt sie daher nicht aus dem Export heraus
|
||||
;; (Auswertung in csv:collect-export-blocks). Erzeugt werden sie trotzdem,
|
||||
;; damit IDs und AS/ES-Marker ueber Laeufe stabil bleiben.
|
||||
(setq *csv-ausschluss-enames*
|
||||
(if (csv:gefrorene-ausschliessen-p)
|
||||
(csv:hilfskopien-ausschluss
|
||||
(append sep-proxies asmarks element-proxies unitmarks)
|
||||
'ssg-ent-layer-gefroren-p)))
|
||||
;; Vor dem Export: IDs aller Bloecke sicherstellen und Duplikate korrigieren.
|
||||
;; Erst hier - also erst nachdem ALLE Kopien aus allen Wrapper-Bloecken
|
||||
;; stehen - wird ueberhaupt eine ID vergeben. ssg-id-check-all ermittelt
|
||||
@@ -2786,6 +2838,7 @@
|
||||
(csv:sep-proxies-loeschen sep-proxies)
|
||||
(csv:hilfskopien-loeschen element-proxies "exp-art-element")
|
||||
(csv:hilfskopien-loeschen unitmarks "exp-art-einheit")
|
||||
(setq *csv-ausschluss-enames* nil)
|
||||
(princ)
|
||||
)
|
||||
|
||||
@@ -2831,6 +2884,7 @@
|
||||
(if eintrag (setq idx eintrag))
|
||||
(set_tile "modus" (itoa idx))
|
||||
(set_tile "hilfskopien_behalten" (if (csv:hilfskopien-behalten-p) "1" "0"))
|
||||
(set_tile "gefrorene_ausschliessen" (if (csv:gefrorene-ausschliessen-p) "1" "0"))
|
||||
)
|
||||
|
||||
(defun csv:export-konfig-accept ( / idx modus)
|
||||
@@ -2838,6 +2892,7 @@
|
||||
(setq modus (car (nth idx *csv-export-konfig-modi*)))
|
||||
(if modus (csv:export-modus-setzen modus))
|
||||
(csv:hilfskopien-behalten-setzen (= (get_tile "hilfskopien_behalten") "1"))
|
||||
(csv:gefrorene-ausschliessen-setzen (= (get_tile "gefrorene_ausschliessen") "1"))
|
||||
)
|
||||
|
||||
(defun c:CSV_EXPORT_KONFIG ()
|
||||
|
||||
Reference in New Issue
Block a user