HW_MATERIALFLUSS ruft EXPORTCSV und lib/hw_materialfluss.py: Kreisel-Rechtecke in Drehrichtung, Strecken AS -> Separatoren -> ES, Weichen, Be-/Entladungen. HW_SYMBOLE vorerst Platzhalter. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
77 lines
2.8 KiB
Common Lisp
77 lines
2.8 KiB
Common Lisp
;; ============================================================
|
|
;; HwPlanung.lsp - Hardware-Planung (Menue "HW Planung")
|
|
;;
|
|
;; HW_MATERIALFLUSS ("Materialfluss erzeugen"):
|
|
;; 1. exportiert das aktuelle Hardware-Layout per EXPORTCSV
|
|
;; (csv:run-export, export.lsp) nach DXFM_RESULTS/<dwg>_export.csv
|
|
;; 2. ruft lib/hw_materialfluss.py auf, das daraus die Materialfluss-
|
|
;; Skizze (Kreisel-Rechtecke in Drehrichtung, Strecken-Polylinien
|
|
;; AS -> Separatoren -> ES, Weichen, Be-/Entladungen) zeichnet
|
|
;; 3. Ergebnis: DXFM_RESULTS/<dwg>_HW.dxf (neue Datei, die offene
|
|
;; Zeichnung bleibt unveraendert)
|
|
;;
|
|
;; HW_SYMBOLE ("Symbole erzeugen"): noch Platzhalter, zeigt nur einen Hinweis.
|
|
;;
|
|
;; Setzt export.lsp voraus (laedt die MNL vor).
|
|
;; ============================================================
|
|
|
|
(setq *hw-skript* "hw_materialfluss.py")
|
|
|
|
;; Name der Ausgabedatei aus dem Zeichnungsnamen (reiner Kern, getestet):
|
|
;; "Mubea.dwg" -> "Mubea_HW.dxf"
|
|
(defun hw-dxf-name (dwgname)
|
|
(strcat (vl-filename-base dwgname) "_HW.dxf")
|
|
)
|
|
|
|
(defun c:HW_MATERIALFLUSS ( / label out-dir csv-pfad dxf-pfad py-skript
|
|
py-exe log-pfad rc)
|
|
(setq label "HW_MATERIALFLUSS")
|
|
(if (null (getenv "DXFM_LIB"))
|
|
(princ (ssg-textf "exp-dxfm-lib-missing" (list label)))
|
|
(progn
|
|
(setq out-dir (if *export-test-override*
|
|
*export-test-override*
|
|
(getenv "DXFM_RESULTS")))
|
|
(setq csv-pfad (strcat out-dir "/" (export:dwg-praefix)
|
|
(export:filename "csv_csv")))
|
|
(setq dxf-pfad (strcat out-dir "/" (hw-dxf-name (getvar "DWGNAME"))))
|
|
;; Alte CSV entfernen - sonst wuerde nach einem gescheiterten Export
|
|
;; still die Skizze aus dem vorigen Stand gezeichnet.
|
|
(if (findfile csv-pfad) (vl-file-delete csv-pfad))
|
|
|
|
(c:EXPORTCSV)
|
|
|
|
(if (not (findfile csv-pfad))
|
|
(princ (ssg-textf "hw-csv-fehlt" (list csv-pfad)))
|
|
(progn
|
|
(setq py-skript (strcat (getenv "DXFM_LIB") "/" *hw-skript*))
|
|
(setq py-exe (export:python-exe))
|
|
(setq log-pfad (strcat (cond ((getenv "DXFM_LOG")) (out-dir))
|
|
"/hw_materialfluss.log"))
|
|
(setq rc (export:run-python py-exe py-skript
|
|
(list csv-pfad dxf-pfad) log-pfad))
|
|
(cond
|
|
((null rc)
|
|
(princ (ssg-textf "exp-python-call-failed" (list label))))
|
|
((/= rc 0)
|
|
(princ (ssg-textf "exp-python-error" (list label rc log-pfad)))
|
|
(export:log-ausgeben log-pfad 12))
|
|
(t
|
|
(export:log-ausgeben log-pfad 12)
|
|
(princ (ssg-textf "hw-fertig" (list dxf-pfad))))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(princ)
|
|
)
|
|
|
|
(defun c:HW_SYMBOLE ()
|
|
(alert (ssg-text "hw-symbole-offen"))
|
|
(princ)
|
|
)
|
|
|
|
(princ "\n>>> HwPlanung.lsp geladen")
|
|
(princ)
|