Parikon

Użytkownik forum
  • Content Count

    340
  • Joined

  • Last visited

  • Days Won

    18

Everything posted by Parikon

  1. 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ą.
  2. 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.
  3. U mnie na wersji PL VERNUM = "2020.01.07(53615)_x64" Windows 10 czerwono w palecie jak w pierwszym poście.
  4. Wpisując 51,99 program nie widzi problemu, więc zapewne szerokość i długość geograficzną trzeba podawać po przecinku z przelicznikiem.
  5. 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.
  6. From the album: nowy

  7. Dobra propozycja na porównanie. Natomiast jest jeszcze kwestia wpisania danych. Przykładowo 51stopni i 6 minut to wypadało by zamiast wpisywać 51,6 wpisać 51,10. Pytanie zatem brzmi: Czy szerokość i długość to liczba, czy też przecinek pełni rolę separatora? 51st.6minut 36 sekund = 51 + (6*60+36)/3600 = 51,11
  8. W silniku renderującym ZwCAD-a jest możliwość ustawienia punktu na kuli ziemskiej, dnia i godziny. Co w zasadzie wystarczy do analizy nasłonecznienia. Spróbowałem i wyszło mi coś takiego. Na ile można zaufać tym ustawieniom? Przykładowo : Wrocław 51°06′36″N 17°01′20″E . W ZwCAD wpisuje 51,06 N i 17,01 E Czy to prawidłowe podejście?
  9. Dzięki. A ja się męczyłem z tym kopiowaniem. 😉 Dobrze nieraz pomóc sobie samemu.
  10. Jeśli chodzi i obwiednie kreskowania to ja mam prosty na to sposób. Kopiujemy kreskowanie o zadaną odległość, kasujemy oryginał a na jego miejsce wstawiamy kopie. Przy czym dziwnym trafem kopia będzie miała uchwyty po zaznaczeniu.
  11. Temat do zamknięcia. Wywaliłem całkiem obiekty XData z kodu i wszystko ok.
  12. Już wiem kiedy przestaje działać. Gdy chcę wywołać wcześniej zdefiniowany zzd.ResultBuffer rb tym kodem // Set the XData on our object //poniższej linijki już nie wykonuje tylko wypisuje komunikat błędu "eRegisteredAplicationidnotfound" wymiar.XData = rb; wymiar.XData = acResBuf; wymiar.XDataTransformBy(mat); wymiar.Dispose(); wymiar_start = koniec;
  13. Po aktualizacji do 2020 Sp1 jeden z moich programów przestał działać. Wyskakuje błąd eRegisteredAplicationidnotfound. Prawdopodobnie w tej wersji przestaje wykonywać się następujący kod. // Open the Registered Application table for read RegAppTable acRegAppTbl; acRegAppTbl = tr.GetObject(db.RegAppTableId, OpenMode.ForRead) as RegAppTable; // Check to see if the app "ACAD_DSTYLE_DIMJAG_POSITION" is // registered and if not add it to the RegApp table if (acRegAppTbl.Has("ZWCAD_DSTYLE_DIMJAG_POSITION") == false) { using (RegAppTableRecord acRegAppTblRec = new RegAppTableRecord()) { acRegAppTblRec.Name = "ZWCAD_DSTYLE_DIMJAG_POSITION"; acRegAppTbl.UpgradeOpen(); acRegAppTbl.Add(acRegAppTblRec); tr.AddNewlyCreatedDBObject(acRegAppTblRec, true); } } Dalsza część kodu // Create a result buffer to define the Xdata ResultBuffer acResBuf = new ResultBuffer(); acResBuf.Add(new TypedValue((int)DxfCode.ExtendedDataRegAppName, "ZWCAD_DSTYLE_DIMJAG_POSITION")); acResBuf.Add(new TypedValue((int)DxfCode.ExtendedDataInteger16, 387)); acResBuf.Add(new TypedValue((int)DxfCode.ExtendedDataInteger16, 3)); acResBuf.Add(new TypedValue((int)DxfCode.ExtendedDataInteger16, 389)); acResBuf.Add(new TypedValue((int)DxfCode.ExtendedDataXCoordinate, new zzg.Point3d(-1.26985, 3.91514, 0))); zzd.ResultBuffer rb = new zzd.ResultBuffer(new zzd.TypedValue[10] {new zzd.TypedValue((int)zzd.DxfCode.ExtendedDataRegAppName, "ZWCAD"), new zzd.TypedValue((int)zzd.DxfCode.ExtendedDataAsciiString, "DSTYLE"), new zzd.TypedValue((int)zzd.DxfCode.ExtendedDataControlString, "{"), new TypedValue((int)DxfCode.ExtendedDataInteger16, 279 ), //DIMTMOVE new TypedValue((int)DxfCode.ExtendedDataInteger16, 40 ), // DIMSCALE new TypedValue((int)DxfCode.ExtendedDataInteger16, 271 ), // DIMDEC new TypedValue((int)DxfCode.ExtendedDataInteger16, 41), // DIMASZ new TypedValue((int)DxfCode.ExtendedDataReal, 342 ), // DIMBLK new TypedValue((int)DxfCode.ExtendedDataReal, 144 ), // DIMLFAC new TypedValue((int)DxfCode.ExtendedDataControlString, "}" )});
  14. Migracja z 2020 na 2020 P1 bezproblemowa. Pyta na końcu czy nadpisywać cuix itp. Ale po angielsku. Po odpowiedzi, aby pozostawić stare, wszystko działa po staremu - w sensie nie trzeba na nowo doinstalowywać nakładki czy menu.
  15. Już działa. Właśnie pobieram online. Wersja PL-pl
  16. Jest to jakieś rozwiązanie i działa. Jednakże dziwne, że nagle trzeba zmienić kod aby coś działało jak należy. Dla sprawnego oka widoczne jest, że paleta najpierw pojawia się obok, a potem dopiero jest dokowana. Przy czym objawia się to tylko po uruchomieniu ZwCAD-a. Dobrze by było to zgłosić do poprawki. Natomiast sam kod udało mi się zaimplementować z powodzeniem. static void OnPaletteClose(object sender, zzw.PaletteSetStateEventArgs e) { if (e.NewState == zzw.StateEventIndex.Hide) { if (_ps.Dock == zzw.DockSides.Left) { Settings1.Default._ps = "left"; } else { Settings1.Default._ps = "right"; } } } Dziękuję za pomoc.
  17. Jeżeli nie da się tego naprawić po staremu, to można dać możliwość użytkownikowi wyboru strony w formie ustawień w programie. Co możecie zaimplementować też w powyższym programie.
  18. Działa, ale teraz zawsze jest z lewej. A wcześniej jak ustawiłem z prawej i zamknąłem panel a potem znów go chciałem włączyć to dopóty nie restartowałem całego ZwCADA panel startował po prawej.
  19. Potrzebuje rozwiązania problemu braku automatycznego dokowania od wersji 2020. W 2019 po włączeniu ZwCAD panele automatycznie się dokują zgodnie z kodem c#. A od wersji 2019.3 lub w wersji 2020 panel wyrzucony jest na bok. Nie chce zakładać oddzielnego tematu PaletaBazaZbrojenia.DockEnabled = (zzw.DockSides)((int)zzw.DockSides.Left + (int)zzw.DockSides.Right);
  20. Brak zapamiętywania ustawienia panelu to przypadłość, której nie było w ZwCAD 2019. Pojawiło się w ZwCAD 2019 Sp 3 i ZwCAD 2020.
  21. Cóż w zasadzie i tak pracuje już na ZwCAD. AutoCad-a używałem już tylko do kopiowania do ZwCAD wcześniej przygotowanych w nim tablic. Bo ZwCAD nie pozwala na wpisywanie formuł w tablicach. Czy wiemy, kiedy ta funkcjonalność pojawi się w ZwCAD?