"Mein Problem liegt beim mlstil laden. Komischerweise funktioniert dieser Befehlt nur in der Kommandozeile und nicht in einer Lisp".
Das liegt dann wohl in der Tatsache das es keinen konventionellen Befehl "loadmlstyles" in AutoCAD gibt,
dies ist ebenfalls der Grund warum dir hier ggf. niemand helfen kann - "Unser AutoCAD" kann das noch nicht mal in der Befehlszeile
Glaskugel1:
Man kann Lispdefinierte AutoCAD-Befehle über Lisp starten, aber keine weiteren Eingaben übergeben.
Sollte sich hinter dem magischen Befehlsaufruf eine Lispfunktion verstecken, so wäre der Fall damit geklärt.
Glaskugel2:
Versuche es mal so:
anstatt (command "loadmlstyles" "mlstyles.mln")
einfach (LoadMln "D:\\MeinPfad\\MeinMLstil.mln")
"In der CUI würde der Befehl auch funktionieren"
IN DER CUI bedeutet nicht gleich OHNE Lisp, du kannst in dein Menümakro auch Lisp-Anweisungen schreiben,
das Makro macht nichts weiter wie diese in die Befehlszeile zu sehen (und dort ist Lisp ja zulässig).
Also meintest du damit "als Makro ohne Lisp geht es" JA
"allerdings habe ich keine Ahnung wie ich dort alle Multilinien lösche."
Das könntest du dort auch schon wie zuvor machen, denn Lisp ist in dem Menümakro ebenso erlaubt..
Ungetestet, aber so ähnlich wird es wohl funktionieren. Korrekturen kannst du ja von Grund auf selbst in der Befehlszeile erarbeiten.
^C^C(if (setq ss (ssget "_X" '((0 . "MLINE"))))(command "_.CMLSTYLE" "Standard" "_.ERASE" ss "" "_.-PURGE" "_m" "*" "_n" "(LoadMln \"mlstyles.mln\")" "_.OOPS"))
------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP