VBA . . .


Michal

Rekomendowane odpowiedzi

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.

Odnośnik do komentarza
Udostępnij na innych stronach

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 :)

Odnośnik do komentarza
Udostępnij na innych stronach

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.

Odnośnik do komentarza
Udostępnij na innych stronach

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ć.

Odnośnik do komentarza
Udostępnij na innych stronach

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

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 rok później...

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.

Odnośnik do komentarza
Udostępnij na innych stronach

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"

Odnośnik do komentarza
Udostępnij na innych stronach

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ść.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 rok później...

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.

Odnośnik do komentarza
Udostępnij na innych stronach

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.

Odnośnik do komentarza
Udostępnij na innych stronach

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

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.