Ranking
Popularna zawartość
Zawartość, która uzyskała najwyższe oceny od 03/31/24 w Odpowiedzi
-
Sizedrive - dopasowanie geometrii do wymiaru
kruszynski i 5 innych przyznał(a) reputację dmatusz3 za temat
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 -
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
-
4 punkty
-
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.lsp3 punkty
-
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.lsp3 punkty
-
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
-
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.pdf3 punkty
-
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
-
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
-
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
-
Dzisiaj prezentujemy pierwszy z filmów o tym jak narysować wieżę Eiffla w ZWCAD.3 punkty
-
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
-
Podstawowe narzędzia szkicownika 2D
dmatusz3 oraz jeden pozostały przyznał(a) reputację tomasztalik za temat
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 - Rozstrzel2 punkty -
AutoCad Tworzenie napisu do wypalenia
kruszynski oraz jeden pozostały przyznał(a) reputację pawmal za temat
2 punkty -
Ustawienie stylu wymiarowania
alf oraz jeden pozostały przyznał(a) reputację RobS za temat
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.lsp2 punkty -
ZWCAD 2025 Lagi [Rozwiązany]
alf oraz jeden pozostały przyznał(a) reputację pasiasia za temat
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 -
Rysunek 2D - Szkic ZW3D - Wiązanie - lista operacji
RobS oraz jeden pozostały przyznał(a) reputację tomasztalik za temat
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 środka2 punkty -
Zapisane Stany Warstw
kruszynski oraz jeden pozostały przyznał(a) reputację RobS za temat
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ść 82 punkty -
Tworzenie stylów linii w pliku txt - ZWCAD - [rozwiązany]
alf oraz jeden pozostały przyznał(a) reputację pawmal za temat
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 -
Definicja typu linii a symetryczne wyświetlanie jej zakończeń
RobS oraz jeden pozostały przyznał(a) reputację Marek-M za temat
2 punkty -
Podkłady rastrowy w wysokiej rozdzielczości
Martin_S oraz jeden pozostały przyznał(a) reputację dmatusz3 za temat
2 punkty -
LISP - przepisanie wartości atrybutu do hyperlink'a w AC2010 lub ZWCAD2022
pawmal oraz jeden pozostały przyznał(a) reputację RobS za temat
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.lsp2 punkty -
Aktualizacja ZWTraffic 2025 SP1
kruszynski oraz jeden pozostały przyznał(a) reputację Crea00 za temat
Szybkie testy i potwierdzam, że u mnie wszystko działa jak należy2 punkty -
Co dzisiaj robiłem w lispie?
RobS oraz jeden pozostały przyznał(a) reputację mili za temat
2 punkty -
Co zrobić, gdy importujemy arkusz blachy w postaci pliku STEP?
RobS oraz jeden pozostały przyznał(a) reputację tomasztalik za temat
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ęcie2 punkty -
Kopiowanie wraz z obracaniem
dmatusz3 oraz jeden pozostały przyznał(a) reputację perlon za temat
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 -
Lisp do ucinania
Macbux oraz jeden pozostały przyznał(a) reputację kruszynski za temat
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 -
Linki oraz listy zmian. ZWCAD 2017÷ZWCAD 2025
pawmal oraz jeden pozostały przyznał(a) reputację dmatusz3 za temat
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 32bit2 punkty -
Zmiana bazowej ściany przy rozłożeniu odgięcia arkusza blachy
RobS oraz jeden pozostały przyznał(a) reputację tomasztalik za temat
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 -
Jak sprawdzić podstawowe dane o odgięciach
dmatusz3 oraz jeden pozostały przyznał(a) reputację tomasztalik za temat
2 punkty -
Jak szybko rozłożyć i utworzyć widok arkusza blachy zawierające zgięcia
ibaron oraz jeden pozostały przyznał(a) reputację tomasztalik za temat
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 -
Problem z bryłą która pochodzi ze sketchup-a
dmatusz3 oraz jeden pozostały przyznał(a) reputację Martin_S za temat
2 punkty -
Prostokąt obejmujący MTEXT i transformacje układów współrzędnych
kruszynski oraz jeden pozostały przyznał(a) reputację kojacek za temat
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 -
Projekt organizacji ruchu drogowego - część 2 - wrysowanie drogi, odsuwanie, czerwone uchwyty
kontom oraz jeden pozostały przyznał(a) reputację MateuszJ za temat
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 -
Projekt organizacji ruchu drogowego - część 1 - arkusze, rzutnie, orientacja, skala, wydruk
Michu oraz jeden pozostały przyznał(a) reputację MateuszJ za temat
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 -
Skróty klawiszowe ZW3D
ibaron oraz jeden pozostały przyznał(a) reputację tomasztalik za temat
2 punkty -
Program do podmiany wartości atrybutów w tym w liście bloków
kruszynski oraz jeden pozostały przyznał(a) reputację kojacek za temat
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 -
Jak narysować wieżę Eiffla?
katarzyna.bober oraz jeden pozostały przyznał(a) reputację dmatusz3 za temat
Dzisiaj rozpoczniemy rysowanie kratownicy na pierwszym poziomie wieży Eiffla.2 punkty -
Jak szybko przywrócić widok?
Chris oraz jeden pozostały przyznał(a) reputację dmatusz3 za temat
2 punkty -
Błąd 'Failed to load resource'
Marek-M oraz jeden pozostały przyznał(a) reputację kruszynski za temat
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.exe2 punkty -
[LISP] Dostęp do elementów w szyku
swazy oraz jeden pozostały przyznał(a) reputację kojacek za temat
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 -
Linia z napisem (własny styl linii) [Rozwiązany]
alf oraz jeden pozostały przyznał(a) reputację Adam Klaczek za temat
2 punkty -
Nie wyświetlają się nowe obiekty [Rozwiązany]
alf oraz jeden pozostały przyznał(a) reputację dmatusz3 za temat
2 punkty -
Nie wyświetlają się nowe obiekty [Rozwiązany]
Stefan Wiatr oraz jeden pozostały przyznał(a) reputację pawmal za temat
2 punkty -
Problem z liniami
Marek-M oraz jeden pozostały przyznał(a) reputację Chris za temat
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 -
Tcp-MDT
Beata Ajewska-Burzak oraz jeden pozostały przyznał(a) reputację Mery za temat
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.pdf2 punkty -
Tytuł Layoutu jako pole w atrybucie? [Rozwiązany]
alf oraz jeden pozostały przyznał(a) reputację dmatusz3 za temat
2 punkty -
[LISP] Dostęp do elementów w szyku
swazy oraz jeden pozostały przyznał(a) reputację kojacek za temat
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