VBA . . .


Michal
 Share

Recommended Posts

Witam,

próbuje w najnowszej wersji otworzyć plik *.zvb z katalogu SAMPLE.

Niestety bezskutecznie.

Czy to jakiś problem ogólnie, że ich nie można użyć, czy popelniam jakiś błąd (otwieram z Tools -> Load Application -> Add File).

Dodatkowo mam pytanie, jak można użyć przykładów z Helpa dotyczacych VisualLispa. Sa tam Example, aczkolwiek ich użycie zapisując z rozszerzeniem Lisp nic nie daje. Próbowałem to rozbudować używając funkcji defun.........

Czy Pan Moderator wie jak to sie uruchamia skutecznie ??

Pozdrawiam

Michał K.

Link to comment
Share on other sites

czy dobrze wnioskuje, ze pliki visual Lisp mozna tylko uruchamiac w wersji profesjonalnej zwcada? zatem vla w zwcad rozni sie od vla w autocad, gdyz komendy typu vlax-....... mozna "wplatac" w pliki z rozszerzeniem *.lsp

Link to comment
Share on other sites

miał Pan Moderator na myśli skrypty otwierane z Macro -> VBA Manager ?? bo ja otwieram sobie filmik, którego zlinkował Pan w poprzednim wpisie i porównując do wersji zwcad 2008i Trial Version rodzaju Standard i niestety ale nie ma pod komendą Tools -> Macro -> elementów występujących w filmiku. zaraz ściągnę wersje Pro i spróbują, ale prosiłbym o ustosunkowanie się do problemu. Możliwe, że coś przeoczyłem. pozdrawiam.

_______________

P.S. ZwCAD rozwija sie w imponującym tempie i prawde powiedziawszy jestem zachwycony możliwościami pojawiającymi się w kolejnych wersjach. Tym bardziej, że powstało takie forum które pomaga w usprawnieniu pracy w tym Cadzie :)

Link to comment
Share on other sites

Witam,

faktycznie ma Pan rację. Wersja STD nie posiada z tego co przypominam sobie opcji do VB w menu.

Proszę spróbować wpisać polecenia z klawiatury:

- vbaload - do załadowania makra

- vbarun - do jego uruchomienia.

Edytor makr dostępny jest jednak tylko w wersji PRO.

Pozdrawiam

:-) Dziękuję za ciepłe słowa.

Link to comment
Share on other sites

czy udałoby się Panu uruchomić Lispa wykorzystującego komende jak z tematu ??

Probuje róznymi metodami uruchomic lispa jak poniżej ale bez pozytywnego skutku. Oto moj lisp przykladowy:

(defun c:get (/ A)

(vl-load-com)

(setq A(ssget))

(vlax-curve-getParamAtDist A 1.0)

) ;end defun

może coś źle robie? może ta komenda należy do 20% ktore nie będą na razie działać? bo wnioskuje, że te 10-20% ktore nie dzialają sa wymienione w Developer Help jako komendy ktore sa obecnie opracowywane i w najblizszych uaktualnieniach bedą działać.

Link to comment
Share on other sites

Witam,

Proszę zainstalować wersję PRO.

Po włożeniu klucza sprzętowego z wersji standard ZWCAD będzie działał bez problemów, jedynie pojawi się komunikat przy starcie programu, że funkcje tworzenia i edycji brył są zablokowane.

Natomiast w wersji PRO instaluje się cały VB i będzie Pan miał dostęp także do edytora.

Być może edytor taki ma pewne ograniczenia, jednak na pierwszy rzut oka wygląda, ze wszystko działa.

Instalacja wersji PRO wymaga odinstalowania wersji STD.

Proszę operacje usuwania i instalowania programu wykonać przy wyciągniętym kluczu sprzętowym.

Jeśli chodzi o VL, to potrzebuję trochę czasu na zapoznanie się z nim.

Pozdrawiam

Link to comment
Share on other sites

  • 1 year later...

Niestety nie mam dla Pana dobrych wiadomości. Nie znam sposobu na konwersję między tymi plikami. Najprostrzym znanym mi sposobem jest eksport każdego modułu osobno z dvb i import w projekcie zvb. To jednak nie rozwiązuje problemu, dlatego, że różnią się deklaracje np w Acad "ThisDrawing" w ZWCAD jest "ThisDocument". Nazwy klas też są inne, np "AcadPoint" jest "ZWCADPoint" itp.

Link to comment
Share on other sites

No właśnie. Zrobiłem ten eksport-import, ale wyskakują błędy: "user-defined type not defined". Dużo jest jeszcze takich różnic w nazewnictwie? A jakie są pana doświadczenia w zakresie stabilności pracy VBA w zwcadzie? U mnie w autocadzie często występowały błędy krytyczne przy pracy na zdarzeniach autocada z wykorzystaniem "public withevents .... as acadentity"

Link to comment
Share on other sites

Różnic w nazewnictwie jest w zasadzie tyle ile typów obiektów.

Wszystko, co zaczynało sie na "Acad", tu zaczyna sie na "ZWCAD". Co do stabilności nie mam wielu zastrzeżeń. Sama obsługa zdarzeń jest raczej stabilna, choć obsługiwanych zdarzeń jest znacznie mniej, zwłaszcza dla obiektów aplikacji. Obsługa formularzy nie różni się w zasadzie niczym, te same obiekty, te same zdarzenia, pracuje to stabilnie. Przyznam że klas opartych na entity nie używałem do tej pory, więc nie wiem jaka tu będzie stabilność.

Link to comment
Share on other sites

  • 1 year later...

Podłączę się do pytania o kompatybilność VBA Autocadowskiego z Zwcadowskim.

MZ nazewnictwo klas to jest najmniejszy problem.

Interesują mnie inne bardziej istotne różnice np.:

- czy wszystkie obiekty rysunku posiadają metodę IntersectWith tak jak w Autocad? bo np. w vba programu bricscad obsługiwana jest z tego co sprawdzałem tylko Linia.

- takich różnic może być setki. czy jest gdzieś dostępny jakiś plik pomocy do zwcad-vba, w którym możnaby sprawdzić co jest obsługiwane a co nie jest?

Drugie zasadnicze pytanie: jak wygląda wydajność silnika VBA w Zwcadzie w porównaniu z tym z Autocada? Mam złe doświadczenie z VBA Bricscada, w którym ta sama funkcja (przetwarzanie dużej ilości danych, iteracja po obiektach rysunku i zmiana ich właściwości) wykonywała się wielokrotnie wolniej niż w Autocadzie.

Pytam jako osoba, która z chęcią przepisałaby swoje komercyjne skrypty z dvb do zvb.

Dodam, że nie posiadam jeszcze licencji na zwcad a w wersji testowej nie można tego sprawdzić. A nie chciałbym kupować kota w worku.

Link to comment
Share on other sites

Pliki dvb (z tego co się orientuje) są zaszyfrowane.

Bez zmiany kodu nie da się ich uruchomić, a zmianę kodu można zrobić tylko, gdy znamy hasło do pliku dvb.

Jeśli, wiadomo co robi plik dvb, to proszę go opisać.

Być może mamy coś podobnego już opracowanego.

Pozdrawiam

Link to comment
Share on other sites

Wielkie dzięki za odpowiedź.

Będę musiał skorzystać z uprzejmości jakiegoś AutoCad-owca z wersją full.

Kiedyś na studiach napisałem nakładkę pod VBA do rysowania konstrukcji stalowych

i teraz jak już mam ZWCAD-a pasowało by ją uruchomić na intelicadzie.

Pozdrawiam

Link to comment
Share on other sites

Co prawda nie ma możliwości uruchamiania plików dvb z AutoCADa, ale jest możliwość stosunkowo łatwego przeniesienia kodu. W tym celu należy z pliku dvb (uruchomionego w Acad) wyexportować wszystkie klasy, moduły, okna jako oddzielne pliki, i w nowym projekcie zvb, należy je importować. Albo metodą siłową: [CTRL+C] [CTRL+V] przekopiować cały kod do nowego projektu. Niestety w celu otwarcia pliku dvb potrzeba jest uprzejmość kogoś kto uruchomi plik dvb na Acad.

Link to comment
Share on other sites

W sprawie IntersectWith, to nie spotkałem obiektu, który nie miałby tej metody, a pracowałem na wielu różnych: liniach, łukach, okręgach, poliliniach, blokach, itp. na pewno IntersectWith mają też: Region, Leader, PolyfaceMesh, Spline, Ray, Point, Trace, Text i wiele, wiele innych.

Plik pomocy jest dostępny. Po zainstalowaniu ZWCADa, nawet w wersji testowej, w katalogu Help, jest plik ZWCAD_Dev.chm W nim jest rozpisany model obiektowy, z wypisanymi wszystkimi własnościami i metodami.

Co do wydajności, to niestety nie mogę się wypowiedzieć, nie testowałem swoich wynalazków na konkurencyjnych programach.

W zasadzie prawie wszystko można sprawdzić w wersji testowej. Jedyne czego sprawdzić nie można wynika z ograniczeń wersji testowej, czyli zapis dużych plików, export do DXF

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share