• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Fehler lisp: keine Funktionsdefinition: VLAX-ENAME- > VLA-OBJECT

  • Ersteller Ersteller Berior
  • Erstellt am Erstellt am

Berior

Guest
Hallo alle,
heute mein 2015 autocad (Ich habe Fenster 8.1 bis 64bit) wachte auf tippen Sie die benutzerdefinierte Befehl sup zurückgegeben diesen Fehler:
keine Funktionsdefinition: vlax-ename->vla-object

Und dennoch habe ich nirgendwo Veränderungen vorgenommen. Heute habe ich die Videokarte aktualisiert... aber ich glaube nicht, dass Sie mit Autocad Schnittstelle können, bis Sie den Befehl erkennen... dieser Befehl lädt automatisch, wenn Autocad beginnt.
Das ist das lsp-Skript, kannst du mir sagen, was los ist?
(defun c:sup (/ legen cm pt int block)
(vl-load-com)
;;(defun sup error(s)
;; (falls (/= s "Funktion storniert")
;;
;;;
;; (falls älter (setq *error* älterr)
;;;
;;;
(Setq cmd (getvar "cmdecho")
lay(vla-add (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))) "sup")
)
(vla-put-color lag 6)
(Setvar "cmdecho" 0)
(setq pt (getpoint "tocca un punto interno all'area.")
(vl-cmdf "_bpoly" pt ")
(setq ent (entlast)
Block (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point pt) "area_by" 1 1 1 0)
)
(vla-put-textstring (car (safearray-value (variant-value))))(rtos (vla-get-area (vlax-ename->vla-object ent))) 2 2)
(vla-put-textstring (cadr (safearray-value))(rtos (vla-getattributes block))))(vla-get-length (vlax-ename->vla-object ent)))2 2))
(vla-put-layer Block "sup")
(Setvar "cmdecho" cmd)
(princ)
)
 
Nein, der Abschnitt hat recht.
Versuchen Sie, Autocad neu zu installieren oder (wenn Sie in Eile sind) und Sie wollen ein "weet" anstelle von vlax-ename->vla-object zu bekommen Fläche und Länge der Pline verwenden Sie die demütige Funktion (Befehl "_area" "_o" ent.... und dann fragen Sie die Variablen des Systembereichs und angenommen mit getvar.
 
Ich weiß nicht, wo ich diese Befehle in den Deckel stecken soll. Ich dachte, es wäre etwas wie "Add this xxx string right after this yyy und es wird funktionieren" ahuahu
 
ecco le modifiche:
. ...
(Befehl "_area" "_o" ent)
(setq _ar(getvar"area") _pe(getvar"perimeter)
(vla-put-textstring (car (safearray-value)) (rtos _ar 2 2))
(vla-put-textstring (cadr (safearray-value)) (rtos _pe 2 2))
. .
 
ecco le modifiche:
. ...
(Befehl "_area" "_o" ent)
(setq _ar(getvar"area") _pe(getvar"perimeter)
(vla-put-textstring (car (safearray-value)) (rtos _ar 2 2))
(vla-put-textstring (cadr (safearray-value)) (rtos _pe 2 2))
. .
Mach's gut. Vielen Dank!
Wenn es jemanden dienen sollte, den ich anstecke.
der Faden, den Sie schließen können
Dank allen
 

Anhänge

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben