Rekomendowane odpowiedzi

Opublikowano

Istnieje w ZwCAD odpowiednik funkcji AutoCAD'owego Visual Lispa "vla-explode"?

Polecenie: (setq a (vlax-ename->vla-object (car(entsel))))
Wybierz obiekty: #
Polecenie: (vla-explode a)
błąd: pusta funkcja

pozdrawiam

Opublikowano

Otwieram nowy rysunek, rysuję jedną polilinię i wprowadzam polecenie:

(setq vla_object (vlax-ename->vla-object (entlast)))

a następnie:

(vla-explode vla_object)

i ZwCAD zwraca:

błąd: pusta funkcja

(VLA-EXPLODE VLA_OBJECT)

nie ma mowy o błędzie literowym...

Albo coś jeszcze jest potrzebne do zdefiniowania, albo jakiś dodatkowy parametr, lecz w Pomocy dla programisty ZwCADa, nie ma w ogóle opisanej funkcji "vla-explode" więc nie wiem gdzie tego szukać... Może jest inna funkcja w Visual Lisp, która rozbija obiekty?...

Powyższy zapis kodu w AutoCAD, działa bez zarzutu:

(setq vla_object (vlax-ename->vla-object (entlast)))

(vla-explode vla_object)

i AutoCAD zwraca:

#

pozdrawiam

Opublikowano

W przypadku bloku jest podobnie:

Polecenie:

(setq vla_object (vlax-ename->vla-object (entlast)))

#

Polecenie:

(vla-explode vla_object)

błąd: pusta funkcja

(VLA-EXPLODE VLA_OBJECT)

Zmiana wartości zmiennej systemowej "EXPLMODE" nie była konieczna, gdyż domyślnie ustawiona jest na "1".

pozdrawiam

Opublikowano

Okey,

przeprowadziłem test z pełną gamą informacji, załadowaniem Visual Lisp itd.

(vl-load-com)

(setq acadobj (vlax-get-acad-object))

(setq actdoc (vla-get-ActiveDocument acadobj))

(setq vla_object (vlax-ename->vla-object (entlast)))

(vla-explode vla_object)

i dopiero wówczas ZwCAD zadziałał:

Polecenie:

(vl-load-com)(setq acadobj (vlax-get-acad-object))(setq actdoc (vla-get-ActiveDocument acadobj))

#

Polecenie:

(setq vla_object (vlax-ename->vla-object (entlast)))

#

Polecenie:

(vla-explode vla_object)

#

Moja wina, że nie odwoływałem się do ActiveDocument, lecz to z przyzwyczajenia z AutoCAD gdzie po prostu i bez tego można podstawowe testy wykonać...

pozdrawiam

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ę