Parikon

Użytkownik forum
  • Postów

    355
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    19

Treść opublikowana przez Parikon

  1. Podaje tylko jak można to zrobić szybko i sprawnie mając do dyspozycji czysty program. Co nie oznacza, że napisanie programu robiącego to jeszcze lepiej nie ma sensu. Argument o dużej ilości bloków czy obiektów jest mało przekonujący gdy mamy do dyspozycji warstwy i sumowane powierzchnie są w obrębie jednej warstwy, którą możemy wyodrębnić i zliczyć całość lub każdy obszar z osobna. Na koniec ukryć. Dodatkowo mamy jeszcze w ZwCAD tabele, w których możemy kopiować zbierane dane z okna właściwości i zliczać jak w formularzu excela czy libre office.
  2. W wersji 2017.06.22(18776)_x64" ten problem nie udało mi się odtworzyć. Rysuje okrąg o zadaną odległość. Niezależnie od tego jak narysuję linię oraz w którym kierunku od końca linii podam odległość do środka okręgu. Dalej jest problem z przenoszeniem znacznika środka w przypadku podkreślenia tekstu oraz przy wymiarowaniu dimlinear przy obrocie LUW o 90%.
  3. Dobrze, że wspomniał Pan, że nie działa z wymiarem liniowym. Na szczęście można to obejść wymiarem dimaligment, a gdy linia nie jest równoległa do UCS to i dimlinear działa.
  4. Film ukazujący problem Czysty plik z narysowanym rzutem polilinią. Próba wymiarowania w układzie globalnym i po obrocie układu. Niestety jeśli obrócę się o 90 stopni mam efekt jak na filmie
  5. Zasadniczo nie dyskwalifikuje to pracy. Jak ktoś wie co robi to w zasadzie tego nie potrzebuje. Chciałem tylko aby nakładka działała mi identycznie w dwóch programach. Jak jest blokada to tego nie obejdę.
  6. Standardowe przyciski ZwCAD można klikać i przerywają zapytanie
  7. To raczej bez znaczenia. VERNUM = "2017.06.07(18304)_x64"
  8. Proszę mi wierzyć, że moje okno narzędziowe działa identycznie ze standardowymi przyciskami ZwCAD jak Helloworld. Może Pan pobrać i wypróbować. Nie potrzeba zmiennej. Być może w ogóle problem nie jest w oprogramowaniu przycisku tylko po wywołaniu okna w trybie Modal a nie modelles. Przy czym w AutoCAD nie ma problemu, gdyż wywołanie nowego okna w trybie modal i wywołanie zapytania nie blokuje okna narzędziowego w trybie modelles. Jeszcze inaczej to napiszę. Gdy włączę mój program narzedziowy i przykładowy Helloworld i z mojego programu narzędziowego wywołam jakiś przycisk to otwiera się okno w trybie Modal. Tak wywołane okno blokuje wszystko. Wstążki, mój program narzędziowy i program Helloworld. Jednak gdy wcisnę przycisk rysuj to zamykam okno w trybie modal i wykonuje polecenie, które pyta o punkt wstawienie itp. Czyli pojawia się zapytanie. W tym momencie w AutoCAD okno narzedziowe jest dostępne i można na nowo klikać w przyciski. W ZwCAD zarówno moje okno narzędziowe jak i przysłany programik HelloWorld będą dalej zamknięte i najazd na przycisk nie wywoła nawet toolltipa.
  9. Komenda Helloworld wywołuje okno z przyciskiem HelloWorld. Okno jest w trybie zza.Application.ShowModelessDialog(form); Klikając przycisk HelloWorld wyskakuje drugie okno w trybie zza.Application.ShowModalDialog(form1); W tym oknie będzie przycisk Rysuj, który pyta o punkt wstawienia i jak pokażemy to wstawia napis Helloworld. I teraz: - jak jest pytanie o punkt wstawienia chciałbym aby okno pierwsze nie było zablokowane i mógłbym w nim znów kliknąć przycisk Helloworld. Tego nie mogę zrobić w ZwCAD a w AutoCAD mogę.
  10. Film Właśnie wydaje się działać identycznie jak moje okno. Znaczy się, że gdy jest zapytanie nie da się ponownie kliknąć w przycisk, a kliknięcie nie przerywania zapytania. Jeszcze raz Film pierwszy
  11. Problem jest taki, że jak jest "promt" to nie mogę już kliknąć z ZwCAD innego przycisku w moim programie narzędziowym. W AutoCAD mogę. W obydwu przypadkach okno z przyciskami jest uruchamiane jako zza.Application.ShowModelessDialog(form);
  12. Już wyjaśniam. Dwie kropki to "się zrobiły" niechcący. Proszę na to nie zwracać uwagi. Film pierwszy. Wybrałem jakąś komendę. Wyskakuje okno. W oknie, które wyskoczyło wciskam przycisk Rysuj. Program pyta "Wskaż ....". W tym momencie stwierdzam, że chcę użyć innej komendy i klikam inny przycisk. Anulowana jest stara komenda i wyskakuje okno nowo wybranego programu. Film drugi W ZwCAD jest już inna technologia i nawet program nagrywający nie pokazuje jak kursor przechodzi do okna mojego programu. Ale o co chodzi. Wybieram program, gdy daję rysuj i program pyta " Wskaż początek...'' to nie mogę nacisnąć innego przycisku na panelu mojego programu narzędziowego, który by to anulował. Co w AutoCAD jak pokazałem działa sprawnie dzięki kodowi jaki podałem wyżej. Co mógłbym zrobić, usprawnić w ZwCAD, żeby osiągnąć podobny efekt. W ZwCAD tak jakby całkowicie w chwili pytania nie mam dostępu do żadnych przycisków u góry zarówno tych oprogramowanych przeze mnie jak i tych oryginalnych na wstążce. Kursor pozostaje niejako w oknie (SetFocusToview). Mam nadzieję, że teraz jest już bardziej klarowne to, o co mi chodzi. W pierwszym przypadku wciskam przycisk nowej komendy W drugim muszę wcisnąć przycisk escape i przycisk nowej komendy
  13. Witam, Potrzebuję wsparcia. Oprogramowując przycisk wywołujący dowolną komendę w C# pod AutoCAD robię to tak: private void button_zigazag_Click(object sender, RoutedEventArgs e) { zza.Document acDoc = zza.Application.DocumentManager.MdiActiveDocument; Autodesk.AutoCAD.Internal.PreviousInput.CommandLineMonitorServices comLineMonServ = Autodesk.AutoCAD.Internal.PreviousInput.CommandLineMonitorServices.Instance(); Autodesk.AutoCAD.Internal.PreviousInput.CommandLineMonitor comMon = comLineMonServ.GetCommandLineMonitor(acDoc); if (comMon.CurrentCommandName.Length != 0) { acDoc.SendStringToExecute("\x03\x03", false, true, false); } acDoc.SendStringToExecute("WG_ZIGZAG ", true, false, true); Autodesk.AutoCAD.Internal.Utils.SetFocusToDwgView(); } W przypadku wywołania okna i komendy oraz gdy program jest w trakcie zapytania przykładowo " Wskaż punkt ..." gdy kliknę tak oprogramowany przycisk innej komendy automatycznie jest anulowana komenda w tle. Niestety nie wiem jak coś takiego uzyskać w ZwCAD. Aktualnie mam dopracowany taki kod dla ZwCAD 2017: private void button_zigazag_Click(object sender, RoutedEventArgs e) { zza.Document acDoc = zza.Application.DocumentManager.MdiActiveDocument; acDoc.SendStringToExecute("\x03\x03", false, true, false); acDoc.SendStringToExecute("WG_ZIGZAG ", true, false, true); ZwSoft.ZwCAD.Internal.Utils.SetFocusToDwgView(); } niestety ten kod nie zadziała tak jak ten powyżej. W ZwCAD net nie ma: ZwSoft.ZwCAD..Internal.PreviousInput.CommandLineMonitorServices comLineMonServ = ZwSoft.ZwCAD..Internal.PreviousInput.CommandLineMonitorServices.Instance(); ZwSoft.ZwCAD..Internal.PreviousInput.CommandLineMonitor comMon = comLineMonServ.GetCommandLineMonitor(acDoc); Na pewno jest jakieś lepsze rozwiązanie. Tym bardziej, że standardowe przyciski ZwCAD przerywają działające w tle funkcje. Jeśli to możliwe proszę o pomoc.
  14. Sumowanie powierzchni też jest proste Sumowanie powierzchni w ZwCAD 2107
  15. Można także w bardzo łatwy sposób wyliczać powierzchnie poprzez korzystanie z właściwości obiektu jakim jest obiekt typu ZwSoft.ZwCAD.DatabaseServices.Hatch Obliczanie powierchrzni w ZwCAD 2017
  16. Problem z kropką i przecinkiem będzie rozwiązany w wersji 1.06 tak jak pokazuje to poniższy film PI - prace nad wersją 1.06 if (kropka.IsChecked != true) { acText.TextString = "%%p" + poziom.ToString("0.000", CultureInfo.GetCultureInfo("pl-PL")); } else { acText.TextString = "%%p" + poziom.ToString("0.000", CultureInfo.GetCultureInfo("en-US")); }
  17. Jak odczytać serial number konkretnego ZwCAD-a aby zintegrować z nim własny program napisany w autolispie czy ZwCAD.net? Chodzi oczywiście o odczyt z poziomu pisanego programu.
  18. Pozostaje pytanie, czy użycie separatora dziesiętnego w formie przecinka jest zgodne z tym co pokazuje norma PN-B-01025:2004?
  19. Najnowsza wersja PI chyba już spełnia powyższe wymogi. Moduł opisujący wysokość
  20. (cond ((evenp a) a) ;jeśli a jest parzyste, zwróć a ((> a 7) (/ a 2)) ;inaczej, jeśli a jest > niż 7, zwróć a/2 ((< a 5) (- a 1)) ;inaczej, jeśli a jest < niż 5, zwróć a-1 (t 17) ;inaczej zwróć 17 ) => 2 (cond ((= n 0) 5) ; jeśli n jest 0 to zwróć 5 ((> n 0) (wzór na a)) ; zwróć a ) ; koniec cond Dawno nie pisałem nic w Lispie ale czy nie tak to powinno być?