 |
Forum użytkowników programów ZWCAD, KOMPAS-3D, Scan2CAD, PDF2CAD
Forum CAD.
|
|
Vlisp - problem |
| Autor |
Wiadomość |
henrykrojek
Dołączył: 25 Lip 2011 Posty: 11
|
Wysłany: Pią Gru 16, 11 11:21 Vlisp - problem
|
|
|
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. |
|
|
|
 |
kruszynski
Pomógł: 17 razy Dołączył: 02 Sty 2009 Posty: 312
|
Wysłany: Pią Gru 16, 11 12:22
|
|
|
ZWCAD zwraca (vla-getattributes obj) jako safearray a nie variant, więc nie trzeba pobierać wartości varianta. wystarczy
| Kod: | | (vlax-safearray->list (vla-getattributes obj) ) |
|
|
|
|
 |
henrykrojek
Dołączył: 25 Lip 2011 Posty: 11
|
Wysłany: Pią Gru 16, 11 12:25
|
|
|
Dziękuję za pomoc. W domu przetestuję.
H. R. |
|
|
|
 |
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
| | Strona wygenerowana w 0,15 sekundy. Zapytań do SQL: 10 |
|
|