
zwonko
Użytkownik forum-
Postów
59 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
4
Treść opublikowana przez zwonko
-
Zmiana stylu wymiarowania jeśli zostanie wybrany inny.
zwonko odpowiedział(a) na zwonko temat w ZWCAD Standard i Professional
chodziło mi właśnie o reaktor, wspomniany przez @kojacek. Widziałem go na stronie https://kojacek.wordpress.com, przy czym niestety kod jest zbyt skomplikowany dla mnie żeby go przerobić. A zasada działania jest też zgołą inna. Tutaj na podstawie wskazanego jednego stylu zmieniamy resztę styli (wymiarowania, tekstu, multileaderów). Ja potrzebuje, czegoś co w przypadku zmiany dimstyle zmienia dimstyle na inny. Dodam (nie wiem czy to ważne), że zmiane dimstyle, nie wywołuje użytkownik tylko inny lisp. @dmatusz3 choć pomysł z przepisaniem wszystkich Styli BZ... na mój, dla istniejących obiektów tez nie jest pozbawiony sensu. Przy czym to powinno być łatwe do ogarnięcia, nawet dla kogoś tak nie biegłego w programowaniu jak ja... -
Zmiana stylu wymiarowania jeśli zostanie wybrany inny.
zwonko opublikował(a) temat w ZWCAD Standard i Professional
Czy da się zrobić coś np. lisp? Który będzie reagował na zmianę stylu wymiarowania? Tj. mam nakładkę na ZWCAD, BIK żelbet, która często zmienia mi styl wymiarowania na: BZ_KR_20_mm, którego nie stosuje. Czy jest możliwe ustawienie, że w przypadku gdy styl zostanie zmieniony na BZ_KR_20_mm, albo BZ_KR_50_mm zmienia styl na poprzednio wybrany? Lub konkretny np. mój B_1_20? -
KIedyś, myślałem o czymś podobnym. Dla mnie lepiej by było gdyby wskazywać rozstaw, a potem punkt poczatkowy i końcowy. Najlepiej żeby z obiektów była tworzona grupa. Nie lubie szyków, ani nowego (ARRAY w ZWCAD 2021) ani starego (ARRAY CLASSIC), zresztą nie zawsze są dla mnie wystarczające bo czasem musze obiekt przestawić, tj. pojedynczy element nie ma takiego samego rozstawu (rysowanie zbrojenia). Dzisiaj chyba to co chciał osiągnąć autor można robić "nowym" szykiem (polecenie ZWCAD 2021)
-
Odkpoie kolejny temat. Aktualnie konwersje zapewnia sam ZWCAD.
-
Scan2CAD - kilka informacji
zwonko odpowiedział(a) na dmatusz3 temat w Scan2CAD, PDF2CAD, PDF-XChange
Do prostych rzeczy używam darmowego WinTOPO. -
Jestem "noga" jeśli chodzi o macierze ale chyba też tak było w MATHCAD...
- 3 odpowiedzi
-
- smath
- index dolny
-
(i 1 więcej)
Oznaczone tagami:
-
Super sprawa. Dzięki!
-
Dla mnie sprawa z jednostkami w SMATH jest dość "irytująca" (wygodniejsza w MATHCADzie). Obejściem jest zdefiniowanie własnych jednostek. czyli robimy redefinicję jednostek np. cm:cm itp.
-
Formuły tabeli [Wprowadzono w ZWCAD 2021]
zwonko odpowiedział(a) na RKBUD pytanie w Propozycje nowych funkcji
Jest w wersji 2021. -
Docinanie PDF do rozmiaru zadruku
zwonko odpowiedział(a) na metiu pytanie w Propozycje nowych funkcji
to raczej mało możliwe żeby "drukarka PDF" sama docinała wymiar. Takie rzeczy załatwia raczej ghostscript itp. Faktycznie sterowniki drukarek to potrafią ale (chyba) jak dotąd nikt nie wprowadził tej funkcji w CADach więc musi to być wystarczająco trudne. -
Warstwa kreskowania i wymiarowania
zwonko odpowiedział(a) na metiu pytanie w Propozycje nowych funkcji
-
Szyk "na uchwytach" [Wprowadzono w ZWCAD 2021]
zwonko odpowiedział(a) na czarnula_100 pytanie w Propozycje nowych funkcji
W moim ZW2021 opcja jest. Jest array i classicarray. Array jest nowsze i działa za pomocą uchwytów. Wprowadzono całkiem niedawno tą funkcję. -
ctb dopisywane do rysunku ?!
zwonko odpowiedział(a) na czarnula_100 pytanie w Propozycje nowych funkcji
pliki CTB są zapisywane w folderze ze stylami wydruku (pliki użytkownia WIndowsa). To nie wystarcza? Dla każdego pliku masz osobny CTB czy jak? -
Menadżer arkuszy [Wprowadzono w ZWCAD 2023]
zwonko odpowiedział(a) na czarnula_100 pytanie w Propozycje nowych funkcji
A o jaką funkcję dokładnie chodzi. Do arkuszy w ramach jednego pliku polecam lisp tabsort od LeeMac. Dla drukowania funkcje publish. -
prośba o lisp, przesunięcie konkretnego atrybutu i elipsy
zwonko odpowiedział(a) na zwonko temat w ZWCAD Standard i Professional
w sumie to innym podejsciem ale ogarnąłem temat (defun C:corblk (/ doc x att dis rot ) (vl-load-com) (princ "\nMove selected Attributes") (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (cond ((ssget (list (cons 0 "INSERT"))) (setq dis (getdist "\nType in scale: ")) (setq dis (* 3.8 dis)) (vlax-for item (vla-get-ActiveSelectionSet doc) (cond ((= (vla-get-HasAttributes item) :vlax-true) (setq att (variant-value (vla-getattributes item))) (foreach x (safearray-value att) (setq rot (vla-get-rotation x)) (vla-put-insertionpoint x (vlax-3d-point (polar (safearray-value (variant-value (vla-get-insertionpoint x))) rot dis ) ) ) ) (vla-update item)) ((princ "\nNo blocks in drawing")))))) (vla-endundomark doc) (princ) ) -
prośba o lisp, przesunięcie konkretnego atrybutu i elipsy
zwonko odpowiedział(a) na zwonko temat w ZWCAD Standard i Professional
EDIT: znalazłem jeszcze że LeeMac zrobil coś takiego jak Mvatt: http://www.lee-mac.com/attmodsuite.html ale widzę że jest tu problem z rotacją bloków no i jak do tego dopisać przesuwanie elipsy to nie wiem... -
prośba o lisp, przesunięcie konkretnego atrybutu i elipsy
zwonko opublikował(a) temat w ZWCAD Standard i Professional
Wszystko o co mi chodzi wyjaśnione jest w załączniku w DWG. Próbowałem wystartować z lispa udostępnionego tutaj: https://www.theswamp.org/index.php?topic=19881.30 (lisp Moveatt) ale niestety rusza wszystko nie to co trzeba i nie wiem gdzie wskazać konkretny atrybut. CO pewnie też ważne to blok może mieć oczywiście różny obrót, ale podany wyzej lisp sobie z tym radzi. Proszę o pomoc... correct_opis.dwg -
w wersji 2021.03.25(63304)_x64 mam ten sam problem.
-
lisp, generowanie kierunków/grotów strzałek na zadanej polilinii
zwonko odpowiedział(a) na alf temat w ZWCAD Standard i Professional
Jak sugeruje @kojacek myślę, że dobrze żeby blok strzałki był blokiem dynamicznym. Można mu zadać zarówno skalę, jak i widoczność (różne groty) jak i parametr align. Wtedy na ewentualnym łuku ustawiałoby się to ręcznie. Zresztą skalę bloku można zmienić przez select similar/qselect i po prostu we właściwościach bloku ją zmienić. -
LISP dla wszystkich otwartych, LTSCALE
zwonko odpowiedział(a) na zwonko temat w ZWCAD Standard i Professional
Po długich a ciężkich, i Twoim tłumaczeniu @perlon zajarzyłem. Podsumowując zamiast cudzysłowiu trzeba napisać \". Żeby odczytywał to strcat to musi być tak naprawdę "\"". Jeszcze łącząc to np. z vl-cmdf gdzie każdy "wpisany element" musi być w cudzysłowiu, mamy na prawdę sieczkę. Dodam jeszcze co dopisałem, może komuś się przyda. (setq line (strcat "(load \"" "DeleteBlocksV1-0.lsp\"" " nil" ")" " (if " "LM:DeleteBlocks " "(" "LM:DeleteBlocks " "(" "LM:acdoc" ") " "'" "(" "\"blokA\" " "\"blok_B\" " "\"blok C\" " ")))")) (write-line line scriptname) (setq line (strcat "(vl-cmdf" " " "\"-purge\"" " " "\"b\"" " " "\"" "*" "\"" " " "\"" "n" "\"" ")")) (write-line line scriptname) (write-line "_qsave" scriptname) W ten sposób, lisp delete block usuwa z rysunku bloki (ale definicja bloku zostaje). Następnie jeszcze wywołujemy purge żeby rysunek został wyczyszczony z tych bloków (z definicji). Jeszcze raz dziękuję @perlon -
LISP dla wszystkich otwartych, LTSCALE
zwonko odpowiedział(a) na zwonko temat w ZWCAD Standard i Professional
można prosić jeszcze jakieś objaśnienie do pisania tych "write-linów". Strasznie dużo tam apostrofów i slashy. Gubię się w tym (bo nie wiem o co chodzi) a potrzebuje napisać coś w stylu: (load "DeleteBlocksV1-0.lsp" nil) (if LM:DeleteBlocks (LM:DeleteBlocks (LM:acdoc) '("nazwa1" "nazwa2" "nazwa3" "nazwa4" "nazwa5"))) tak żeby skrypt usuwał bloki podpisów. Próbowałem do tego jakoś dojść ale mam problem zwłasz z nawiasami i apostrofami. -
LISP dla wszystkich otwartych, LTSCALE
zwonko odpowiedział(a) na zwonko temat w ZWCAD Standard i Professional
to już robi robotę!! dzięki!! dołożyłem jeszcze parę linijek pod koniec żeby skrypt odpalał się sam: (defun C:LTSALLDWG ( / filename doc scriptname) (setq scriptname (open "d:\\#temp\\tmp\\batch.scr" "w")) (vlax-for doc (vla-get-documents (vlax-get-acad-object)) (progn (setq filename (vla-get-FullName doc)) (write-line (strcat "_open \"" filename "\"") scriptname) (write-line (strcat "(vl-cmdf \"" "setvar\"" " " "\"" "ltscale\"" " " "\"1\"" " " "\"" "\"" ")") scriptname) (write-line (strcat "(vl-cmdf \"" "_.layer\"" " " "\"" "_freeze\"" " " "\"*podpis*,*podpisy*,*RS podpis*\"" " " "\"" "\"" ")") scriptname) (write-line "_qsave" scriptname) ) ) (close scriptname) (command "filedia" "0") (command "new" " ") (command "closeall") (command "script" "d:\\#temp\\tmp\\batch.scr") (command "filedia" "1") (princ) ) W przyszłości musze sobie jeszcze go wyedytować, tak żeby pytał czy chce włączyć czy wyłączyć podpisy, bo niestety czesto tak jest ze trzeba wyplotować z podpisem oraz bez. Czy jest możliwość żeby ustawić że skryp będzie lądować w C:\Users\XXX\AppData\Local\Temp (i odpalać się z tego miejsca)? Znaczy wiem że jest z palca bo sam zmieniłem ścieżkę, ale żeby lisp był bardziej uniwersalny pasuje żeby w miejsce XXX wskakiwał aktualny użytkownik. -
LISP dla wszystkich otwartych, LTSCALE
zwonko odpowiedział(a) na zwonko temat w ZWCAD Standard i Professional
Właśnie tak sobie myślę, że jakby można było zrobić lispa który najpierw generuje listę otwartych plików a potem do niej to stosuje to byłoby super. Coś takiego ma chyba BFInd od LeeMac, ale ja jestem za cienki żeby to przerabiać. -
LISP dla wszystkich otwartych, LTSCALE
zwonko odpowiedział(a) na zwonko temat w ZWCAD Standard i Professional
Dzięki to akurat się przyda. Nie mniej jednak pisałem jeszcze o ustawianiu warstwy, znaczy zamrozeniu (freeze). Tam chyba jednak będę posiłkował się tym co mam, klikając na pierwszy rysunek (lub robiąc crtl+tab). Bo tego będę potrzebował używać do publish, i często rysunki (niestety) są rozsiane po różnych katalogach. -
Próbuje stworzyć lispa który będzie ustawiał zmienną LTSCALE na wszystkich otwartych rysunków. Generalnie bazując na: (defun c:saveall ( / ) (vl-load-com) (vlax-for OpenDwgs (vla-get-documents (vlax-get-acad-object)) (vla-save OpenDwgs) );; vlax-for (princ) ) zmodyfikowałem na proste (dla gripobjlimit) i działa: (defun c:gripobjlimitall ( / ) (vl-load-com) (vlax-for OpenDwgs (vla-get-documents (vlax-get-acad-object)) (vla-setvariable OpenDwgs "gripobjlimit" 100) );; vlax-for (princ) ) Niestety zmiana gripobjlimit na ltscale nie działa. Zmienia tylko ltscale na pierwszym rysunku. Próbowałem też (defun c:ltsallXXX2323SKACZE ( / ) ;; lts all 1 (vlax-for doc (vlax-get (vlax-get-acad-object) 'Documents) (vla-postcommand doc (strcat "setvar " "ltscale " "1 ")) );vlax-for doc (prompt "\nComplete.") (princ) );defun Ten znowu skaczę, tj. trzeba pare razy kliknąć na pierwszy otwarty rysunek (jego zakładkę, tab) lub wciskać ctrl+tab, żeby program przeskoczył przez wszystkie. Próbowałem też inne wariacje typu: (vla-postcommand doc "lts 1 \n") (vla-postcommand doc (strcat "setvar " "ltscale " "1 ")) (vl-cmdf "setvar" "ltscale" "1" "" ) (vla-SendCommand doc (strcat "LTSCALE" " " "1" " ")) (vla-SendCommand doc (strcat " " " " )) Generalnie zrobiłem kilkadziesiąt prób, za każdym razem albo nie działa, albo jest skaczący. Próbowałem też dodawać aktywacje rysunku, czyli "emulować" klikanie na pierwszy, ale też nie pomogło. Ktoś może wie jak to naprawić? Do tego potrzebowałbym lispa który zamraża (freeze) konkretne warstwy (podpis,podpisy,Rpodpisy, itd) na otwartych rysunkach. Myślałem o sendcommand, postcommand, cmdf ale nie udało mi się osiągnąć żeby nie skakały.