[ADD] CSV/Sivas-Export: Zeichnungsname als Dateiname-Praefix
Benannte Zeichnungen exportieren jetzt nach <name>_export.csv bzw. <name>_sivas.csv statt der festen Namen export.csv/export_sivas.csv, damit sich Ergebnisse mehrerer Zeichnungen nicht mehr gegenseitig ueberschreiben. Unbenannte Zeichnungen (DWGTITLED=0) behalten die alten Standardnamen. test_export_all.lsp verlaesst sich jetzt auf diese automatische Praefixierung statt *export-filenames* manuell zu ueberschreiben. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+21
-2
@@ -56,7 +56,7 @@
|
|||||||
(list
|
(list
|
||||||
(cons "raw_json_datei" "export_raw.json")
|
(cons "raw_json_datei" "export_raw.json")
|
||||||
(cons "sivas_script" "export_sivas.py")
|
(cons "sivas_script" "export_sivas.py")
|
||||||
(cons "sivas_csv" "export_sivas.csv")
|
(cons "sivas_csv" "sivas.csv")
|
||||||
(cons "csv_script" "export_csv.py")
|
(cons "csv_script" "export_csv.py")
|
||||||
(cons "csv_csv" "export.csv")
|
(cons "csv_csv" "export.csv")
|
||||||
)
|
)
|
||||||
@@ -67,6 +67,25 @@
|
|||||||
(cdr (assoc key *export-filenames*))
|
(cdr (assoc key *export-filenames*))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
;; --- Zeichnungsname als Dateiname-Praefix ermitteln ---
|
||||||
|
;; Liefert "<Zeichnungsname>_" oder "" (leer), wenn die Zeichnung noch nie
|
||||||
|
;; gespeichert wurde (DWGTITLED=0, Name z.B. "Zeichnung1"/"Drawing1").
|
||||||
|
;; So heisst die Export-CSV bei einer benannten Zeichnung "<name>_export.csv"
|
||||||
|
;; bzw. "<name>_sivas.csv" statt nur "export.csv"/"export_sivas.csv" - bei
|
||||||
|
;; mehreren offenen/parallel bearbeiteten Zeichnungen sonst nicht unterscheidbar.
|
||||||
|
(defun export:dwg-praefix ( / dwgname)
|
||||||
|
(if (= (getvar "DWGTITLED") 0)
|
||||||
|
""
|
||||||
|
(progn
|
||||||
|
(setq dwgname (getvar "DWGNAME"))
|
||||||
|
(if (and dwgname (/= dwgname ""))
|
||||||
|
(strcat (vl-filename-base dwgname) "_")
|
||||||
|
""
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
;; ============================================================
|
;; ============================================================
|
||||||
;; PYTHON-INTERPRETER ERMITTELN
|
;; PYTHON-INTERPRETER ERMITTELN
|
||||||
@@ -1083,7 +1102,7 @@
|
|||||||
(setq py-skript (strcat (getenv "DXFM_LIB") "/" py-name))
|
(setq py-skript (strcat (getenv "DXFM_LIB") "/" py-name))
|
||||||
(if (findfile py-skript)
|
(if (findfile py-skript)
|
||||||
(progn
|
(progn
|
||||||
(setq ergebnis-pfad (strcat out-dir "/" csv-name))
|
(setq ergebnis-pfad (strcat out-dir "/" (export:dwg-praefix) csv-name))
|
||||||
(setq py-exe (export:python-exe))
|
(setq py-exe (export:python-exe))
|
||||||
(setq log-pfad (strcat (cond ((getenv "DXFM_LOG")) (out-dir))
|
(setq log-pfad (strcat (cond ((getenv "DXFM_LOG")) (out-dir))
|
||||||
"/export_python.log"))
|
"/export_python.log"))
|
||||||
|
|||||||
@@ -120,10 +120,7 @@
|
|||||||
;; per EXPORTCSV/EXPORTSIVAS in eigene, nach der Quelldatei benannte
|
;; per EXPORTCSV/EXPORTSIVAS in eigene, nach der Quelldatei benannte
|
||||||
;; CSV-Dateien.
|
;; CSV-Dateien.
|
||||||
;; ============================================================
|
;; ============================================================
|
||||||
(defun c:TEST_EXPORT_ALL (/ tests-out-dir dateien datei basis doc
|
(defun c:TEST_EXPORT_ALL (/ tests-out-dir ablauf-fehler)
|
||||||
csv-name sivas-name csv-pfad sivas-pfad
|
|
||||||
csv-ok sivas-ok results-list old-filenames
|
|
||||||
ablauf-fehler)
|
|
||||||
|
|
||||||
(setq tests-out-dir (strcat (getenv "DXFMAKRO") "/tests/output"))
|
(setq tests-out-dir (strcat (getenv "DXFMAKRO") "/tests/output"))
|
||||||
(vl-mkdir tests-out-dir)
|
(vl-mkdir tests-out-dir)
|
||||||
@@ -156,13 +153,12 @@
|
|||||||
(defun ssg-test-export-all-ablauf (tests-out-dir
|
(defun ssg-test-export-all-ablauf (tests-out-dir
|
||||||
/ dateien datei basis doc
|
/ dateien datei basis doc
|
||||||
csv-name sivas-name csv-pfad sivas-pfad
|
csv-name sivas-name csv-pfad sivas-pfad
|
||||||
csv-ok sivas-ok results-list old-filenames)
|
csv-ok sivas-ok results-list)
|
||||||
|
|
||||||
(setq dateien (append
|
(setq dateien (append
|
||||||
(vl-directory-files tests-out-dir "*.dxf" 1)
|
(vl-directory-files tests-out-dir "*.dxf" 1)
|
||||||
(vl-directory-files tests-out-dir "*.dwg" 1)
|
(vl-directory-files tests-out-dir "*.dwg" 1)
|
||||||
))
|
))
|
||||||
(setq old-filenames *export-filenames*)
|
|
||||||
(setq results-list nil)
|
(setq results-list nil)
|
||||||
|
|
||||||
(princ "\n================================================================")
|
(princ "\n================================================================")
|
||||||
@@ -176,9 +172,10 @@
|
|||||||
|
|
||||||
(setq doc (export_all:open-drawing (strcat tests-out-dir "/" datei)))
|
(setq doc (export_all:open-drawing (strcat tests-out-dir "/" datei)))
|
||||||
|
|
||||||
;; Datei-/Skriptnamen fuer diesen Durchlauf ueberschreiben, damit
|
;; csv:run-export (Lisp/export.lsp) haengt den Zeichnungsnamen (DWGNAME
|
||||||
;; jede Quelldatei ihre eigenen CSV-Ergebnisse bekommt (statt der
|
;; der soeben geoeffneten Datei = basis) automatisch als Praefix vor
|
||||||
;; fixen Standardnamen "export.csv"/"export_sivas.csv").
|
;; "export.csv"/"sivas.csv" (export:dwg-praefix) - jede Quelldatei
|
||||||
|
;; bekommt so von selbst ihre eigenen CSV-Ergebnisse.
|
||||||
(setq csv-name (strcat basis "_export.csv"))
|
(setq csv-name (strcat basis "_export.csv"))
|
||||||
(setq sivas-name (strcat basis "_sivas.csv"))
|
(setq sivas-name (strcat basis "_sivas.csv"))
|
||||||
(setq csv-pfad (strcat tests-out-dir "/" csv-name))
|
(setq csv-pfad (strcat tests-out-dir "/" csv-name))
|
||||||
@@ -186,16 +183,6 @@
|
|||||||
(if (findfile csv-pfad) (vl-file-delete csv-pfad))
|
(if (findfile csv-pfad) (vl-file-delete csv-pfad))
|
||||||
(if (findfile sivas-pfad) (vl-file-delete sivas-pfad))
|
(if (findfile sivas-pfad) (vl-file-delete sivas-pfad))
|
||||||
|
|
||||||
(setq *export-filenames*
|
|
||||||
(list
|
|
||||||
(cons "raw_json_datei" (cdr (assoc "raw_json_datei" old-filenames)))
|
|
||||||
(cons "sivas_script" (cdr (assoc "sivas_script" old-filenames)))
|
|
||||||
(cons "sivas_csv" sivas-name)
|
|
||||||
(cons "csv_script" (cdr (assoc "csv_script" old-filenames)))
|
|
||||||
(cons "csv_csv" csv-name)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(princ (strcat "\n[TEST_EXPORT_ALL] CSV-Export -> " csv-name))
|
(princ (strcat "\n[TEST_EXPORT_ALL] CSV-Export -> " csv-name))
|
||||||
(c:EXPORTCSV)
|
(c:EXPORTCSV)
|
||||||
(setq csv-ok (export_all:wait-for-file csv-pfad 30.0))
|
(setq csv-ok (export_all:wait-for-file csv-pfad 30.0))
|
||||||
@@ -217,7 +204,6 @@
|
|||||||
(vla-close doc :vlax-false)
|
(vla-close doc :vlax-false)
|
||||||
)
|
)
|
||||||
|
|
||||||
(setq *export-filenames* old-filenames)
|
|
||||||
(setq *export-all-results* (reverse results-list))
|
(setq *export-all-results* (reverse results-list))
|
||||||
|
|
||||||
(princ "\n\n================================================================")
|
(princ "\n\n================================================================")
|
||||||
|
|||||||
Reference in New Issue
Block a user