kruszynski

Moderatorzy
  • Zawartość

    999
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    29

Aktywność reputacji

  1. Upvote
    kruszynski otrzymał reputację od jacnightingale w ZWTraffic   
    Możliwe to jest, tylko potencjalnie narażone na komplikacje. Bo jak odróżnić blok opisowy od innych? Można w programie zapisać na stałe nazwę bloku opisowego. Ale jeśli ktoś chciałby użyć tego narzędzia w innym przypadku to nie zadziała. zaznaczenie jednego bloku wzorca chyba nie jest zbyt kłopotliwe a daje nam dużą elastyczność.
  2. Like
    kruszynski otrzymał reputację od tolosek w Tworzenie znaków F-6   
    Możemy wprowadzić w zasadzie dowolną funkcjonalność do naszych nakładek, potrzebujemy na to tylko pomysłu i czasu.
    Czy może Pan opisać szczegółowo jak chciałby Pan korzystać z programu? Może przygotuje Pan jakąś "makietę" okna dialogowego choćby na kartce długopisem i prześle Pan zdjęcie?
  3. Upvote
    kruszynski przyznał reputację dla dmatusz3Rzutnie w arkuszu   
    Proszę spróbować polecenia szyk lub mvsetup.
     
  4. Upvote
    kruszynski przyznał reputację dla TaflaZWCAD zawiesza się   
    https://niebezpiecznik.pl/post/skandal-w-kaspersky-ten-antywirus-pomagal-rosyjskim-sluzbom-wykradac-dane-z-komputerow-na-calym-swiecie/
    Jednym blokuje - innym udostępnia.
     
  5. Like
    kruszynski otrzymał reputację od jacnightingale w Skrypt przenoszący określone warstwy na spód   
    W załączeniu skrypt.
    Polecenie do wywołania: tak jak nazwa pliku
    HatchToBack.lsp
  6. Upvote
    kruszynski otrzymał reputację od Pawcyk w Dokumentacja fotograficzna   
    W wywołaniu poleceniehyperlink "_I" powinno być w cudzysłowie
    po co tam jest _O ?
    powinno być tak:
    (command "_-hyperlink" "_i" last_ent "" path "" "" "" )  
  7. Upvote
    kruszynski przyznał reputację dla dmatusz3Szablony i skrypty startowe ZWPack   
    Nie jesteśmy pewni za bardzo czy chodzi o coś takiego, ale własne style kreskowania możemy dodać do palety narzędzi.
     
  8. Upvote
    kruszynski otrzymał reputację od jarekw90 w problem repeat + getkword   
    Proponuję tak:
     
    (defun ZWCAD:GetKWord (init Prompt DefVal / ans OutVal *error*) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\n ZWCAD:GetKWord : *error*: " ) (princ msg ) (princ "\n") ) ) ) (initget 2 init) (setq ans(vl-catch-all-apply 'getkword (list Prompt))) (if (not(vl-catch-all-error-p ans)) (if ans (progn (if (equal ans "") (setq OutVal DefVal) (setq OutVal ans) ) ) (setq OutVal DefVal) ) ) OutVal ) (setq wybrane (ZWCAD:GetKWord "T N" "Kontynuowac? [T/N] <T>" "T" ) )  
  9. Upvote
    kruszynski otrzymał reputację od Pawcyk w Zapamiętywanie ostatniej wprowadzonej wartości   
    (close f) powinno zamykać po uchwycie do pliku a nie po ścieżce.
    Czyli
    (setq file (open (strcat (getvar 'dwgprefix) "OstWprRzedna.txt") "r") ) ... (close file) A o co chodzi z tym?
     
    (something)  
  10. Upvote
    kruszynski otrzymał reputację od dmatusz3 w ZWCAD 2018 SP1 - edytor bloków [rozwiązany]   
    Przygotowałem alternatywę dla wybierania zagnieżdżonych bloków przy  funkcji BEDIT.
    Po wczytaniu załączonego lispa dostępne będzie polecenie BBEDIT.  Po jego uruchomieniu zostaniemy poproszeni o wybranie czegoś w rysunku i uruchomiona będzie funkcja BEDIT dla naajbardziej zagnieżdżonego bloku.
    BBedit.lsp
  11. Downvote
    kruszynski przyznał reputację dla ChrisBrak przezroczystości polilinii   
    HEHE trzeba przyznać, że to im się udało! Porównałem sobie działanie ZWCADA z konkurencyjnymi CADami i przyznaję, że ZWCAD wypada w tym konkretnym przypadku najgorzej... Zaznaczę tylko, że konkurencyjne CADy są wersjami z 2015r.
  12. Upvote
    kruszynski przyznał reputację dla Martin_Spolilinia+szerokość - wyświetlanie wierzchołków   
    Też to potwierdzam w 2018

     
    Teraz próba obejścia...jesli to ma służyć poprawie estetyki wydruku takiej polilinii najlepiej mi to wychodzi z "wymuszonym" zaokraglonym fazowaniem = 0,5* grubosć polilinii generalnie <0,1>


    pl-test.dwg
     
  13. Upvote
    kruszynski przyznał reputację dla Parikonprojekt_forum.dll   
    Lista projektów będzie zapisywana w bazie danych. Wybrałem system bazodanowy Sqlite, którego biblioteki klas są w domenie publicznej. Visual Studio za pomocą usługi NuGet
    w "prosty" sposób dostarczy potrzebne biblioteki do naszego projektu.
     
  14. Upvote
    kruszynski przyznał reputację dla kaminkiDynamiczna modyfikacja obiektów C#   
    Mam okrąg w kilku egzemplarzach na rysunku. Gdy modyfikuję jeden dowolny to pozostałe również zmieniają się. Czy jest inny sposób niż przez bloki? Czy zadziałałoby to poprzez użycie "event handle"? 
    - utworzyć nod do przechowywania informacji o nazwie np. "my_circle"
    - narysowanie okręgu o promieniu r
    - dodanie jego ObjectId do my_circle
    - kopiowanie okręgu oraz dla każdej kopi dodanie Objectid do tego samego my_circle
    - każdy okrąg w xdate będzie zawierał  tekst "my_circle" -> potrzebne do identyfikacji wszystkich okręgów powiązanych z nod o takiej samej nazwie
    - każdy okrąg będzie posiadał załadowany event handle do metody analizuj() (handle wrażliwe na modyfikację obiektu)
    - a w metodzie analizuj():
        * gdy zostanie wywołane to znak, że obiekt został zmodyfikowany. Zapamiętanie zmienionego obiektu. Pobranie z xdata jego nazwy, przejście do nod -> my_circle i w pętli po wszystkich obiektach odczyt ObjectId -> pobranie każdego rzeczywistego obiektu, usunięcie go i podstawienie w to miejsce zmodyfikowanego okręgu. Jeżeli oczywiście można bezproblemowo użyć zapisu o ObjectId jako string do odszukania na rysunku obiektu okręgu.
    Czy jest to dobra droga do rozwiązania problemu? Jeszcze nie pisałem tego, a chciałbym dowiedzieć się czy jest możliwe takie rozwiązanie lub może istnieje lepsze podejście.
     
  15. Upvote
    kruszynski przyznał reputację dla perlonSzablony 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") ) )  
     
  16. Upvote
    kruszynski przyznał reputację dla dmatusz3Lokalizacja względem obiektu tylko dla części rysunku   
    Hmm, może zapis "niedotykalskich" obiektów do formatu DWF (Plik-->Eksport) i podczytanie w rysunku DWF (Wstaw-->Podkład DWF)?
    Pan pracuje na dużej ilości cyfr po przecinku, proszę się upewnić czy taka konwersja nie powoduje przekłamań.
  17. Upvote
    kruszynski otrzymał reputację od Marek-M w Importowanie i eksportowanie właściwości rysunku   
    Zmienione
    ImportWlasciwosci.zel
  18. Upvote
    kruszynski otrzymał reputację od Adam Klaczek 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\
  19. Upvote
    kruszynski przyznał reputację dla Przemek210błąd szrafury   
    Pomaga zwykle przesunięcie UCS w okolice kreskowania i ponowne zakreskowanie. To samo dzieje się w AutoCad.
  20. Upvote
    kruszynski przyznał reputację dla Adam KlaczekNie działa klawisz delete [rozwiązany]   
    Dzień dobry,
    Proszę sprawdzić czy w Opcjach - Wybór obiektu przed zaznaczeniem, jest wybrany:

    Pozdrawiam
  21. Upvote
    kruszynski przyznał reputację dla perlonWymiar szeregowy od początku?   
    Najprostsze z możliwych rozwiązanie to :
    (defun c:wymiarszeregowy( / )
        (command "_dimlinear" pause pause pause)
        (command "_dimcontinue")
    )
     
  22. Upvote
    kruszynski przyznał reputację dla perlonMożliwość ustawienia odrębnych właściwości warstw dla rzutni   
    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.
  23. Upvote
    kruszynski przyznał reputację dla Marek-MRzędne - przesuwanie tekstu w blokach z atrybutami [rozwiązany]   
    Ż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.
  24. Downvote
    kruszynski przyznał reputację dla ChrisLayoff   
    Zgadzam się - warstwy powinny wyłączać się po kliknięciu w obiekt. Wykonywanie dodatkowych komend (kliknięć w enter/spacja/ESC) jest krokiem wstecz...
  25. Downvote
    kruszynski przyznał reputację dla ChrisLayoff   
    Potwierdzam, że "wystarczy" tylko poruszyć kursorem, żeby obiekty na odpowiedniej warstwie zostały wyłączone.
    Nie zmienia to faktu, że powinny zostać wyłączone bez dodatkowych ruchów myszką czy innych zabiegów (tak to działa w ZWCad+ 2015 i innych Cadach)...