perlon

Użytkownik forum
  • Postów

    425
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    33

Treść opublikowana przez perlon

  1. Nie testowałem i nie wiem czy ZwCAD to obsłuży, ale skoro coś dłubałeś w JS + HTML to może to warto przećwiczyc? https://kojacek.wordpress.com/2020/09/08/okno-html-w-autocad-zie/ https://www.keanw.com/2013/03/implementing-an-autocad-palette-using-html5-and-javascript.html
  2. Takie coś naskrobałem na szybko w C#. Oczywiście kod jest siermiężny ale działa. Polecam używanie wysokopoziomowych języków .NET przy zabawach z WF ew. WPF. VBA miewa braki, aczkolwiek ma niezaprzeczalną zaletę, że jest "na pokładzie" i nie potrzeba zewnętrznego kompilatora. ZwForm.rar
  3. Pomocne bo nie trzeba gmerać w rejestrze tylko od razu sprawdzić wartość zmiennej systemowej
  4. Tak zrobiłem, ale gapowato nie sprawdziłem czy faktycznie został skopiowany a nie został bo kartoteka należy do chronionych. Na administratorze mi podmienił naprawdę a nie na niby i jest ok. Nie pamiętam z którą z poprzednich wersji też miałem ten problem i musiałem podmieniać. A może z każdą?
  5. A ja chciałbym potwierdzenia czy romans.shx ma czy nie ma polskie znaki. W 2020 nie maiłem problemów a w 2021 polskich znaków brak.
  6. No zagadka. Bo jeżeli mam 193 to też 1 czyli OLE jest ustawiona. Konstrukcja zmiennej wskazuje na sumę logiczną czyli równoczesne stosowanie różnych ustawień (formatów dwg)
  7. Bardziej mnie interesuje wpływ tej zmiennej a raczej jej składowych na kopiowanie. np. czym się różnią obiekty wklejone przy zmiennej 193 a 192 albo tylko 64. Czy wersja dwg (2018,2013 etc) dotyczy źródła czy celu kopiowania i po co w ogóle jest potrzebne ustawianie tej zmiennej. W AC jej nie znalazłem. Informacja w helpie jest dla mnie co najmniej enigmatyczna.
  8. A i jeszcze jedno. Jaką wersję IFC obsługuje import, bo zapuściłem jakiś zewnętrzny plik, który dostałem z tekli i nie zaczytały się niektóre elementy, a widać je w przeglądarce BIM Vision
  9. No i gitara. Import działa co w systemach CAD nie jest tak powszechne. Jak dla mnie super bo wymieniam modele i do tej pory prosiłem kolegę z AC architecture żeby mi to wciągnął do dwg'a. Jak widzę są tworzone poliface mesh'e. Czy jest opcja na solidy?
  10. W okresie przed upływem 30 dni też nie było problemu bo komunikat się nie pojawia. Ale po 30 dniach kiedy komunikat się pojawia to wyświetla się w kółko. Ja mam klucz sprzętowy i jeżeli zapomnę go zabrać z biura do domu to mimo wszystko w wersji 2020 mogę otworzyć rysunek i sobie coś podglądnąć. Co 10min wyskakuje mi okno daję ok i działam dalej. W 2021beta okno upierdliwie wyskakuje w kółko i ja to interpretuję jako niezgodność z poprzednią wersją. Chyba, że Chińczycy uznali że należy uprzykrzać życie przy pracy w trialu po 30 dniach.
  11. W trybie trial po zakończeniu 30 dni brak możliwości zapisu. Ok pojawia się po czasie autosave odpowiedni komunikat Problem jest taki, że wyskakuje w kółko nie dając szansy na zrobienie czegokolwiek innego nawet na zamknięcie programu. Trzeba mieć niezły refleks, żeby wcisnąć OK a potem szybko krzyżyk do zamknięcia programu. Chyba kolejne wyświetlenie tego komunikatu powinno być po upływie czasu kolejnego autozapisu, a nie w kółko. Rozwiązaniem jest wyłączenie autozapisu w ogóle, ale w poprzedniej wersji tak nie było. Komunikat pojawiał się raz w odstępach autozapisu.
  12. Czy ktoś ma problemy z uruchomieniem wersji 2021 beta? U mnie nagminnie pojawia się błąd: Podpis problemu: Nazwa zdarzenia problemu: APPCRASH Nazwa aplikacji: ZWCAD.exe Wersja aplikacji: 21.0.1002.58130 Sygnatura czasowa aplikacji: 5f1bca0e Nazwa modułu z błędem: ntdll.dll Wersja modułu z błędem: 6.3.9600.19678 Sygnatura czasowa modułu z błędem: 5e82c88a Kod wyjątku: c0000005 Przesunięcie wyjątku: 00000000000547eb Wersja systemu operacyjnego: 6.3.9600.2.0.0.256.48 Identyfikator ustawień regionalnych: 1045 Dodatkowe informacje 1: a824 Dodatkowe informacje 2: a8246ba26b9c8432b80fab90807e66d1 Dodatkowe informacje 3: 00fa Dodatkowe informacje 4: 00fa19f8e584792a02cbec6a72e7ba4d Po kilku próbach się uruchomi. Po którymś uruchomieniu problem powraca. W 2020 tego problemu nie ma.
  13. Uwaga ogólna: Oddzielaj kod obsługi zdarzeń od kodu wykonawczego. Kod wykonawczy dziel na mniejsze funkcje. Spagetti code jest trudny do analizy i testowania. Jeżeli kod wykonawczy tworzy encje to te encje twórz w podfunkcjach które będą je zwracały do kodu wykonawczego. Zgromadzone encje do zgrupowania przekaż do osobnej funkcji jako argument. Funkcja ta powinna zwrócić identyfikator grupy. Co do grupowania to może taki krótki przykład pomoże Function Rysuj() Dim Points(3) As Double Dim PIERWSZY, DRUGI, TRZECI, CZWARTY As Variant Dim ObjectsToGroup(1) As ZcadEntity Dim Group As ZcadGroup PIERWSZY = ThisDrawing.Utility.GetPoint(, "Podaj punkt P1 (początek pręta):") DRUGI = ThisDrawing.Utility.GetPoint(PIERWSZY, "Podaj punkt P2 (koniec pręta):") Points(0) = PIERWSZY(0) Points(1) = PIERWSZY(1) Points(2) = DRUGI(0) Points(3) = DRUGI(1) Set ObjectsToGroup(0) = ThisDrawing.ModelSpace.AddLightWeightPolyline(Points) PIERWSZY = ThisDrawing.Utility.GetPoint(, "Podaj punkt P1 (początek pręta):") DRUGI = ThisDrawing.Utility.GetPoint(PIERWSZY, "Podaj punkt P2 (koniec pręta):") Points(0) = PIERWSZY(0) Points(1) = PIERWSZY(1) Points(2) = DRUGI(0) Points(3) = DRUGI(1) Set ObjectsToGroup(1) = ThisDrawing.ModelSpace.AddLightWeightPolyline(Points) Set Group = ToGroup(ObjectsToGroup) End Function Function ToGroup(Objects() As ZcadEntity) As ZcadGroup Dim GroupObject As ZcadGroup Set GroupObject = ThisDrawing.Groups.Add("*") GroupObject.AppendItems Objects Set ToGroup = GroupObject End Function
  14. Jak na moje oko (choć nie programuję na co dzień VBA) to powinno działać. Enter powinien powtórzyć ostatnią komendę czyli ZPP. Pod ikonkę w toolbarsie powinna być podpięta komenda z lispa czyli zpp. Sprawdź taki test. U mnie działa. Musisz tylko poprawić ścieżkę do pliku Project.zvb. Konfiguracja buttona w toolbarsie: project.lsp Project.zvb
  15. W zasadzie SPM zachowuje się jak PPM choć w konfiguracji CUI jest coś innego
  16. U mnie myszka też coś szwankuje. Mam taką jak na zrzucie i tak skonfigurowaną Na środkowy przycisk w ogóle nie reaguje. Nie ważne czy przyciska 3 czy 4 czy 5. Wszystkie są skonfigurowane jako środkowy przycisk myszy. Mbuttonpan na 0. Działa dwuklik na środkowym przycisku robiąc zoom all. Jak ustawię mbuttonpan na 1 to łapka na środkowym przycisku działa, ale ja potrzebuję menu podręcznego. Nie działa również Shift+PPM 😞 Schift+SPM czyli 3DOrbit działa. Bez menu podręcznego w praktyce program dla mnie jest nie używalny.
  17. Może wystarczy command : (defun c:nazwa_makra (/) (command "-VBARUN" "nazwa_makra") ) (command "nazwa_makra") Takie coś podpiąć pod toolbarsa i będzie powtarzalne po enterze Tak na marginesie w wersji EN jest literówka
  18. Niestety winowajca był wytypowany przedwcześnie. Żonglując domyślnym programem do dwg udało mi się otworzyć plik prawidłowo, ale zdarzało się że na "pusto" też wyskakiwał mi crash report. Tak więc widzę, że problem jest bardziej złożony o niewyjaśnionym podłożu. Na tą chwilę utraciłem powtarzalność zachowania.
  19. Mam rysunki, do których są zaimportowane dokumenty pdf, które są skanami dokumentacji papierowej. Czyli bitmapa wepchnięta do pdf jako podkład do rysowania. W 2020 otwiera się normalnie w 2021 wywala crash report 😞 Recover nie przynosi efektu, tym bardziej, że w 2020 się otwiera.
  20. Tak sobie to oglądnąłem i wg mnie oba atrybuty w różnych blokach dostawały różne pozycje. Tyle tylko, że RZD jest puste. Być może LISP, który to ogarnia mógłby albo na sztywno obrabiać jeden konkretny atrybut z definicji konkretnego bloku albo posiadać okienkowy UI pozwalający na wybór atrybutu, który należy przemieścić. Uniwersalne i "sprytne" narzędzie raczej nie będzie trywialne. Ciekawe ćwiczenie programistyczne
  21. Jak dla mnie wygląda OK. Jedyne co jeżeli AddDocEvent posiada tylko jedno przypisanie delegaty to można śmiało to przenieść do Initialize(). Trzeba jeszcze pamiętać, że jeżeli wstawimy ładowanie biblioteki .net do autostartu ZwCAD'a to metoda Initialize wykona się zanim będzie stworzony pusty dokument dwg, a tym samym WywolajPrzyStarcie() może próbować operować na obiekcie dokumentu który nie istnieje. Trzeb tam dodać stosowne bezpieczniki. Tak przy okazji. Czy ktoś sprawdzał jakie reguły rządzą uruchamianiem metody initialize() klasy z interfejsem IExtensionApplication jeżeli takich klas jest więcej niż jedna w module. Jak dla mnie jest to losowe i jest uruchamiana tylko z jednej klasy. Pozostałe klasą są ignorowane. Ponadto zauważyłem, że jeżeli jakiś moduł jest automatycznie ładowany jako zależność modułu nadrzędnego to klasy IExtensionApplication są również ignorowane.