Parikon

Użytkownik forum
  • Postów

    355
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    19

Treść opublikowana przez Parikon

  1. Dziękuję za pomoc. Sam znalazłem coś takiego i działa zgodnie z założeniem. rys.SendStringToExecute("\x03\x03", false, true, false);
  2. Witam. Mam takie pytanie. Potrzebuje rozwiązania jak usprawnić taki kod. private void button_Button_Click(object sender, RoutedEventArgs e) { zza.Document rys = zza.Application.DocumentManager.MdiActiveDocument; try { rys.SendStringToExecute("WG_Button\n", true, false, false); } catch (System.Exception ex) { zza.Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage(ex.ToString()); } } Naciśniecie przycisku wywołuje komendę. Chciałbym aby przed wywołaniem komendy następowało sprawdzenie, czy inna komenda jest aktualnie w użyciu i jeśli tak to ją przerywało.
  3. ZWCAD 2024 Wersja testowa (Ograniczona) - [Rysunek1.dwg] 2023-07-07 10-07-30.mp4
  4. Gdy zmieniam kolor tekstu w stylu wymiarowania (przykładowo w ISO25) na żółty. Następnie tworzę wymiar i edytuję tekst w tym stylu. ZwCAD się zawiesza przy zatwierdzaniu zmiany enterem. Inne kolory nie powodują tego efektu. Pozdrawiam
  5. Zainstalowałem na laptopie z windows 10 zwcad 2021PL i zwcad 2024PL. W tym drugim wszystko jest w porządku, natomiast w zwcad 2021 nie działają skróty wielu poleceń, gdyż ich nazwy są niepoprawnie wyświetlane ( chodzi o polskie znaki w polskich komendach). Wybierając skrót komendy, która nie jest poprawnie wyświetlana program odpowiada, ze nie zna takiej komendy.
  6. Polecenie w ZwCAD 2021 PL to helisa. Polecenie spirala nie istnieje. Narysowanie czegoś podobnego - to stworzenie ścieżki gwintu za pomocą polecenia helisa i przeciągnięcie po niej za pomocą polecenia przeciągnij (_sweep) określonego kształtu. Brak potrzeby pisania programu ;)
  7. Ale po przejściu na 2020 scroll działa. Ten sam rysunek. Chodzi tu o wybieranie czegoś co jest małe.
  8. Wyłapałem 2 irytujące błędy w wersji 2021. Pierwszy to powiększanie i pomniejszanie scrollem myszy. W 2021 po prostu się zatrzymuje powiększanie. Być może jakąś zmienną trzeba ustawić. Drugi. Nie odświeża bloku po jego edycji. Blok tworzony w 2020. Po edycji odświeża go dopiero po zamknięciu i otwarciu na nowo rysunku.
  9. Jeżeli chcesz "oskryptować" ZwCad-a proponuje abyś wybrał język C#. W zasadzie będziesz mógł tworzyć rozwinięte programy. A narzędzia do tego są ogólnodostępne. Co prawda zamknięte, ale ZwCad-a też mogą "zwinąć" w pewnym momencie. Jeśli przerobiłeś projekt_forum.dll to wiesz jak utworzyć okno. Chociaż to co pokazałem może być nieprofesjonalne, ale ja też za programistę się nie uważam. 😉 Ja w zasadzie do rysowania wykorzystuję przestrzeń udostępnianą przez ZwCad. Ale możesz szkicować w oknie wykorzystując System.Windows,Shape. // Add the Polyline Element myPolyline = new Polyline(); myPolyline.Stroke = System.Windows.Media.Brushes.SlateGray; myPolyline.StrokeThickness = 2; myPolyline.FillRule = FillRule.EvenOdd; System.Windows.Point Point4 = new System.Windows.Point(1, 50); System.Windows.Point Point5 = new System.Windows.Point(10, 80); System.Windows.Point Point6 = new System.Windows.Point(20, 40); PointCollection myPointCollection2 = new PointCollection(); myPointCollection2.Add(Point4); myPointCollection2.Add(Point5); myPointCollection2.Add(Point6); myPolyline.Points = myPointCollection2; myGrid.Children.Add(myPolyline); https://docs.microsoft.com/en-us/dotnet/api/system.windows.shapes?view=netcore-3.1 Zatem robisz to tak w przykładzie projekt_forum.dll. Gdzieś w oknie dodajesz kontrolkę Canvas. W kodzie wpf będzie to np.<Canvas x:Name="Plotno" HorizontalAlignment="Left" Height="60" Margin="18,158,0,0" VerticalAlignment="Top" Width="160"/> Nazwałem kontrolkę "Plotno". Teraz w tej kontrolce możesz narysować przykładowo prostokąt. Przy czym jak ten prostokąt ma się pojawić po kliknięciu przycisku do dodaj kod do zdarzenia kliknięcia przycisku. Jak od razu przy uruchomieniu programu, to dodaj do zdarzenia uruchomienia programu: // Add a Rectangle Element System.Windows.Shapes.Rectangle myRect = new System.Windows.Shapes.Rectangle(); myRect.Stroke = System.Windows.Media.Brushes.Black; myRect.Fill = System.Windows.Media.Brushes.SkyBlue; myRect.HorizontalAlignment = HorizontalAlignment.Left; myRect.VerticalAlignment = VerticalAlignment.Center; myRect.Height = 50; myRect.Width = 50; Plotno.Children.Add(myRect); Oczywiście można to oprogramować dalej i prostokąt będzie przyjmował kształty wybranych z bazy danych prostokątów. Pojawi się taki kwadracik jak poniżej. Przy czym nie przybiera on kształtu odpowiedniego do długości B i L, gdyż jeszcze tego nie oprogramowałem. Sorry, że piszę tak jak do kogoś całkiem nie obytego z programowaniem, ale jak już piszę, to i komuś takiemu może się przyda.
  10. Po lewej rysunek 2020. Po prawej otwarty w 2021. Na modelu jest identycznie. Po przejściu na arkusz "Projekt budowlany" warstwa K_NIEWIDOCZNE, a także K_OSIE1 przyjmuje żółty kolor. Czy to jakaś nowa funkcja lub zmienna, która wywołuje taki efekt?
  11. Zrobiłem prostą tabelę. Napisałem prostą formułę =sqrt(A2). Program podaje wynik z 6 cyframi po kropce. Przycisk format danych jest nieaktywny. Czy formatowanie jest jeszcze niedostępne, czy ja coś muszę zrobić, aby uaktywnił się ten przycisk?
  12. using zza = ZwSoft.ZwCAD.ApplicationServices; namespace startowa { public class Start : zzr.IExtensionApplication { public void Initialize() { AddDocEvent(); WywolajPrzyStarcie(); } public void Terminate() { // zdarzenia zamknięcia ZwCAD } private void AddDocEvent() { zza.Application.DocumentManager.DocumentCreated += DocumentManager_DocumentCreated; } private void DocumentManager_DocumentCreated(object sender, zza.DocumentCollectionEventArgs e) { WywolajPrzyStarcie(); } private void WywolajPrzyStarcie() { //tutaj ustawiamy zmienne systemowe dla documentu po otwarciu } } } Czy taki kod zda egzamin? Czy coś trzeba by dodać? Jak myślicie? Zamiast zmiennych systemowych chciałbym wstawiać własne linie, warstwy wcześniej zdefiniowane w bazie danych do nowych- pustych rysunków jak i otwieranych rysunków z zawartością.
  13. using zza = ZwSoft.ZwCAD.ApplicationServices; public void AddDocEvent() { // Get the current document zza.Document acDoc = zza.Application.DocumentManager.MdiActiveDocument; acDoc.BeginDocumentClose += new zza.DocumentBeginCloseEventHandler(docBeginDocClose); zza.Application.DocumentManager.DocumentToBeDeactivated += DocumentManager_DocumentToBeDeactivated; } private void docBeginDocClose(object sender, zza.DocumentBeginCloseEventArgs e) { zza.DocumentCollection docs = zza.Application.DocumentManager; if (docs.Count == 1) { } } private void DocumentManager_DocumentToBeDeactivated(object sender, zza.DocumentCollectionEventArgs e) { } Być może można dodać przy uruchamianiu ZwCAD event otwierania dokumentu. I po jego zaistnieniu wywoływać zmianę zmiennej? Sprawdź, być może taki event jest możliwy do wywołania. http://docs.autodesk.com/ACD/2010/ENU/AutoCAD .NET Developer's Guide/index.html The following events are available for DocumentCollection objects: DocumentActivated Triggered when a document window is activated.
  14. U mnie na wersji PL VERNUM = "2020.01.07(53615)_x64" Windows 10 czerwono w palecie jak w pierwszym poście.
  15. Wpisując 51,99 program nie widzi problemu, więc zapewne szerokość i długość geograficzną trzeba podawać po przecinku z przelicznikiem.
  16. Najpierw na podstawie danych @JasW stworzyłem podłoże. Granica między bryłami, których rzut to kwadrat wyznacza kierunek północ- południe. Małe koło w środku wyznacza zasięg cienia 10 metrowego obiektu jaki wychodzi z podanego kąta padania promieni słonecznych. Duże koło, podzielone dwoma kolorami wyznacza podany azymut. W centrum ustawiłem dziesięciometrowy stożek o średnicy podstawy 1 metr. A oto wynik renderingu. Wniosek. Jest OK! Dane punktu na ziemi wpisałem bez przeliczania minut na dziesiętne po przecinku, czyli zapewne w zaokrągleniu. A tu widok z góry. 10 metrowy walec o średnicy metra zamiast stożka.