Adam Klaczek

Użytkownik forum
  • Postów

    730
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    97

Aktywność reputacji

  1. Upvote
    Adam Klaczek otrzymał(a) reputację od perlon w UCS (LUW) obrót układu   
    Dzień dobry,
    Obejściem może być wybranie, zamiast opcji Z - opcji 3 (3punkty).
    Pozdrawiam
  2. Upvote
    Adam Klaczek otrzymał(a) reputację od dmatusz3 w Aktywna obwiednia kreskowania [rozwiązany]   
    Dzień dobry,
    Przystosowaliśmy nieco kod z wątku https://forums.autodesk.com/t5/autocad-forum/recreate-multiple-hatch-boundaries-at-once/td-p/2830887
    LISP odtwarza obwiednie wszystkich zaznaczonych kreskowań.
    Do załadowania przez _appload -> Dodaj plik -> Wczytaj -> Dodaj do listy startowej -> OK
    Uruchamiany poleceniem OOK
    Pozdrawiam.
     
    OOK.lsp
  3. Upvote
    Adam Klaczek otrzymał(a) reputację od pawmal w Aktywna obwiednia kreskowania [rozwiązany]   
    Dzień dobry,
    Przystosowaliśmy nieco kod z wątku https://forums.autodesk.com/t5/autocad-forum/recreate-multiple-hatch-boundaries-at-once/td-p/2830887
    LISP odtwarza obwiednie wszystkich zaznaczonych kreskowań.
    Do załadowania przez _appload -> Dodaj plik -> Wczytaj -> Dodaj do listy startowej -> OK
    Uruchamiany poleceniem OOK
    Pozdrawiam.
     
    OOK.lsp
  4. Like
    Adam Klaczek otrzymał(a) reputację od pawmal w UCS (LUW) obrót układu   
    Dzień dobry,
    Obejściem może być wybranie, zamiast opcji Z - opcji 3 (3punkty).
    Pozdrawiam
  5. Upvote
    Adam Klaczek przyznał(a) reputację dla pawmal w Pasek narzędzi _menubar   
    Tworzenie własnej zakładki we wstążce opisałem na bloku pod tym linkiem.
     
     
  6. Upvote
    Adam Klaczek przyznał(a) reputację dla gruzin w PROFILEK   
    Nowe ikonki Profilka do Zwcada 2018 gotowe. Niestety stare na ciemnym tle były nieczytelne. Niebawem oficjalna wersja.
    pozdrawiam

  7. Upvote
    Adam Klaczek przyznał(a) reputację dla dmatusz3 w Szablony i skrypty startowe ZWPack   
    Historia LISPów startowych ZWPACK:
    ZWPack 2021 z 20 listopada 2020 - dodano szyfrowanie lispów, mierzenie z sumowaniem, zmianę stylu multilinii oraz wymiarowanie polilinii. ZWPack_2018.02.zip z 28 marca 2018 - dodano paletę narzędzi oraz wybór ostatnio zaznaczonych obiektów skrypt-startowy_v01.lsp z 29 grudnia 2017 - dodano tworzenie warstw z grubościami oraz edycję bloków zagnieżdżonych po kliknięciu skrypt-startowy_v00.lsp  z 14 grudnia 2017 - opis  
    Poniżej oryginalny post.
    ==========================================================
    Zastanawiam się nad jakie stosujecie ustawienia początkowe przy rysowaniu?
    Powszechnie znanym sposobem są szablony, ciekawy jestem czy ktoś stosuje zamiast (lub równolegle) swoje skrypty startowe.
    Na przykład listę i właściwości warstw można ustawić zarówno w szablonie jak i utworzyć za pomocą LISPa.
    Poniżej zamieszczam właśnie taką procedurę. Obsługa jest bardzo prosta, wystarczy dopisać na końcu
     
    (Utworzwarstwe "Nazwa_warstwy" Kolor "Rodzaj_linii") Oto cały kod
    (defun Linetype:Load ( linetype filename / *error* doc path linetypes ans ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nLinetype:Load:*error*: " ) (princ msg ) (princ "\n") ) ) ) (setq path (findfile filename )) (if (not (null path ) ) (progn (setq doc (vla-get-activedocument (vlax-get-acad-object) )) ( setq linetypes ( vlax-get-property doc 'Linetypes ) ) (setq ans(vl-catch-all-apply 'vlax-invoke-method (list linetypes 'Load typlinii path ) ) ) (print ans ) ) ) nil ) (defun Utworzwarstwe ( nazwa kolor typlinii / *error* doc Warstwy Warstwa linetypes linetype ) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nUtworzwarstwe:*error*: " ) (princ msg ) (princ "\n") ) ) ) (setq doc (vla-get-activedocument (vlax-get-acad-object) )) (setq Warstwy (vlax-get-property doc 'Layers ) ) (setq Warstwa (vlax-invoke-method Warstwy 'Add nazwa ) ) (vlax-put-property Warstwa 'Color kolor ) ( setq linetypes ( vlax-get-property doc 'Linetypes ) ) (setq ltype(vl-catch-all-apply 'vlax-get-property (list linetypes 'Item typlinii ))) (if (vl-catch-all-error-p ltype ) (progn (Linetype:Load typlinii "zwcadiso.lin") ) ) (setq ans(vl-catch-all-apply 'vlax-put-property (list Warstwa 'Linetype typlinii ))) ) (defun c:lstart (/) (Utworzwarstwe "Osie" 1 "Center") (Utworzwarstwe "Ukryte" 254 "Hidden") (Utworzwarstwe "Opisy" 253 "Continuous") (Utworzwarstwe "Kreskowanie" 253 "Continuous") (Utworzwarstwe "Wymiary" 7 "Continuous") )  
    Po wczytaniu skryptu będzie dostępne polecenie "lstart", które utworzy warstwy jak poniżej.

     
    Załączam także sam skrypt LISP.
    lstart.lsp
     
  8. Upvote
    Adam Klaczek przyznał(a) reputację dla perlon w 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") ) )  
     
  9. Upvote
    Adam Klaczek przyznał(a) reputację dla pawmal w Domyślne otwieranie plików dxf [rozwiązany]   
    Witam
    Proponuję usunąć poniższe klucze w rejestrze i jeszcze raz przypisać DXF do odpowiedniego programu.
    Pozdrawiam


  10. Upvote
    Adam Klaczek przyznał(a) reputację dla kruszynski w Dodanie własnej ikony   
    W interfejsie klasycznym ikonka powinna być w tym samym katalogu gdzie plik cuix. Czyli jeśli dostosowuje Pan plik ZWCAD.cuix jest to
    %APPDATA%\ZWSOFT\ZWCAD\2018\pl-PL\Support\
  11. Upvote
    Adam Klaczek otrzymał(a) reputację od kruszynski w Nie działa klawisz delete [rozwiązany]   
    Dzień dobry,
    Proszę sprawdzić czy w Opcjach - Wybór obiektu przed zaznaczeniem, jest wybrany:

    Pozdrawiam
  12. Upvote
    Adam Klaczek przyznał(a) reputację dla Przemek210 w błąd szrafury   
    Pomaga zwykle przesunięcie UCS w okolice kreskowania i ponowne zakreskowanie. To samo dzieje się w AutoCad.
  13. Upvote
    Adam Klaczek otrzymał(a) reputację od pawmal w Nie działa klawisz delete [rozwiązany]   
    Dzień dobry,
    Proszę sprawdzić czy w Opcjach - Wybór obiektu przed zaznaczeniem, jest wybrany:

    Pozdrawiam
  14. Upvote
    Adam Klaczek przyznał(a) reputację dla pawmal w Nie działa klawisz delete [rozwiązany]   
    Witam
    Proszę zaznaczyć w opcjach Wybór obiekty przed poleceniem.
    Pozdrawiam
  15. Upvote
    Adam Klaczek przyznał(a) reputację dla e_CAD w Rysowanie słupa - niestabilność z ZwCad   
    Miło jest nam poinformować, że nasi programiści znaleźli przyczynę opisanej przez Pana niestabilności ZWCAD 2017/2018 w momencie rysowania słupa z przekrojem w którym występują strzemiona romboidalne. Przyczyną okazały się tzw. zbiory wskazań obsługiwane przez ZWCAD.
    Zmodyfikowaliśmy już kod programu pod kątem ZWCAD 2017/2018 i nową zmienioną wersję (e-CAD Żelbet 12.81) zamieściliśmy już na naszej stronie internetowej www.e-cad.pl w zakładce Aktualizacje.
     
  16. Upvote
    Adam Klaczek otrzymał(a) reputację od Hania w Problem z PŁAT (_Slice) oraz KOSTKA (-Box)   
    Dzień dobry,
    Jakimś tymczasowym obejściem problemu może być ustawienie śledzenia biegunowego, z zadanym odpowiednim kątem
    i rysowanie kostki z opcją (D) długości - po liniach śledzenia. Próbowałem wiele razy, wychodzi...
    Pozdrawiam.
  17. Upvote
    Adam Klaczek przyznał(a) reputację dla pawmal w Tworzenie własnego stylu kreskowania [rozwiązany]   
    Witam

    *SQUARE33x33, SQUARE 33x33
    0,0,0,0,33.33
    90,0,0,0,33.33
    To wystarczy wkleić do pliku ZWCADISO.PAT w %appdata%\ZWSOFT\ZWCAD\2018\pl-PL\Support
    A symetrię ustalamy w oknie kreskowania jak niżej.
    Pozdrawiam

  18. Upvote
    Adam Klaczek przyznał(a) reputację dla pawmal w 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
  19. Upvote
    Adam Klaczek przyznał(a) reputację dla perlon w Możliwość ustawienia odrębnych właściwości warstw dla rzutni [Wprowadzono z ZWCAD 2021]   
    A czy nie można by tego zrealizować za pomocą styli drukowania? Przypisać do layoutu odpowiedni styl do danej fazy i włączyć pokazywanie arkusza zgodnie ze stylem (Display plot styles).Oznaczenia specyficzne dla danej fazy umieszczać na osobnych warstwach i ustalać ich widoczność w filtrze warstw dla rzutni. Wydaje mi się, że jest to spokojnie do ogarnięcia przy obecnej funkcjonalności. Poszczególne fazy to byłyby kolejne layouty.
  20. Upvote
    Adam Klaczek przyznał(a) reputację dla dmatusz3 w Problem ze znajdywaniem punktów charakterystycznych   
    Faktycznie z tym blokiem są problemy z punktami kwadrantowymi. Wyślemy to do analizy, niemniej jak tworzę nowe obiekty, są ona znajdowane bez problemu.
    Może ułatwieniem będzie włączenie uchwytów w bloku, co pozwoli na złapanie punktów kwadrantowych.


     
    Natomiast odnośnie wydajności, chciałem pokazać, jak to się prezentuje na naszych komputerach.
    Pisał Pan o problemach powyżej 2,5 tys. obiektów, w rysunku mam więc na początku ponad 60 tys. obiektów i kopiuję kilka razy, więc jest około 250 tysięcy obiektów w rysunku (głównie polilinii).
     
     
  21. Upvote
    Adam Klaczek przyznał(a) reputację dla dmatusz3 w Problem z pogrubieniem czcionek ttf [rozwiązany]   
    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:

  22. Upvote
    Adam Klaczek przyznał(a) reputację dla pawmal w Polecenie MKLTYPE   
    A tu już linia zmodyfikowana tak, aby napis wyświetlał się nad linią i podążał za kierunkiem rysowania.

     
    63_mod.lin
  23. Upvote
    Adam Klaczek przyznał(a) reputację dla dmatusz3 w Wymiar równoległy pod kątem [rozwiązany]   
    Może coś takiego?

  24. Upvote
    Adam Klaczek otrzymał(a) reputację od pawmal w Rysowanie po linii [rozwiązany]   
    Dzień dobry,
    Problem jest zgłoszony do producenta.
    Najprostszym obejściem wydaje się odwrócenie nieco ciągu rysowania:
    - po _line - wybrać K (kąt) i wskazać punkt na pierwszej linii - następnie zadać długość drugiej linii
    Pozdrawiam
  25. Upvote
    Adam Klaczek otrzymał(a) reputację od jacnightingale w Rysowanie po linii [rozwiązany]   
    Dzień dobry,
    Problem jest zgłoszony do producenta.
    Najprostszym obejściem wydaje się odwrócenie nieco ciągu rysowania:
    - po _line - wybrać K (kąt) i wskazać punkt na pierwszej linii - następnie zadać długość drugiej linii
    Pozdrawiam