![]() |
|
Bitte drücken Sie nicht mehrfach auf "Antwort speichern".
*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.
Beiträge: 42 / 0 ich habe ein kleines Problem mit meiner LISP. Und zwar möchte ich, dass er bei einer Fehlermeldung die LISP komplett beendet. (defun c:BP4test ( / myerror plot_func zip_func ende_func) ) ;------------------------------------------------------- (defun ende_func ( / ) (defun myerror (msg / ) ;------------------------------------------------------- (plot_func) ------------------ Beiträge: 481 / 0 AutoCAD 2020(Deu); Windows 10 PRO x64(Deu) myerror schützen macht die die externe Defintion unwerksam. Ich definiere *error* innerhalb der Befehlsdefinition und schütze auch alle Systemvariablen, die *error* zurück setzen soll (was hier nicht der Fall ist) ------------------ Beiträge: 1328 / 4 WIN 10 http://advanced.autolisp.info/error1.html ------------------ Gruß http://kraus-cad.deStefan-Schirge Hallo,
Leider klappt dies nicht und er will immer wieder den nächsten befehl ausführen. Kann jemand helfen?
;-------------------------------------------------------
;-------------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--------------------------------
;-------------------------------------------------------
(exit)
)
;-------------------------------------------------------
;-------------Errorhandling-----------------------------
;-------------------------------------------------------
(alert "Bitte PDF schließen und den Befehl erneut starten.")
(command-s "._UNDO" "1")
(ende_func)
(setq *ERROR* nil)
)
;-------------Programmablauf----------------------------
;-------------------------------------------------------
(zip_func)
(princ)
);End of Function
AutoCad 2018Bernhard GSD (defun c:BP4test ( / *error* myerror plot_func zip_func ende_func)
Aber *error* muss geschützt sein.
Gruß aus Wien
BernhardAndreas Kraus
ACAD 2022Eben erst gesehen und gleich Feierabend
.
Das hier schon durchgearbeitet ?
http://advanced.autolisp.info/error2.html
Geht nicht, gibts nicht
Andreas