Ranking

Popularna zawartość

Zawartość, która uzyskała najwyższe oceny od 03/31/24 w Odpowiedzi

  1. W ZWCAD 2025 zostało dodane nowe polecenie sizedrive Pozwala ona na dopasowanie geometrii do wymiaru. Działa w 3 krokach: Wskazujemy wymiar, który chcemy zmienić. Wpisujemy nową wartość wymiaru. Zaznaczamy oknem, które elementy mają być przesunięte lub rozciągnięte. Działanie pokazaliśmy na filmie poniżej.
    6 punktów
  2. Hej, Napisałem skrypt PunktyNaKoncach.lsp według pomysłu @dmatusz3 Plik należy wczytać poleceniem AP. Instrukcja użycia wyświetla się w pasku poleceń. Wystarczy tylko wpisać polecenie PunktyNaKoncach, zaznaczyć obiekty i kliknąć Enter. Pomarańczowe punkty zostaną wstawione na warstwie Punkty na końcach, jeśli takiej warstwy nie ma to skrypt automatycznie ją utworzy. Wszystko działa jak na nagraniu 😏
    4 punkty
  3. Martin_S

    Jak narysować wieżę Eiffla?

    dokładam od siebie koła olimpijskie do twojej wieży Mateusz flaga wygląda tak koła: przygotowany blok dwg 3d do wykorzystania dwg: IO-2024.dwg
    4 punkty
  4. Zmieniłem nazwę skryptu na WyrówajBlokiDoPoli. Uważam, że to lepiej opisuje jego funkcjonalność. W poprawionej wersji bloki które wykraczają poza zakres polilinii są pomijane. Ponadto po wykonaniu polecenia w pasku poleceń wyświetla się krótkie podsumowanie ile bloków zostało wyrównanych i czy zostały pominięte. Co do punktu styku to bazuje na punkcie bazowym bloku i taka będzie natura jego wyrównania do polilinii. WyrownajBlokiDoPoli.lsp
    3 punkty
  5. Hej, Napisałem skrypt który działa zgodnie z pomysłem @dmatusz3 LISPa wczytaj poleceniem AP. Żeby użyć funkcję wpisz polecenie DOPASUJBLOKIDOPOLI. Najpierw wybierz polilinię, później oknem bloki które chcesz dopasować do polilinii i kliknij Enter. Obiekty inne niż bloki i polilinia zostaną odfiltrowane. DopasujBlokiDoPoli.lsp
    3 punkty
  6. Potwierdzam, problem, który u mnie występował został rozwiązany, a przynajmniej u mnie już nie występuje. Obecnie korzystam z programu w wersji ZWCAD PRO 2024 ENG i nie mam żadnych problemów z powiększaniem okna na różnych monitorach (korzystam z dwóch monitorów: laptop i monitor zewnętrzny). @olgierd odnosi się Pan do zupełnie innego programu (GStar), na tym forum w większości poruszane są tematy dotyczące ZWCADa. Przesiadłem się na ZWCADA z AC koło 2012roku i początki były dość 'trudne' (jeśli tak to mogę ująć). Obecnie nie żałuję decyzji, program przez ostatnie lata mocno rozwinął się i nadal się rozwija. Obecny ZWCAD to już inny program CAD niż to co było 10-12 lat temu. Dodatkowo dużym plusem jest to forum oraz dział techniczny/pomoc techniczna ZWCADA na Polskę. Wiele problemów, które zostały zgłoszone zostało dość szybko rozwiązane.
    3 punkty
  7. Mogę pokazać krok po kroku jakieś trudniejsze działania z ARCHITECTURE, lubię wyzwania, ktoś jest zainteresowany jak "coś" wykonać lub jak to "obejść" by mieć finalnie dany cel? możliwości wersji 2024 są mocne nawet beta 2025 że można w środowisko dwg wykonywać nawet obiekty zabytkowe. interaktywny przykład w PDF 3D ("edytor revitopodobny" w acrobacie readerze) PDF 3D SKLADOWICE_3D.pdf
    3 punkty
  8. Na razie mamy coś takiego. Zostało jeszcze zapamiętanie i przeliczenie początkowych przesunięć widoków w rzutni.
    3 punkty
  9. dmatusz3

    Wektoryzacja rastrów

    Pełna wersja ZWVectorization (ta, którą obecnie dodajemy do ZWCAD Pro) umożliwia obsługę obrazów rastrowych o rozdzielczości do 20 000 pikseli x 20 000 pikseli. Powyższa animacja z lokomotywą powstała przy użyciu rastra o 15 tys. x 6 tys. pikseli.
    3 punkty
  10. Być może przyczyną jest funkcja entmod. Wprawdzie może ona modyfikować obiekty niegraficzne (tutaj LAYER), ale gdzieś czytałem że są wyjątki dla kodu 70 - nie pamiętam jednak czego dotyczyły. W autocadowskich "antycznychch" czasach (przed ActiveX (czyli przed 1999 )), pewnie bym użył command zamiast entmod… ale pewnie dlatego że byłoby łatwiej. Na marginesie - Twoje warunkowanie kodu 70 jest błędne - działa tylko w wyjątkowych sytuacjach. Kod 70 jest wartością bitową, więc na przykład 1 jest prawdziwe nie tylko dla 1, ale też 3 (2+1)... 5 (4+1)... 7 (2+4+1)... 9... etc. Teraz przykład z użyciem ActiveX (i CADPack'a). Krótko (i co ważniejsze) działa: (defun C:ODMROZWAR () (vlax-for % (cd:ACX_Layers) (if (and (= :vlax-true (vla-get-freeze %)) (wcmatch (vla-get-name %) "LS*") ; <- moj testowy filtr ) (vla-put-freeze % :vlax-false) ) ) (vla-regen (cd:ACX_ADoc) 0) (princ) )
    3 punkty
  11. RobS

    Zamykanie obiektów w bloku

    Dodałem kilka linijek do twojego programu które tworzą blok. Można podejść do sprawy na kilka sposobów, ja wybrałem dość podstawowy. Współrzędne lewego dolnego rogu zapisałem w zmiennej PU0. Po stworzeniu konstrukcji w zmiennej BlkName zostaje zapisana nazwa nowo utworzonego bloku według twojego opisu. Tutaj warto dodać jakieś wyróżnienie, w przypadku duplikatu program jest przerwany komunikatem. Później blok zostaje stworzony ze zbioru wybranego funkcją ssget. "_W" zaznacza obiekty w oknie opisanym podobniej jak prostokąt, lewy dolny róg PU0 i prawy górny róg PU2. Po utworzeniu blok jest wstawiony poleceniem _insert, ponieważ znika on z rysunku. Kod programu poniżej (DEFUN C:KONS (/ W H K O L R PU H_NEW X0 Y0 X_START Y_START PU0 PU2 BlkName) (SETQ W (GETREAL "\nPodaj szerokosc modulu: ")) (SETQ H (GETREAL "\nPodaj wysokosc modulu: ")) (SETQ K (GETREAL "\nPodaj kat nachylenia konstrukcji (w stopniach): ")) (SETQ O (GETREAL "\nPodaj odstep miedzy modulami: ")) (SETQ L (fix (GETREAL "\nPodaj ilosc modulow w poziomie: "))) ; Konwersja na typ całkowity (SETQ R (fix (GETREAL "\nPodaj ilosc modulow w pionie: "))) ; Konwersja na typ całkowity (SETQ PU (GETPOINT "\nPodaj naroznik konstrukcji PV: ")) ;; Obliczenie nowej wysokości (SETQ H_NEW (* H (COS (* K (/ PI 180.0))))) ; Konwersja kąta na radiany ;; WYZNACZENIE PRZECIWLEGŁEGO NAROŻNIKA MODUŁU (SETQ X0 (CAR PU)) (SETQ Y0 (CADR PU)) (SETQ X_START X0) ; Zapisanie początkowego X (SETQ Y_START Y0) ; Zapisanie początkowego Y (SETQ PU0 (list X_START Y_START )) ;Zapisanie współrzędnych lewego dolnego rogu konstrukcji w zmiannej PU0 ;; RYSOWANIE MODUŁÓW (repeat L (progn (repeat R (progn (SETQ PU2 (list (+ X0 W) (+ Y0 H_NEW))) ;; RYSOWANIE PROSTOKĄTA (COMMAND "_RECTANG" PU PU2) ;; Przesunięcie w dół o wysokość i odstępu modułu (SETQ Y0 (+ Y0 H_NEW O)) ; Y0 zwiększamy o nową wysokość i odstęp (SETQ PU (list X0 Y0)) ; Nowy punkt startowy ) ) ;; Przesunięcie w prawo o szerokość modułu i zadany odstęp (SETQ X0 (+ X0 W O)) ; X0 zwiększamy o szerokość i odstęp (SETQ Y0 Y_START) ; Resetowanie Y0 do początkowej wartości (SETQ PU (list X0 Y0)) ; Nowy punkt startowy ) ) (setq BlkName (strcat "Konstrukcja " (itoa L) " x " (itoa R))) ;Stworzenie nazwy nowego bloku i zapisanie jej w zmiennej BlkName (command "_Block" BlkName PU0 (ssget "_W" PU0 PU2) "") ;Stworzenie Bloku nazwanego BlkName z punktem bazowym w lewym dolnym rogu konstrukcji (command "_Insert" BlkName PU0 "" "" "") ;Wstawienie bloku który znika po utworzeniu )
    3 punkty
  12. dmatusz3

    Jak narysować wieżę Eiffla?

    Dzisiaj prezentujemy pierwszy z filmów o tym jak narysować wieżę Eiffla w ZWCAD.
    3 punkty
  13. Potrzebujesz wykonać następujące czynności: 1) załadować CADPL-Pack'a. Znajdziesz go tutaj: https://kojacek.wordpress.com/2015/11/04/cadpl-pack/ 2) oraz poniższy kod definiujący polecenie ATR-ZMIANA: ; -------------------------------------------------------------------------- ; ; C:ATR-ZMIANA by kojacek 2024 (http://kojacek.wordpress.com) ; ; -------------------------------------------------------------------------- ; (defun C:ATR-ZMIANA ()(jk:140824_GetBklMask)(princ)) ; -------------------------------------------------------------------------- ; (defun jk:140824_GetBklMask ( / %m %s %l %a %b %r %e %i %o :t) (defun :t (i) (getstring (strcat "\nPodaj " (nth i (list "pierwszy" "drugi")) " tag atrybutu do zamiany: " ) ) ) (if (setq %m (getstring "\nPodaj początkowy fragment nazwy bloku: ") ) (if (member %m (list "" " ")) (princ "\nBłąd - zła nazwa.") (if (setq %s (ssget "_x" (list (cons 0 "INSERT") (cons 410 (getvar "CTAB")) (cons 2 (strcase (strcat %m "*"))) ) ) ) (progn (setq %l (cd:SSX_Convert %s 0)) (if (and (setq %a (strcase (:t 0))) (setq %b (strcase (:t 1))) ) (progn (setq %r (mapcar '(lambda (% / %1 %2 %3) (if (setq %1 (cd:BLK_GetAtts %)) (if (and (setq %2 (cdr (assoc %a %1))) (setq %3 (cdr (assoc %b %1))) ) (list % %2 %3) 1 ) 1 ) ) %l ) %e (vl-remove-if-not 'numberp %r) %r (mapcar 'car (vl-remove-if 'numberp %r)) ) (if %r (progn (cd:SYS_UndoBegin) (foreach % %r (setq %i (cd:BLK_GetAtts %) %o (vlax-ename->vla-object %) ) (cd:BLK_SetAttValueVLA %o %a (cdr (assoc %b %i)) ) (cd:BLK_SetAttValueVLA %o %b (cdr (assoc %a %i)) ) ) (princ (strcat "\nZmieniono atrybuty w " (itoa (length %r)) " blokach." (if %e (strcat " Odrzucono " (itoa (length %e)) " bloków." ) "" ) ) ) (cd:SYS_UndoEnd) ) (princ (strcat "\n" (itoa (length %l)) " bloków nie spełnia wymagań do zmiany atrybutów." ) ) ) ) (princ "\nBłąd. Wymagane nazwy atrybutów.") ) ) (princ "\nNie znaleziono odpowienich bloków.") ) ) (princ "\nBłąd. Brak nazwy") ) ) ; -------------------------------------------------------------------------- ; (princ) 3) wywołujesz polecenie ATR-ZMIANA, jak na poniższym ruchomym obrazie:
    3 punkty
  14. Po zapoznaniu się z polską wersją, od dziś przechodzę po 11 latach na ARCHITECTURE Plk 64bit świetnie dopracowana i biblioteki łatwo się przenosi
    3 punkty
  15. Podobnie jak w przypadku innych programów CAD, ZW3D oferuje podstawowe narzędzia przekształcania geometrii szkicu. Poniżej pełna lista skrótów do funkcji na wstążce Podstawowa edycja: ZW3D - Szyk ZW3D - Przenieś ZW3D - Kopiuj ZW3D - Obróć ZW3D - Lustro ZW3D - Skala ZW3D - Rozciągnij ZW3D - Przenieś elastycznie ZW3D - Rozstrzel
    2 punkty
  16. Nie ma nic skomplikowanego. Potrzeba napisać tekst i go rozbić funkcję TXTEXP po jego zaznaczeniu.
    2 punkty
  17. RobS

    Ustawienie stylu wymiarowania

    W takim razie szybki skrypt Lisp który ułatwi Ci pracę. Wczytaj go poleceniem AP i jeśli chcesz, żeby styl modyfikował się już po otwarciu rysunku to Dodaj do listy startowej. W poniższym kodzie musisz zmienić nazwę stylu NazwaStyluWym1 na swoją, stylów możesz określić więcej niż jeden. Dokładność wyświetlania wymiaru kątowego jest określona przez cyfrę "3" po "DIMADEC". W tym przykładzie będą 3 miejsca po przecinku, domyślnie jest 0. (setq dimlst '("NazwaStyluWym1" "NazwaStyluWym2")) ; Zmień nazwę Stylu wymiarowania na swoją (vlax-for dim (vla-get-Dimstyles (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))) (if (vl-position (vla-get-Name dim) dimlst) (progn (vla-put-activeDimstyle doc dim) (setvar "DIMADEC" 3) ; Określ dokładność wymiaru kątowego (vla-copyfrom dim doc)))) Plik Lisp do modyfikacji załączony jest do posta. ModKątWymStyl.lsp
    2 punkty
  18. pasiasia

    ZWCAD 2025 Lagi [Rozwiązany]

    Problem rozwiązany. Nie mam pojęcia w jaki sposób ale rozwiązany. Reinstalowałem program od wersji 1.2, aktualizowałem do 1.4 nie pomagało. W innym wątku przeczytałem o podobnym problemie gdzie winna miała być przeglądarka brave, idąc tą ścieżka odinstalowałem Edge. Dziś od rana wszystko śmiga aż miło.
    2 punkty
  19. Tworzenie wiązań w szkicu 2D jest jednym z podstawowych elementów pracy konstruktora. Dzięki nim parametryzujemy rysunki, tworzymy zależności geometryczne. Poniżej lista funkcji we wstążce Wiązanie szkicownika ZW3D: ZW3D - Dodaj wiązanie ZW3D - Auto więzy ZW3D - Utwierdź ZW3D - Punkty pionowo ZW3D - Punkty poziomo ZW3D - Punkt środkowy pomiędzy ZW3D - Punkt do linii - krzywej ZW3D - Punkt do przecięcia ZW3D - Punkt wspólny ZW3D - Poziomo ZW3D - Pionowo ZW3D - Symetria ZW3D - Częściowa symetria ZW3D - Prostopadle ZW3D - Równolegle ZW3D - Współliniowość ZW3D - Styczność ZW3D - Równa długość ZW3D - Równy promień ZW3D - Równa krzywizna ZW3D - Punkt do środka
    2 punkty
  20. RobS

    Zapisane Stany Warstw

    Dzień dobry, Ad 1. Zmiana kolorów True Color na kolory indeksowane nie występuje w wersji 2024. W ramach licencji 2025 zabezpieczonej kodem programowym ma Pan prawo do korzystania z wersji 2024 (link do wersji 2024 SP 1.5). Działanie wersji 2025 został zgłoszony do producenta. Ad 2. Warstwy w edycji stanu warstw sortują się domyślnie tak samo jak w Menadżerze Warstw. Najpierw wyświetlają się warstwy załączników zgodnie z kolejnością alfabetyczną, warstwy w XRef'ach również sortują się alfabetycznie, jako ostatnie wyświetlają się warstwy rysunku na którym obecnie pracujemy. Ad 3. Stan warstw zapisuje wszystkie warstwy w rysunku, włącznie z rozładowanymi XRefami. Po przejrzeniu ustawień nie znalazłem sposobu, żeby to zmienić. Ad 4. Pliki LAS to warstwy opisane kodami DXF. Należało by tutaj przekonwertować wartości kodów lub odpowiednio zdefiniować tworzenie tabeli na podstawie kodu. Kod DXF zastosowany w pliku LAS. 1 - Nazwa stanu warstw 8 - Nazwa warstwy 62 - Kolor 6 - Rodzaj linii 370 - Grubość linii ("-3" - domyślna, "18" - 0.18mm, "200" - 2.00mm itd.) 2 - Styl wydruku 90 - Stan warstwy (zapisany w systemie dwójkowym), warstwa włączona, niezamrożona, niezablokowana ma wartość 8
    2 punkty
  21. W mojej ocenie, taki zapis powoduje użycie tekstu wykorzystując styl tekstu mcstyle. Czy taki styl tekstu został zdefiniowany? Po utworzeniu podanego stylu tekstu, definicje linii bez problemu się wczytują. Zagadnienie jest trywialne. Warto zapoznać się najpierw z definicją linii, bo czym innym jest odczytywanie symboli po nazwie z pliku shx, a czym innym używanie tekstu z danego stylu tekstu. Na marginesie, prościej jest użyć stylu Standard, który jest bardziej uniwersalny, bo taki jest domyślny.
    2 punkty
  22. Myślę, że może Ci chodzić o parametr Linetype generation we własnościach polilinii. Gdy jest Disabled, to wzór linii jest środkowany pomiędzy węzłami. Poniżej lewa linia ma parametr Disabled a prawa Enabled:
    2 punkty
  23. Zachęcam do zapoznania się z ciekawym art. na temat uzyskiwania podkładów rastrowych w wysokiej rozdzielczości. https://www.zwcad.pl/wyszukiwanie-w-bazie-wiedzy/jak-to-zrobic/1176-tworzenie-wlasnych-map-i-podkladow-w-duzej-rozdzielczosci.html
    2 punkty
  24. Hej, Napisałem skrypt który przepisuje wartość atrybutu o wskazanej nazwie do hiperłącza w wybranych blokach. Zwróć uwagę na wielkość liter w nazwach, ponieważ ma ona znaczenie. Skrypt uruchamia polecenie PrzepiszDoHiperlinku. (vl-load-com) (princ (strcat " Copyright © 2000 — 2025 Usługi Informatyczne Szansa www.zwcad.pl Dostępne polecenia: PRZEPISZDOHIPERLINKU - skrypt automatycznie przepisuje wartość wskazanego atrybutu do hiperłącza w wybranych blokach ") ) (defun LM:vl-getattributevalue ( blk tag ) (setq tag (strcase tag)) (vl-some '(lambda ( att ) (if (= tag (strcase (vla-get-tagstring att))) (vla-get-textstring att))) (vlax-invoke blk 'getattributes)) ) (defun C:PRZEPISZDOHIPERLINKU (/ blockName przepiszVal ss i ent val) (setq blockName (getstring t "\nWpisz nazwę bloku: ")) (setq attName (getstring t "\nWpisz nazwę atrybutu: ")) (setq ss (ssget "_X" (list (cons 2 blockName)))) (setq i 0) (repeat (sslength ss) (setq ent (ssname ss i)) (setq obj (vlax-ename->vla-object ent)) (setq val (LM:vl-getattributevalue obj attName)) (vla-add (vla-get-hyperlinks obj) val (vl-filename-base val)) (setq i (+ i 1)) ) (princ) ) PrzepiszDoHiperlinku.lsp
    2 punkty
  25. Szybkie testy i potwierdzam, że u mnie wszystko działa jak należy
    2 punkty
  26. mili

    Co dzisiaj robiłem w lispie?

    udało się! kółko z polilinii polikolko.lsp
    2 punkty
  27. Podczas pracy z plikami, które importujemy do ZW3D, często nie mamy dostępu do drzewa historii i parametryzacji. Chcąc parametryzować arkusze blachy i zgięcia w nich zawarte, potrzebujemy narzędzia do ich oznaczania. Naprzeciw wychodzi funkcja Zaznacz gięcie. Na poniższym filmie pokazano w jaki sposób z prostopadłościanu przejść do rozłożonego blaszanego pudełka: Więcej o informacji funkcji znajduje się pod linkiem: ZW3D - Zaznacz gięcie
    2 punkty
  28. perlon

    Kopiowanie wraz z obracaniem

    Komenda MOCORO z dawnego Expressa ale to było w jakimś vlx-ie. Zamiennik znaleziony na autodeskowym forum. Nie wiem czy przejdzie link. Żeby skrócić działanie można to to sobie owrapować commandem jeżeli zależy ci na jakiejś konkretnej kolejności operacji.
    2 punkty
  29. kruszynski

    Lisp do ucinania

    Otrzymaliśmy odpowiedź od producenta ZWCADa. Jest to znany problem. ID zgłoszenia pod którym można w przyszłości monitorować ten temat to SUP-75558. Niestety nie mamy deklaracji o przewidywanym czasie rozwiązania tego tematu.
    2 punkty
  30. Z przyjemnością publikujemy aktualizację do ZWCAD 2024. Wersja oznaczona jest jaki SP 1.5 (VERNUM=24.10_2024.11.07(#9455-eaa63f9f5f2) Ta aktualizacja powinna być także dostępna online w ciągu kilku dni. Skrócona lista zmian: naprawiono problem ze sporadycznie występującym przesuwaniem rzutni w przestrzeni papieru, który pojawił się w SP 1.4 (problem opisywany na forum https://forum.cad.info.pl/topic/5215-zwcad-2024-sp14-przesuwanie-kopiowanie-rzutni-w-przestrzeni-papieru/ naprawiono problem z wydajnością podczas pracy z rysunkami zawierającymi obiekty OLE w specyficznych warunkach, naprawiono problemy ze stabilnością, w tym awarie, nieoczekiwane zamknięcia oraz brak odpowiedzi w różnych scenariuszach, naprawiono problem z wyświetlaniem miniatur podglądu plików DWG w Eksploratorze plików Windowsn naprawiono problem, w którym pasek narzędzi zmieniał swoje położenie po wyjściu z edytora bloków, naprawiono problem z utratą relacji formuł pól w blokach atrybutów, w specyficznych warunkach, naprawiono problemy w funkcji Smart Plot w specyficznych warunkach, naprawiono błędne wyniki przycinania, gdzie linie ciągłe przecinały linie przerywane w przerwach linii, naprawiono problem z nieotwieraniem rysunków 3D zapisanych jako DXF w pewnych przypadkach, naprawiono problem z brakującymi znacznikami punktów początkowych dla polilinii. Linki do pobrania ZWCAD 2024 SP 1.5: ZWCAD 2024 PL 64bit ZWCAD 2024 PL 32bit ZWCAD 2024 EN 64bit ZWCAD 2024 EN 32bit
    2 punkty
  31. Przy projektowaniu detali, może się zdarzyć, że źle zaznaczymy nieruchomą ścianę. Przy rozwinięciu arkusza blachy, detal może nie spełniać naszych lub klienta wymagań. Potrzebna wtedy jest modyfikacja. Z pomocą przychodzi samodzielna komenda Wskaż nieruchomą ścianę. Więcej o funkcji pod adresem: ZW3D - Wskaż nieruchomą ścianę
    2 punkty
  32. Badanie odgięć możemy zrealizować dzięki funkcji Informacje o zgięciu. Więcej o tej komendzie można przeczytać na stronie poniżej: ZW3D - Informacje o zgięciu
    2 punkty
  33. Często potrzebujemy skopiować detal wykonany z arkusza blachy, aby móc go później rozłożyć i zwymiarować pod kątem dokumentacji 2D. Może nam do tego posłużyć komenda Widok rozkroju, dostępna we wstążce Arkusz blachy - Zgięcia. Więcej informacji o tej funkcji znajduje się pod linkiem: ZW3D - Widok rozkroju UWAGA: Od wersji 2024, na drzewku historii w zakładce Arkusz blach, Widok rozkroju jest automatycznie generowany. Należy upewnić się czy opcja jest aktywowana: Wstążka > Właściwości > Arkusz blachy :
    2 punkty
  34. konwersję z skp na dwg robię pconplannerem.... przykład: mercy.skp po konwersji : mercy.dwg
    2 punkty
  35. Potrzebujesz: 1) (załadowanego) CADPL-Pack'a (wiadomo) 2) funkcji z Express Tools: acet-geom-mtxtbox (oprócz AutoCAD-a jest w BricsCAD-zie i GStar'ze. Nie wiem jak jest w ZwCAD-ie) 3) Poniższego kawałka kodu: ;;; ramka MTEXTu (2024 by kojacek) (defun C:MTEST (/ %e %d %p %o %z) (if (and (setq %e (car (entsel "\Wybierz MTEXT:"))) (= "MTEXT" (cdr (assoc 0 (setq %d (entget %e))))) ) (progn (setq %p (acet-geom-mtxtbox %d 0.0) %z (cdr (assoc 210 %d)) %p (mapcar '(lambda (%) (trans % 1 %z) ) %p ) ) (setq %o (cd:ACX_AddLWPolyline (cd:ACX_ASpace) %p t)) (vla-TransformBy %o (cd:CON_TransMatrix 0)) ) (princ "\nZły wybór.") ) ) Z tego co na szybko przetestowałem, maluje prostokąt dla wskazanego MTEXT-u, niezależnie od aktywnego układu współrzednych. Funkcja acet-geom-mtxtbox, zwraca współrzędne prostokata opisującego rzeczywisty obszar MTEXT-u (porównaj z ramką MTEXT-u). Swego czasu poruszałem to tu: https://kojacek.wordpress.com/2017/10/08/wielkosc-obszaru-mtext-u/. Drugi argument funkcji (tutaj 0.0), to odsunięcie prostokąta. Pozwala to na rysowanie większego obramowania.
    2 punkty
  36. W tym ćwiczeniu wrysujemy drogę do mapy zasadniczej stworzymy potrzebne warstwy zaprojektujemy jezdnię i chodnik zmienimy położenie drogi za pomocą czerwonych uchwytów Pobierz teraz rysunek DWG potrzebny do wykonania tego ćwiczenia. Zachęcamy do obejrzenia filmu, w którym wykonamy ćwiczenia krop po kroku.
    2 punkty
  37. W tym ćwiczeniu przygotujemy rysunek do wydruku dodamy rozmiar kartki papieru, zmienimy skalę wydruku, dodamy rzutnię z odpowiednią skalą, wyrównamy rysunek tak aby droga była równoległa do krawędzi kartki, dodamy strzałkę północy. Pobierz teraz rysunek DWG potrzebny do wykonania tego ćwiczenia. Najważniejsze polecenie, którego będziemy używać w tym ćwiczeniu to ALIGNSPACE. Tym poleceniem możemy obrócić rysunek względem samego arkusza. Zachęcamy do obejrzenia filmu, w którym wykonamy ćwiczenia krop po kroku ćwiczenia krok po kroku.
    2 punkty
  38. tomasztalik

    Skróty klawiszowe ZW3D

    W ZW3D natywnie jest ustawionych wiele skrótów klawiszowych. Aby je podejrzeć, zmienić lub ustawić własne należy przejść do: Wstążka > Narzędzia > Dostosuj
    2 punkty
  39. Można się pokusić o (w istocie drobną) przeróbkę tego kodu, aby pracował w trybie "wsadowym". Kod wygląda teraz tak: ; -------------------------------------------------------------------------- ; ; C:ATR-ZMIANA by kojacek 2024 (http://kojacek.wordpress.com) ; ; -------------------------------------------------------------------------- ; (defun C:ATR-ZMIANA ()(jk:140824_GetBklMask)(princ)) ; -------------------------------------------------------------------------- ; (defun jk:140824_GetBklMask ( / %m %s %l %a %b %r %e %i %o :t) (defun :t (i) (getstring (strcat "\nPodaj " (nth i (list "pierwszy" "drugi")) " tag atrybutu do zamiany: " ) ) ) (if (setq %m (if (not *ATT-LIST*) (getstring "\nPodaj początkowy fragment nazwy bloku: ") (car *ATT-LIST*) ) ) (if (member %m (list "" " ")) (princ "\nBłąd - zła nazwa.") (if (setq %s (ssget "_x" (list (cons 0 "INSERT") (cons 410 (getvar "CTAB")) (cons 2 (strcase (strcat %m "*"))) ) ) ) (progn (setq %l (cd:SSX_Convert %s 0)) (if (and (setq %a (if (not *ATT-LIST*) (strcase (:t 0)) (cadr *ATT-LIST*) ) ) (setq %b (if (not *ATT-LIST*) (strcase (:t 1)) (caddr *ATT-LIST*) ) ) ) (progn (setq %r (mapcar '(lambda (% / %1 %2 %3) (if (setq %1 (cd:BLK_GetAtts %)) (if (and (setq %2 (cdr (assoc %a %1))) (setq %3 (cdr (assoc %b %1))) ) (list % %2 %3) 1 ) 1 ) ) %l ) %e (vl-remove-if-not 'numberp %r) %r (mapcar 'car (vl-remove-if 'numberp %r)) ) (if %r (progn (cd:SYS_UndoBegin) (foreach % %r (setq %i (cd:BLK_GetAtts %) %o (vlax-ename->vla-object %) ) (cd:BLK_SetAttValueVLA %o %a (cdr (assoc %b %i)) ) (cd:BLK_SetAttValueVLA %o %b (cdr (assoc %a %i)) ) ) (princ (strcat "\nZmieniono atrybuty w " (itoa (length %r)) " blokach." (if %e (strcat " Odrzucono " (itoa (length %e)) " bloków." ) "" ) ) ) (cd:SYS_UndoEnd) ) (princ (strcat "\n" (itoa (length %l)) " bloków nie spełnia wymagań do zmiany atrybutów." ) ) ) ) (princ "\nBłąd. Wymagane nazwy atrybutów.") ) ) (princ "\nNie znaleziono odpowienich bloków.") ) ) (princ "\nBłąd. Brak nazwy") ) ) ; -------------------------------------------------------------------------- ; (princ) Przed wywołaniem polecenia wystarczy teraz zadeklarować zmienną globalną o nazwie *ATT-LIST*. Jest to trzyelementowa lista gdzie pierwszy element to maska (początkowy fragment) nazwy bloku, a dwa kolejne to tagi atrybutów do zamiany. Deklaracja zmiennej: (setq *ATT-LIST* (list "NAME" "SYMBOL" "LPS")) Następnie wywołania polecenia ATR-ZMIANA skutkują jak na animacji poniżej. Gdy zmienna nie jest zadeklarowana polecenie działa jak w poprzednim poście. Nie trzeba tłumaczyć że wartości zmiennej można modyfikować w zależności od potrzeb.
    2 punkty
  40. Dzisiaj rozpoczniemy rysowanie kratownicy na pierwszym poziomie wieży Eiffla.
    2 punkty
  41. dmatusz3

    Jak szybko przywrócić widok?

    W nadchodzącej aktualizacji ZWCAD 2025 zmienić widok będzie można również w taki sposób jak na filmie poniżej.
    2 punkty
  42. Myślę że udało mi się ustalić przyczynę i wyeliminować problem. Proszę sprawdzić na tej wersji https://cad.szansa.net.pl/ZWTraffic_2024_SP1/ZWTraffic_x64_v2024.1.01__PL.exe
    2 punkty
  43. To jest stosunkowo proste. Zatem pokażę to na prostym przykładzie. Do tego potrzeba użyć tylko paru nawiasów. Na obrazie widać polilinię, której kopia posłużyła do stworzenia szyku (powyżej polilinii) ów szyk. Jak wcześniej zostało ustalone, mamy tutaj blok anonimowy (będący szykiem) który (w swojej definicji) składa się z instancji, innego bloku anonimowego reprezentującego grafikę obiektów powielanych w szyku. Ustalmy zatem jego nazwę. Wykorzystamy funkcje już wcześniej przezentowane. Wywołanie: (setq %b (mapcar '(lambda (%) (cdr (assoc 2 (entget %))) ) (getinsidearray (car (entsel))) ) ) Pokaże nam listę nazw bloków (składowych szyku) - jest to jeden (powielony) blok: Właściwie to już wszystko, bo mając nazwę bloku mamy nieograniczony dostęp do jego definicji, którą to możemy w dowolny sposób modyfikować (zmieniać/dodawać/usuwać obiekty). Przykładowo - modyfikacja może wygladać tak. Bierzemy elementy w tym bloku (tutaj dla uproszczenia tylko jeden - polilinia): (setq %e (vlax-ename->vla-object (car (cd:BLK_GetEntity (car %b) nil) ) ) ) i modyfikujemy polilinię - nadajemy jej stałą szerokość = 10.0, oraz kolor czerwony... (vla-put-ConstantWidth %e 5.0)(vla-put-Color %e 1) Nic nie widać? Regenerujemy rysunek i... voila: To wszystko.
    2 punkty
  44. Albo tym Polecenie MKLTYPE działa z obiektami typu LINIA i DTEKST
    2 punkty
  45. Witam, a proszę odświeżyć po narysowaniu nowych obiektów.
    2 punkty
  46. Chris

    Problem z liniami

    Jeśli w trakcie rysowania zmienia się sposób wyświetlania linii (np. z linii przerywanej na ciągłą) to tutaj powinno wystarczyć polecenie REGEN (ewentualnie REGENALL). Jeśli polecenie REGEN nie odświeżyło widoczności to możliwe, że zmieniony został współczynnik skali rodzaju linii - polecenie LTSCALE (RLSKALA). Po wywołaniu polecenia podaje się wartość większą od 0 (zera) (np. 0.25/0.5/1/5/10/20/50/100 itd). Standardowo ustawiona jest wartość 1 (jeden). Powyższe komendy szczegółowo opisane są w plikach POMOCY dla każdego programu CAD.
    2 punkty
  47. Mery

    Tcp-MDT

    Przedstawiamy kolejne narzędzie od producenta programu TcpMDT, firmy Aplitop - Tcp Point Cloud Editor. Program służy do zarządzania chmurą punktów: - Lidar, skanery, fotogrametria - Wyświetlanie zaimportowanej chmury punktów w różnych stylach wizualnych - Wybór danych poprzez kategorię, geometrię, atrybuty - Edytowanie, filtrowanie danych - Kategoryzacja zasobów, tworzenie własnych kategorii - Tworzenie przekrojów, profili - Wbudowane narzędzia do rysowania CAD, import i eksport DWG, DXF - Przeglądarka obrazów i tras skanera SLAM - Tworzenie ortofotomapy - Generowanie siatki terenu, powierzchni, poziomic, masy ziemne - Analiza powierzchni, stoków, wzniesienia - BIM, PDF 3D, wizualizacja, animacja 3D, platforma on-line Więcej informacji w załączonej prezentacji oraz na kanale YouTube: Tcp PointCloud Editor_kr.pdf
    2 punkty
  48. Wstawię jeszcze filmik jak działa filed w atrybucie.
    2 punkty
  49. Szyki jeśli mówimy o ich geometrycznej reprezentacji są (jak (powszechnie) wiadomo) blokami. Blokami anonimowymi. Ich struktura jest dwupoziomowa i wygląda tak: z obiektów które są powielane tworzone są bloki anonimowe. Następnie już w bloku szyku (również anonimowym) te bloki są układane w szyku prostokatnym, biegunowym lub po ścieżce, w odpowiedniej ilości. Progra(mistycznie) trzeba w pierwszej kolejności: wybrać blok, ma być on anonimowy, i reprezentować szyk (bo nie każdy blok anonimowy nim jest). Tu mozna skorzystać z mojej funkcji jk:BLK_getInsertType (którą znajdziesz TUTAJ). Następnie mając wybrany blok szyku trzeba zbadać jego wszystkie obiekty będą to (rzecz jasna) bloki anonimowe. Tu można skorzystać z funkcji CADPL_Pack-a, o nazwie cd:BLK_GetEntity. Tak na szybko ten proces wykonuje funkcja: ; getinsidearray - by kojacek (defun getinsidearray (Ename / %a) (if (and (setq %a (jk:BLK_getInsertType Ename)) (wcmatch %a "ACDBASSOC*ARRAY") ) (cd:BLK_GetEntity (cdr (assoc 2 (entget Ename))) nil ) (prompt "\nTo nie szyk.") ) ) To może wyglądać tak: Funkcję cd:BLK_GetEntity możesz użyć do zbadania każdego bloku anonimowego w szyku. Druga rzecz: Możliwe, acz (uważam) nie warte zachodu. Można tu wykorzystać taki sam mechanizm tworzenia osnap'ów jak dla funkcji grread. Jak wiadomo funkcja ta nie obsługuje trybów lokalizacji więc... jest w sieci kilka różnych rozwiązań (mniej lub bardziej skomplikowanych), które to symulują.
    2 punkty
Ten Ranking jest ustawiony na Warszawa/GMT+02:00