Hallo,
ich habe ein kleines Problem mit meiner LISP. Und zwar möchte ich, dass er bei einer Fehlermeldung die LISP komplett beendet.
Leider klappt dies nicht und er will immer wieder den nächsten befehl ausführen. Kann jemand helfen?
(defun c:BP4test ( / myerror plot_func zip_func ende_func)
;-------------------------------------------------------
;-------------Plotfunktion------------------------------
;-------------------------------------------------------
(defun plot_func ( / )
(setq *ERROR* myerror)
(setvar "ctab" "PDF")
(command-s "_.PSPACE")
(command "zoom" "g")
(command "plot" "nein" "PDF" "" ""
(strcat (getvar 'dwgprefix)
(vl-filename-base (getvar 'dwgname))
".pdf"
)
"" ""
)
)
;-------------------------------------------------------
;-------------E-Transmit--------------------------------
;-------------------------------------------------------
(defun zip_func ( / )
(setvar "ctab" "Modell")
(command "zoom" "g")
(command "bereinig" "AL" "" "N")
(bns_redir "*" ".")
(if (ssget "X" '((0 . "IMAGE"))) (command "isave"))
(command-s "_.qsave"
"_.-etransmit"
"_c"
(strcat (getvar 'dwgprefix)
(vl-filename-base (getvar 'dwgname))
".zip"
)
)
)
;-------------------------------------------------------
;-------------Endebefehl--------------------------------
;-------------------------------------------------------
(defun ende_func ( / )
(exit)
)
;-------------------------------------------------------
;-------------Errorhandling-----------------------------
;-------------------------------------------------------
(defun myerror (msg / )
(alert "Bitte PDF schließen und den Befehl erneut starten.")
(command-s "._UNDO" "1")
(ende_func)
(setq *ERROR* nil)
)
;-------------------------------------------------------
;-------------Programmablauf----------------------------
;-------------------------------------------------------
(plot_func)
(zip_func)
(princ)
);End of Function
------------------
AutoCad 2018
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP