RezepteAutoLISP
Meine AutoLISP-Routine wirft einen Fehler. Kann KI sie reparieren und in AutoCAD ausführen?
Ja. Fügen Sie die Routine ein mit „das scheitert mit bad argument type: lselsetp: nil, repariere es und führ es aus“. cadssistant führt sie in Ihrem AutoCAD aus, sieht den tatsächlichen Fehler und den Zustand, der ihn ausgelöst hat (ein ssget, das nil zurückgab, eine Variable, die nie gesetzt wurde, eine Funktion, die es in Ihrer Version nicht gibt), korrigiert die Routine und führt sie noch einmal aus, dann antwortet es mit dem, was falsch war, und dem funktionierenden Code. Anders als beim Einfügen in einen Browser-Chatbot ist die Korrektur an Ihrer Zeichnung getestet, bevor Sie sie bekommen.
Geprüft am 2026-11-01
Dieses LISP scheitert mit 'bad argument type: lselsetp: nil' - repariere es und führ es aus: (Routine hier einfügen)
Was cadssistant tut
- Führt die Routine in Ihrer Zeichnung aus, der Fehler ist also der echte aus Ihrer Version und Ihrer Zeichnung, keine Vermutung. Eine sehr lange Routine kürzen Sie am besten auf den Teil, der scheitert.
- Liest die Meldung zurück: lselsetp: nil heißt hier, dass sslength nil statt eines Auswahlsatzes bekam, das ssget also nichts gefunden hat (falscher Layername, kein Treffer oder ein Fehler beim Quotieren im Filter). Es kann mit einer Leseabfrage prüfen, was davon zutrifft, bevor es den Code ändert.
- Schreibt die Routine mit der Absicherung neu, führt sie erneut aus und antwortet mit der Diagnose und dem korrigierten Code, fertig zum Speichern als .lsp.
Dieselbe Aufgabe in AutoLISP
;; Before: errors when nothing matches, because ssget returned nil
(repeat (sslength ss) ...)
;; After: guard the selection
(if (setq ss (ssget "_X" '((0 . "CIRCLE"))))
(repeat (sslength ss) ...)
(prompt "\nNo circles found."))Der häufigste AutoLISP-Fehler und das Erste, was es prüft: ssget liefert nil und keinen leeren Auswahlsatz, wenn nichts passt.
Gut zu wissen
- Visual-LISP-Funktionen (vla-, vlax-) brauchen manchmal zuerst (vl-load-com); ein Fehler „no function definition“ bei einer davon ist das Zeichen.
Mehr aus „AutoLISP“
Befehl: CADSSISTANT
Läuft in AutoCAD 2024 und neuer unter Windows. Kostenlos testen, ohne Karte, ohne API-Schlüssel.
cadssistant holen