Rekomendowane odpowiedzi

Opublikowano

Witam!

W dawnych czasach używałe takiego lispa:

(vl-load-com)

(defun change_text_value (obj)

(foreach ATT (vlax-safearray->list

(vlax-variant-value ;;;;;;?????????????????

(vla-getattributes obj)

)

)

(if (and (/= (vla-get-TagString att) "DESC")

(/= (vla-get-TagString att) "ARK_NR")

);and

(vla-put-textstring att " ")

);IF

)

(vla-update obj)

)

(defun c:blank (/ sset num len)

(setq sset (ssget "x" '((2 . "BordUn2")))

;; (setq sset (ssget '((0 . "INSERT") (66 . 1)))

num 0

len (sslength sset)

)

(vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))

(if (/= len 0)

(repeat len

(change_text_value

(vlax-ename->vla-object (ssname sset num))

)

(setq num (1+ num))

)

(princ "\nNo entities with attributes were selected. ")

)

)

Procedura ta czyściła wszystkie atrybuty w bloku BordUn2, za wyjątkiem 2-ch ("DESC" i "ARK_NR").

Próbowałem wiersz, po wierszu przetestować ten program. Wydaje się, że zawiesza się na

(vlax-variant-value ...).

Czy może uda się to jakoś to "reanimować?

Pozdrawiam.

H.R.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się