Hallo,
Folgendes Lisp möchte ich in OSD einbinden:
;; export all sheets of current drawing to dir /users/transfer/
;; the 100% oli variant:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(in-package :custom)
(use-package LI)
(defun sd-am-export-all-sheets ( &optional (prefix "adm_prefix"))
(dolist (a-sheet (OLI::SD-AM-INQ-ALL-SHEETS))
(setf a-sheet (oli::SD-AM-INQ-SHEET a-sheet)) ;;; get the structure out of sel-item
(setf a-sheet (oli::sd-am-sheet-struct-name a-sheet)) ;;; get the sheet name out of the structure
;; save sheet via AM command
(AM_SAVE_SHEET_MI
:SHEET a-sheet
:filename
(format nil "~A~A_sheet_~A.mi"
"/users/transfer/" prefix a-sheet) verwrite)
;; (oli::sd-inq-temp-dir) prefix a-sheet) verwrite)
) ;; end dolist
)
So, wenn ich das Lisp von der Befehlszeile mit
(load "/opt/PE/MACRO/SD_MACROS/Anno_all_to_mi.lsp")
starte und dann (sd-am-export-all-sheets) aufrufe, klappt alles bestens.
Wenn ich das Lisp allerdings in die am_customize einbinde mit
(load "/opt/PE/MACRO/SD_MACROS/Anno_all_to_mi.lsp")
und dann (sd-am-export-all-sheets) aufrufe, kommt eine Fehlermeldung.
LISP-Fehler:
The function SD-AM-EXPORT-ALL-SHEETS is undefined.
Tatsache ist, dass die richtige am_customize geladen wurde, wo kann also der Fehler liegen?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP