Ranking

Popularna zawartość

Zawartość, która uzyskała najwyższe oceny od 10/01/12 uwzględniając wszystkie działy

  1. Przygotowałem skrypt, który pomoże dzielić model na arkusze: Funkcja do uruchomienia: ww Działanie przedstawiłem na filmiku: Arkusze.zelx
    8 punktów
  2. pawmal

    Rebus piątkowy

    Dziesięć lat z ZWCAD ;) albo Dekada z ZWCAD
    7 punktów
  3. 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
  4. dmatusz3

    Wstawianie map WMS z serwerów gov.pl

    Pracujemy obecnie nad dodaniem do naszych nakładek (np. ZWGeo, ZWTraffic) możliwości wstawiania map z zasobów z portali gov.pl. Funkcjonalność jest w bardzo początkowej fazie, ale postanowiliśmy ją udostępnić. Możemy wybrać różne serwery z danymi i sprawdzić jakie udostępnia dane (warstwy). Następnie definiujemy obszar w który ma być wstawiona mapa. Wygląda to tak jak na animacji poniżej. Biblioteki do pobrania ZWMS.zip Pobrany plik zip należy rozpakować do katalogu i poleceniem netload (tylko wersja ZWCAD Pro) wczytać plik ZWMS.dll Wtedy pojawi się dodatkowy panel. W pliku zip znajduje się również plik Plik_testowy.dwg, który został użyty podczas kręcenia filmu.
    6 punktów
  5. Hej, Przygotowałem skrypt NumerujArkusze, robi to czego potrzebujesz Zacznij od wgrania pliku Lisp poleceniem AP. Na arkuszach wstaw blok Numer Arkusza który znajduje się w dołączonym rysunku. Numerowanie strony wykonaj wywołując skrypt poleceniem NumerujArkusze. Blok może mieć inna formę, możesz go edytować. Ważne żeby nazywał się "Numer Arkusza" i posiadał atrybuty AktualnyArkusz oraz WszystkieArkusze w których będzie się wyświetlała numeracja. NumerujArkusze.lsp Blok Numer Arkusza.dwg
    5 punktów
  6. Proszę na zniekształconym tekście spróbować wywołać polecenie jak na obrazku poniżej. U mnie działa to w taki sposób:
    5 punktów
  7. montek

    Import danych z Excela do SMath

    Widziałem , gdzieś na forum pytanie czy da się wstawić tabele z Excela do SMatha. Bezpośrednio przez schowek się nie da :( Jednak jakiś czas temu znalazłem na to sposób. Trzeba zainstalować dwie wtyczki Jedna do tworzenia tabeli druga do importu danych z Excela Następnie tworzymy zmienną ala Macierz funkcją importData.XLSX(4) np. DANE:=importData.XLSX ("ścieżka do pliku.xlsx"; "nazwa arkusza / zakładki w pliku" ; "D5"; "F16") "D5" - początek zakresu F16 - koniec zakresu pobieranych danych - jest kilka importów ja stosuję (4). Już mamy dostęp do danych zmiennej aby odczytać dane robimy tak RzG:= DANE[7;2= ! nie zamykamy nawiasu ] to dopiero pierwszy etap czyli pobranie danych - niestety trzeba pilnować ścieżki musi być pełna parametry wpisujemy w " " Wstawiamy tabelę i mamy tabele odznaczamy wyświetl ... - aby nie było widać opisu pod tabelą aby usunąć Table 4 - klikamy (dwuklik) lewym na tabeli i pojawi się okno odznaczamy show caption i gotowe aby dodać np. kolumnę z tytułami wierszy, trzeba stworzyć nowy zbiór danych pobieranych z excela np. Lewa określając zakres w jednej kolumnie np. ;"DANE" ; "C5" ; C16" lub macierz bezpośrednio w SMatch i przypisać tzn. wybieramy miejsce gdzie będą wyświetlane dane dla lewej kolumny w kolejnej zakładce możemy formatować wygląd Body to zakres tabeli za danymi, a Left stub to nasza kolumna z opisami Uff i to było na tyle - dane z Excela w tabeli w SMath - zabawy trochę jest, ale się da SMath to naprawdę fajne narzędzie - z mojego doświadczenia jak trzeba przenieść obliczenia do edytora to lepiej skorzystać z OpenOffice . Dane z Calc też można pobrać funkcja importData przyjemnej zabawy
    5 punktów
  8. 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
  9. 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
  10. Można także jednorazowo przed wpisaniem wartości wpisać #, co oznacza, że będziemy wprowadzać współrzędne bezwzględne.
    4 punkty
  11. Kolega @kojacek mnie zainspirował i mam 5 kliknięć bez pisania niczego na klawiaturze :
    4 punkty
  12. ode mnie (zwarch15+ & artisan)
    4 punkty
  13. Blok z atrybutem dostosowującym pozycję podczas obrotu można przygotować tak: - tworzymy opisowy styl tekstu, gdzie zaznaczymy "Dopasuj orientację tekstu..." - tworzymy atrybut z tym stylem tekstu Atrybut wraz z narysowanymi obiektami definiujemy jako blok - i mamy:
    4 punkty
  14. Adam Klaczek

    Rzutnia w rzutni

    Taka metoda na utworzenie rzutni w rzutni, aby obiekty się nie nakładały:
    4 punkty
  15. Adam Klaczek

    ZWCAD 2021 - scalanie warstw

    W ZWCAD 2021 można scalić warstwy, zaznaczając je w oknie menadżera. Jeżeli na warstwach znajdują się obiekty, można je przenieść na inną, wskazaną warstwę.
    4 punkty
  16. Ustawienie zmiennej LAYEROVERRIDEHIGHLIGHT na 1 podświetli nam warstwy i pozycje w nich, które w bieżącej rzutni zmieniliśmy (nadpisaliśmy)
    4 punkty
  17. perlon

    Wymiar z podziałem na "n" cześci

    A co mi tam. Napisałem rybę. Mi się też przyda (defun c:ww1 ( / ent) (while (= nil ent) (progn (prompt "\nWskaz wymiar do zmiany: ") (setq ent (car (entsel))) ) ) (if (= (cdr (assoc 0 (entget ent))) "DIMENSION") (multipledimsection (entget ent)) ) ) (defun c:ww2 ( / ) (command "_dimlinear" pause pause pause) (multipledimsection (entget (entlast))) ) (defun multipledimsection ( entlist / n section newtext) (setq n (getint "\nPodaj liczbe odcinkow: ") section (/ (cdr (assoc 42 entlist)) n) newtext (strcat "<>\\X(" (itoa n) "x" (rtos section 2 2) ")") entlist (subst (cons 1 newtext) (assoc 42 entlist) entlist) ) (entmod entlist) (princ) ) (princ)
    4 punkty
  18. perlon

    projekt_forum.dll

    Można nieco przyspieszyć pracę z kodem i umożliwić debugowanie kodu. Szczegóły na filmiku. Z góry przepraszam za słaby warsztat w nagrywaniu bo to mój pierwszy raz 😉
    4 punkty
  19. s1016

    Program Kota

    Chciałbym podzielić się swoim pierwszym programikiem w c#. Jestem drogowcem, przy projektowaniu np parkingu bardzo dużo czasu traciłem na przeliczanie rzędnych i spadków. Napisałem (oczywiście z pomocą wujka google) prosty programik, bardzo mi pomaga, jeśli ktoś chętny, chętnie się podzielę Rzędne na projekcie opisuję blokami "kota2" z atrybutem. pierwsze polecenie "kkk" wstawia kotę pomiędzy dwie wskazane drugie polecenie "ksk" po wskazaniu pierwszej koty wstawia drugą wyliczoną na podstawie podanego spadku trzecie polecenie kks wstawia blok ze strzałką i opisem pomiędzy dwoma kotami. Oczywiście jak widać na filmiku pewne niedokładności wynikają z zaokrągleń do 2 miejsc po przecinku. kota 2018-11-12 21-43-25-444.mp4
    4 punkty
  20. I jeszcze taki przykład
    4 punkty
  21. pawmal

    analiza wersji 2018 beta

    Witam Potrzeba wpisać _units, nacisnąć lewy ALT+SPACJA, następnie ENTER, kliknąć klawisz strzałki kursora na klawiaturze np. -> "w prawo" i poruszać myszą, aby sprowadzić okno na monitor widoczny ;) Pozdrawiam
    4 punkty
  22. Hania

    ZWTextile

    Nie smutaj Mayster, może następnym razem będzie bliżej
    4 punkty
  23. Szeroka rozpiętość tematyczna nakładek. Gwoli ścisłości dodam, że pewne pozycje z tej listy nie są nakładkami na ZWCAD. Natomiast te, które są nakładkami działają praktycznie w każdej wersji ZWCAD, zaczynając od najstarszej 2012, poprzez wersję+, aż do Classica. Doceniam Twoją rzekomą troskę o przyszłość ZWCAD, ale z tego co piszesz wynika bardziej, że Twoim zmartwieniem jest obecny tutaj brak zmartwień. Powtarzasz chórem z innymi nowymi użytkownikami, że ZWSOFT ukradł kod źródłowy. Proponuję się nieco zastanowić. W jaki sposób ZWSOFT mógł wejść w posiadanie kodu źródłowego? Przecież to są najpilniej strzeżone tajemnice. ZWSOFT wygrał proces sądowy. Gdyby ZWCAD był oparty na kodzie z AC, to ciężko mi uwierzyć, że sprawa zakończona zostałaby przez ugodę. Po ZWSOFT nie byłoby już śladu. W oficjalnej informacji o zawartej ugodzie upublicznionej przez obie firmy, nie ma żadnej wzmianki o kradzieży lub skopiowaniu kodu. Temat tego wątku brzmi: Czy to prawda, że jest proces przeciwko ZWSOFT (ZWCAD)? Odpowiedź: Nieprawda. Wobec powyższego wątek zamykam. Gdyby ktoś miał zastrzeżenia, proszę o wiadomość poprzez forum. Wątek przenoszę także do innego działu, ponieważ cała sprawa Classica to chyba już najmniej dotyczy. Pozdrawiam
    4 punkty
  24. Praktyczne wykorzystanie ZWCAD ARCHITECTURE + ARTISAN, i realna realizacja budynku w Lubinie, dzielnica MAŁOMICE (51.4114993N 16.2226385E) maj 2014 kwiecień 2015 p.s. Budowa jeszcze trwa :D a poczatki były takie koncepcja ze Sketchupa przeniesienie rozwiązania do ZWCAD ARCHITECTURE (listopad 2013r.)
    4 punkty
  25. JustynaDrd

    Rebus piątkowy

    Albo opona letnia :P
    4 punkty
  26. Witam W ZW3D elementy AcDbSubDMesh są przedstawione w formie prętowej, ale nie nadają się do wizualizacji. W ZW3D stosuje się przede wszystkim powierzchnie i bryły. Elementy AcDbSubDMesh można stosować do jakiś powierzchni mocno zmiennych, może roślin, drzew, ludzi, terenu..., ale w mechanice czy motoryzacji takie elementy nie mają racji bytu, dlatego, że nie są ze sobą połączone stycznie. Zresztą, proszę zwrócić uwagę jak wygląda koło w tym Audi Q7- jest po prostu kwadratowe. Nie spotkałem się jeszcze, aby jakiś projektant dostarczał geometrię w postaci siatki. Przede wszystkim geometria jest oparta na powierzchniach i bryłach (solidach). Pozdrawiam
    4 punkty
  27. Uprościłem skrypty, finalnie jest jeden plik LSP i DCL. W przypadku ZWCADa plik DCL trzeba wkleić do lokalizacji C:\Program Files\ZWSOFT\ZWCAD 2026\Render\appl\comm\DCL (analogicznie dla starszych wersji rocznikowych). Po wyczytaniu skryptu wyświetlają się teraz dostępne polecenia: EWAK - rysowanie polilinii EWSET - konfiguracja rozmiaru grotów i polilinii Ponadto ujednoliciłem język, przy wyborze końców jest polski. Użyłeś darmowej wersji Chata GPT czy masz dostęp do płatnych modeli? EWAK.lsp EWAK.dcl
    3 punkty
  28. 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
  29. 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
  30. dmatusz3

    Platforma szkoleniowa ZWCAD

    Z przyjemnością chciałem poinformować o uruchomieniu naszej platformy szkoleniowej. Dostępny na niej jest już poziom podstawowy, w który opisujemy narzędzia do rysowania i edycji oraz drukowania wraz z ćwiczeniami. Kurs zawiera 39 lekcji i 9 godzin materiałów wideo. Dowiedz się więcej informacji o naszej platformie szkoleniowej ZWCAD.
    3 punkty
  31. Obecnie ikonę do paska narzędzi można dodać za pomocą cui Robi się to tak: 1. Wpisać polecenie cui w pasek poleceń 2. W liście poleceń trzeba kliknąć prawym przyciskiem myszy i wybrać nowe polecenie 3. Otworzą się właściwości polecenia - tam można wybrać nazwę, opis i obrazek ale najważniejsze jest makro gdzie po ^C^C wklejamy komendę, która ma się wykonać po kliknięciu przycisku 4. Następnie nowo utworzone polecenie musimy "umieścić" na pasku narzędzi. W tym celu najwygodniej jest wyszukać sobie to polecenie po nazwie i przeciągnąć je w miejsce w które chcemy(na gifie umieściłem je na pierwszej pozycji w kategorii rysuj) 5. Po ustawieniu polecenia na odpowiednie miejsce ponownie klikamy zastosuj, ok i wszystko powinno być gotowe Załączam gifa jeśli ktoś chce zobaczyć jak się to robi
    3 punkty
  32. 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
  33. dmatusz3

    Jak narysować wieżę Eiffla?

    Dzisiaj prezentujemy pierwszy z filmów o tym jak narysować wieżę Eiffla w ZWCAD.
    3 punkty
  34. Witam, Proszę przestawić we właściwościach na dolnych ikonach pod prawym przyciskiem myszy na wprowadzanie współrzędnych bezwzględnych. Zmienna DYNPICOORDS na 1.
    3 punkty
  35. Witam, Jeśli chodzi o tabliczkę T-0 Piesi, to podczas wstawiania można dodać inny opis. Jeśli chodzi o inne tabliczki T-0, to jest do tego funkcja D_INFOTAB, gdzie można dodać własny opis. Jeśli chodzi o znak D-44, to występuje on w różnych konfiguracjach. Jeśli jest potrzebny inny opis, to po wstawieniu normalnie można edytować blok przez prawy przycisk myszy Edytuj blok lub Edytor bloków i usunąć zbędną cześć. Może być jeszcze potrzebna synchronizacja ATRSYN (_ATTSYNC). W razie potrzeby można znak z innym opisem dodać do biblioteki na stałe.
    3 punkty
  36. Jeżeli nie jest to zabronione, chciałbym zaproponować to miejsce do wymiany znaków drogowych, których nie znajdziemy w bibliotece ZWTraffic. Dawajcie znać jakich znaków szukacie. Np. nietypowe T-6. Ja na początek dam żabę A-18e.dwg
    3 punkty
  37. dmatusz3

    Kronika filmowa

    Bloki parametryczne - flexiblock Więcej informacji o blokach parametrycznych zamieściliśmy na naszej stronie.
    3 punkty
  38. Adam Klaczek

    Obrót widoku na rzutni

    A może _ALIGNSPACE?
    3 punkty
  39. Adam Klaczek

    Edycja polilinii z CTRL

    W ZWCAD 2022 po zaznaczeniu punktu lokalizacji, można zmieniać tryby edycji naciskając klawisz CTRL:
    3 punkty
  40. dmatusz3

    ZWCAD 2022 - beta

    Opis jak wstawić swój skrypt pod klawisz skrótu wstawiliśmy tutaj
    3 punkty
  41. Adam Klaczek

    Rysowanie linii prostopadłej

    Proste pytanie z rana, na które mam gifa - ilustruje jeden ze sposobów rysowania linii prostopadłej:
    3 punkty
  42. perlon

    Szablony i skrypty startowe ZWPack

    Moje rozwiązanie jest zbudowane na potrzeby innych lispów, tak aby mogły się odwoływać do warstw poprzez zmienne. Konkretne nazwy są zapisane w zewnętrznym pliku *.ini. Zaznaczam że kody pochodzą sprzed kilku(nastu) lat i dzisiaj pewnie napisałbym to trochę inaczej, ale lepsze jest wrogiem dobrego ;-). (defun SetLayers (/ temp systemEnv oHandle xName eObject IniList IniFile) (setq systemEnv (cd:ENV_SaveEnvVariable)) (setvar "cmdecho" 0) (setvar "regenmode" 0) (setq *layerKontur* "kontur" *layerOsie* "osie" *layerUkryte* "ukryte" *layerOpisy* "opisy" *layerWymiary* "wymiary" *layerStolarka* "stolarka" *layerCienkie* "cienkie" *layerHatche* "hatche" *layerPrety* "prety" *layerObok* "obok" *layerRzutnie* "rzutnie" *layer3DModel* "3D_model" IniFile (findfile "dodatki.ini") ) (setq IniList (if (not IniFile) (list) (cd:INI_Read IniFile))) (or IniFile (setq IniFile (strcat *cd-ApplicationPath* "dodatki.ini"))) (setq IniList (add_gr_ini IniList "[Layers]")) (if (setq temp (get_ini IniList "[Layers]" "kontur")) (setq *layerKontur* temp) (setq IniList (set_ini IniList "[Layers]" "kontur" *layerKontur*)) ) (if (setq temp (get_ini IniList "[Layers]" "osie")) (setq *layerOsie* temp) (setq IniList (set_ini IniList "[Layers]" "osie" *layerOsie*)) ) (if (setq temp (get_ini IniList "[Layers]" "ukryte")) (setq *layerUkryte* temp) (setq IniList (set_ini IniList "[Layers]" "ukryte" *layerUkryte*)) ) (if (setq temp (get_ini IniList "[Layers]" "opisy")) (setq *layerOpisy* temp) (setq IniList (set_ini IniList "[Layers]" "opisy" *layerOpisy*)) ) (if (setq temp (get_ini IniList "[Layers]" "wymiary")) (setq *layerWymiary* temp) (setq IniList (set_ini IniList "[Layers]" "wymiary" *layerWymiary*)) ) (if (setq temp (get_ini IniList "[Layers]" "stolarka")) (setq *layerStolarka* temp) (setq IniList (set_ini IniList "[Layers]" "stolarka" *layerStolarka*)) ) (if (setq temp (get_ini IniList "[Layers]" "cienkie")) (setq *layerCienkie* temp) (setq IniList (set_ini IniList "[Layers]" "cienkie" *layerCienkie*)) ) (if (setq temp (get_ini IniList "[Layers]" "hatche")) (setq *layerHatche* temp) (setq IniList (set_ini IniList "[Layers]" "hatche" *layerHatche*)) ) (if (setq temp (get_ini IniList "[Layers]" "prety")) (setq *layerPrety* temp) (setq IniList (set_ini IniList "[Layers]" "prety" *layerPrety*)) ) (if (setq temp (get_ini IniList "[Layers]" "obok")) (setq *layerObok* temp) (setq IniList (set_ini IniList "[Layers]" "obok" *layerObok*)) ) (if (setq temp (get_ini IniList "[Layers]" "rzutnie")) (setq *layerRzutnie* temp) (setq IniList (set_ini IniList "[Layers]" "rzutnie" *layerRzutnie*)) ) (if (setq temp (get_ini IniList "[Layers]" "3D_model")) (setq *layer3DModel* temp) (setq IniList (set_ini IniList "[Layers]" "3D_model" *layer3DModel*)) ) (cd:INI_Write IniList IniFile) (setq xName (cond ((= *cd-AppType* "ZWCAD") "zwcad.lin") (t "acad.lin") ) ) (cd:ACX_LoadLineType "dashed" xName) (cd:ACX_LoadLineType "dashdot" xName) (cd:ACX_LoadLineType "hidden2" xName) (cd:ACX_LoadLineType "center2" xName) (foreach xName (list (list *layerKontur* "continuous" 2 T) (list *layerOsie* "center2" 1 T) (list *layerUkryte* "hidden2" 1 T) (list *layerOpisy* "continuous" 7 T) (list *layerWymiary* "continuous" 1 T) (list *layerStolarka* "continuous" 3 T) (list *layerCienkie* "continuous" 1 T) (list *layerHatche* "continuous" 254 T) (list *layerPrety* "continuous" 5 T) (list *layerObok* "continuous" 9 T) (list *layerRzutnie* "continuous" 60 T) (list *layer3DModel* "continuous" 94 T) ) (setq eObject (cd:ACX_AddLayer (nth 0 xName))) (vla-put-linetype eObject (nth 1 xName)) (vla-put-color eObject (nth 2 xName)) (vla-put-plottable eObject (nth 3 xName)) ) (cd:ENV_RestEnvVariable systemEnv) ) Jak widać ja wczytuję linie z zwcad.lin ale jest to identyczny plik jak zwcadiso.lin. Nie wiem po co są dublowane. Sam plik ini jest banalny ale wydaje się, że użycie takiego sposobu jest łatwiejsze do użycia dla koleżanek i kolegów w biurze, którzy do LISPA trochę z pazurami podchodzą. [Layers] kontur=kontur osie=osie ukryte=ukryte opisy=opisy wymiary=wymiary stolarka=stolarka cienkie=cienkie hatche=hatche prety=prety obok=obok rzutnie=rzutnie 3D_model=3D_model Dzięki dmatusz3 za swoje rozwiązanie, bo chyba tym wzorem dorzucę sobie do ini również ustawienie linetype, color etc. Przy okazji, jak widać używam CADPL-Pack-v1, którego gorąco polecam. Na koniec jeszcze pokażę reaktora na komendy co zwalnia mnie z pamiętania o zmianach warstw w trakcie rysowania. Jest to z małymi poprawkami do ZwCAD'a kod Andrzeja Gumuły na co jest odpowiedni (c) w kodzie. Zdaje się, że na forum było pokazywane inne rozwiązanie chyba nieco mniej rozwlekłe, ale to mi działa i na razie tego nie zmieniam. ;;;* Funkcje ustanawia reaktor do zmiany warstwy dla wyszczególnionych komend (defun SetLayInCom (layer commandslist) (if (= (getvar "PRODUCT") "ZWCAD") (progn (vlr-remove-all :VLR-Command-Reactor) (vlr-command-reactor nil '((:vlr-commandwillstart . bylayer) (:vlr-commandended . previous) (:vlr-commandcancelled . previous) (:vlr-commandfailed . previous) ) ) ) (progn (if (not globalcommandslist) ; zabezpiecza przed ponowną deklaracją reaktora (vlr-command-reactor ; przy ponownym wczytaniu lisp'a nil '((:vlr-commandwillstart . bylayer) (:vlr-commandended . previous) (:vlr-commandcancelled . previous) (:vlr-commandfailed . previous) ) ) ) ) ) (mapcar '(lambda (x) (set x nil)) '(reactorlayer reactorcolor reactorltype reactorlweight) ) (mapcar '(lambda (x y) (set x y)) '(globalcommandslist globallayer) (list commandslist layer) ) (foreach x layer (if (not (tblsearch "LAYER" x)) (entmake (list '(0 . "LAYER") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbLayerTableRecord") (cons 2 x) '(70 . 0) '(62 . 7) '(6 . "Continuous") '(370 . -3) ) ) ) ;end if ) ;end foreach (defun bylayer (idreactor namecommand / komendy licznik) (setq licznik 0) (foreach komendy globalcommandslist (if (member (strcase (car namecommand)) (mapcar 'strcase komendy) ) (progn (if (not (and reactorlayer reactorcolor reactorltype reactorlweight ) ) (mapcar '(lambda (x y) (set x (getvar y))) '(reactorlayer reactorcolor reactorltype reactorlweight) '("clayer" "cecolor" "celtype" "celweight") ) ) ; end if (mapcar '(lambda (x y) (setvar x y)) '("clayer" "cecolor" "celtype" "celweight") (list (nth licznik globallayer) "256" "Bylayer" -1) ) ) ) ;end If (setq licznik (1+ licznik)) ) ;end foreach ) ;end ByLayer (defun previous (idreactor namecommand / komendy licznik) (setq licznik 0) (foreach komendy globalcommandslist (if (member (strcase (car namecommand)) (mapcar 'strcase komendy ) ) (progn (if (and reactorlayer reactorcolor reactorltype reactorlweight) (mapcar '(lambda (x y) (setvar x y)) (list "clayer" "cecolor" "celtype" "celweight") (list reactorlayer reactorcolor reactorltype reactorlweight ) ) ) (mapcar '(lambda (x) (set x nil)) '(reactorlayer reactorcolor reactorltype reactorlweight) ) ) ) (setq licznik (1+ licznik)) ) ;end cond ) ;end Previous t (prompt "SetLayInCom (C)2003 Andrzej Gumuła.") (princ) ) ;end file Na koniec wywołanie w kodzie startowym i mamy piękny reaktor na dowolne komendy jakie sobie dopiszemy. (setlayincom (list *layerWymiary* *layerHatche* *layerOsie* *layerCienkie* *layerOpisy*) '( ("DIMLINEAR" "DIMALIGNED" "DIMRADIUS" "DIMDIAMETER" "DIMANGULAR" "DIMORDINATE" "DIMCONTINUE" "DIMBASELINE" "QDIM" "DIMJOGGED" "DIMARC") ("BHATCH") ("DIMCENTER") ("QLEADER") ("DTEXT" "TEXT") ) )
    3 punkty
  43. Żeby atrybut mógł być przesuwany niezależnie od punktu wstawienia bloku, to musi mieć ustawiony parametr 'Lock position' ustawiony na 'No' (wersja angielska ZWCAD 2018). Można ten parametr edytować poprzez REFEDIT. Ustawienie to będzie po zapisaniu dotyczyło wszystkich bloków z tą nazwą w danym rysunku. Przesunięte atrybuty wrócą do pierwotnej lokalizacji po synchronizacji atrybutów funkcją 'ATTSYNC'. Poniżej rysunek, na którym zaznaczyłem, która parametr odpowiada za pojawienie się uchwytu do przesuwania atrybutu w bloku.
    3 punkty
  44. Witam Jest takie polecenie JEDN (_units). Można albo zwiększyć dokładność przy jednostkach dziesiętnych dla kąta albo w ogóle ustawić stopnie/minuty/sekundy. Pozdrawiam
    3 punkty
  45. Dzień dobry, Wydaje mi się, że wystarczy zastosować śledzenie biegunowe z przyrostem kąta = 90 i pomiarem względem ostatniego segmentu: Pozdrawiam.
    3 punkty
  46. dmatusz3

    Zamiana procentów na stopnie

    Nie jest moim celem eskalacja ilości rozwiązań, ale przy okazji innego projektu mimochodem wykorzystaliśmy nowe możliwości programistyczne w ZWCAD 2017. Dodaliśmy nowe polecenie "Pochylenie", który tworzy obiekt - linię, która ma 3 uchwyty. W zależności od wybranego uchwytu możemy osiągnąć różne rezultaty. W oknie właściwości możemy także zmieniać kąt nachylenia obiektu. Oto pliki do pobrania. Proszę je umieścić w jednym katalogu. Wymagany jest ZWCAD 2017 Pro. Pochylenie.zrx PochylenieCom.dll :hi:
    3 punkty
  47. Kamil Murański

    Wyszukiwanie tekstu w PDF

    Witam Sugeruję drukować używając drukarki PDF Creator. W oknie drukowania należy kliknąć na Właściwości. W oknie, które się otworzy, w zakładce "Urządzenie i ustawienia dokumentu", należy rozwinąć drzewko "Grafika", wybrać "Czcionki True Type <Jako tekst>" i zaznaczyć "Czcionki TrueType jako tekst". Dołączam obrazek wraz ze strzałkami i numeracją co i gdzie należy po kolei klikać. Pozdrawiam
    3 punkty
  48. Tomasz79

    SMath

    Witam. To jest bardzo ciekawa alternatywa dla MathCAD-a, od dłuższego czasu na nim pracuje wykonując obliczenia wytrzymałościowe. Nie ma takiej prędkości jak MathCAD, ale dobrze się sprawuje. Spece od niego potrafią robić na nim animacje oraz potrafią go programować w VB lub C# ( http://smath.info/wiki/ ). Obecnie program posiada bardzo ciekawą funkcjonalność, która przydaje się w pracy. Program tworzy pliki exe z projektów, dzięki temu można robić matryce obliczeniowe, w których nie można robić zmian w procedurach obliczeniowych. Oto jak wygląda przykładowe okno takiego projektu: A tutaj widok wydruku do powyższego okna Powyższy przykład znajduje się w załączniku. Pozdrawiam TJ belka jednoprzesłowa z 1 siłą P.rar
    3 punkty
  49. tpaulina

    4. Narzędzia do wymiarowania

    1. Rozszerzony wymiar – pozwala na tworzenie wielu wymiarów w ramach pojedynczej sesji polecenia: w odniesieniu do bazy lub jako wymiar ciągły. 2. Wymiar Wiele – tworzy wiele wymiarów od wybranego punktu do wszystkich wierzchołków na konturze wybranego obiektu. Po wybraniu opcji wymiar Wiele pojawia się okno z możliwością wyboru typu wymiarowania. Do wyboru mamy wymiary równoległe, współrzędne oraz symetryczne. W każdym z tych typów wymiarowania mamy dodatkowe opcje do ustawienia przez użytkownika. Wymiarowanie równoległe: do wyboru typ bazowy lub ciągły, z możliwością wymiarowania w obu osiach. Wymiarowanie współrzędne: do wyboru typ aktualny standard, równa długość odcinka lub środek krzyża na krawędzi. Z możliwością obrotu tekstu oraz wyboru krótkich lini wymiarowych. Wymiarowanie wałek/symetria: do wyboru wałek (widok z przodu), wałek (widok z boku)oraz symetria. We wszystkich typach wymiarowania jest możliwość automatycznego wyświetlania edytora teksu dla każdego wymiaru, co pozwala na wprowadzenie od razu dodatkowych informacji dla danego wymiaru.
    3 punkty
  50. Poniżej rozwiązanie: Witam Przesyłam rozwiązanie do przeinstalowania VBA wersji ZWCAD2012/2011. 1. Uruchomić wiersz poleceń Start->Uruchom->CMD i odinstalować VBA ZWCAD2012/2011 przez wklejenie linków: MsiExec.exe /X{1727CD47-A408-11d2-AFAD-00C04F72FB3E} MsiExec.exe /X{17E27C03-BD58-11d2-AFC1-00C04F72FB3E} MsiExec.exe /x{17E27C04-BD58-11d2-AFC1-00C04F72FB3E} Przy wklejeniu drugiego i trzeciego linku może pojawić się informacja, że deinstalacja wymaga zainstalowanego produktu. Informację tę można zignorować. 2. Proszę pobrać VBA i zainstalować z poniższego linku: http://jakprojektowac.pl/ftp/zwcad/Nakladki/vba6eng.rar pozdrawiam
    3 punkty
Ten Ranking jest ustawiony na Warszawa/GMT+02:00