justyha Opublikowano 23 Maja 2014 Zgłoś Udostępnij Opublikowano 23 Maja 2014 Witam Czy ktoś z Was wie może jak ustawić wymiarowanie obiektu tak żeby pokazywał daną wartość po dodaniu do wymiaru jakiejś stałej liczby?. Np. linia ma 5.5m natomiast stała wartość to np 132. Chciałabym aby wyświetlało mi finalnie wartość 137.5 (czyli 5.5+132). Da się to jakoś zrobić? Z góry dziękuje Pozdrawiam Justyna Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pawmal Opublikowano 23 Maja 2014 Zgłoś Udostępnij Opublikowano 23 Maja 2014 Witam Po zaznaczeniu wymiaru, na pasku Właściwości, w grupie Tekst, w polu Zmiana tekstu można ręcznie wpisać konkretną wartość. Pozdrawiam Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Martin_S Opublikowano 23 Maja 2014 Zgłoś Udostępnij Opublikowano 23 Maja 2014 (edytowane) Można nawet wpisac formułe 132+5.5=137.5 (cokolwiek) np. rozstaw strzemion: 8x150=<> a wyświetli wtedy 8x150=1200 , wpis <> podaje dokładną wartość wymiaru Edytowane 23 Maja 2014 przez Martin_S Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
justyha Opublikowano 23 Maja 2014 Autor Zgłoś Udostępnij Opublikowano 23 Maja 2014 Nie chodzi mi o nadpisanie wymiaru. Bardziej o narzędzie do wymiarowania, że każdy wymiar będzie mi powiększał/pomniejszał o wartość stałą jaką wybiorę i interesuje mnie tylko wynik. Czyli mierzę linię która ma 5,5m, a wyświetla mi 137.5m (przy narzuconej wcześniej wartości stałej 132). Przy stylach wymiarowania w ZWC mogę sobie pomnożyć lub podzielić o jakiś współczynnik. A mi potrzebny jest taki styl wymiaru albo coś który powiększy/pomniejszy wymiar o jakąś stałą wartość) Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
perlon Opublikowano 23 Maja 2014 Zgłoś Udostępnij Opublikowano 23 Maja 2014 Obawiam się, że chodzi o to żeby wymiar zmieniał się dynamicznie i aktualizował się np przy zmianie. Zdaje się, że wtdy potrzebny będzie reaktor obsługujący obiekt typu "wymiar" i podpięta pod niego funkcja np. w lispie która na bieżąco wyliczy sumę jakiejś wartości i rzeczywistego wymiaru. Generalnie chyba nie takie proste, a i ZwCAD chyba reaktorów na wymiarach nie obsługuje ( tego nie jestem pewien, nie sprawdzałem ) Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pawmal Opublikowano 23 Maja 2014 Zgłoś Udostępnij Opublikowano 23 Maja 2014 Nie chodzi mi o nadpisanie wymiaru. Bardziej o narzędzie do wymiarowania, że każdy wymiar będzie mi powiększał/pomniejszał o wartość stałą jaką wybiorę i interesuje mnie tylko wynik. Czyli mierzę linię która ma 5,5m, a wyświetla mi 137.5m (przy narzuconej wcześniej wartości stałej 132). Przy stylach wymiarowania w ZWC mogę sobie pomnożyć lub podzielić o jakiś współczynnik. A mi potrzebny jest taki styl wymiaru albo coś który powiększy/pomniejszy wymiar o jakąś stałą wartość) Witam Obawiam się, że ustawienie tego z automatu nie będzie możliwe. Rysunki tworzymy zazwyczaj w 1:1 lub w skali. W przypadku tworzenia rysunków w konkretnej skali, w razie potrzeby można wtedy przemnożyć wartości wymiarów. Pozdrawiam Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kojacek Opublikowano 23 Maja 2014 Zgłoś Udostępnij Opublikowano 23 Maja 2014 Witam Obawiam się, że ustawienie tego z automatu nie będzie możliwe. Rysunki tworzymy zazwyczaj w 1:1 lub w skali. W przypadku tworzenia rysunków w konkretnej skali, w razie potrzeby można wtedy przemnożyć wartości wymiarów. Pozdrawiam Jeśli ZwCAD obsługuje obiekty typu FIELD, jest to jak najbardziej możliwe. W AutoCAD zrobiłem to tak: Utworzyłem obiekt tekstowy typu field, z przypisaną formułą typu 100 + <wartość wskazanego wymiaru>. Następnie, edytując ten wymiar, zamiast <> wprowadzam field z wartością tego tekstu. W efekcie wartość pokazywana przez wymiar pokazuje owe 100 + jego długość. Oczywiście edycja wymiaru uchwytami (rozciągnięcie) i regeneracja, nadążają za zmianami. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pawmal Opublikowano 26 Maja 2014 Zgłoś Udostępnij Opublikowano 26 Maja 2014 Witam ZWCAD obsługuje obiekty FIELD, ale do przedstawionego sposobu byłaby potrzebna jeszcze obsługa formuł. Jeśli dobrze zrozumiałem post @justyha, to chodzi o proste narzędzie, w którym można zdefiniować jakąś wartość, która ma być za każdym razem dodawana do tworzonego wymiaru. Pozdrawiam Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
justyha Opublikowano 26 Maja 2014 Autor Zgłoś Udostępnij Opublikowano 26 Maja 2014 dokładnie tak @pawmal :) Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kojacek Opublikowano 26 Maja 2014 Zgłoś Udostępnij Opublikowano 26 Maja 2014 Witam ZWCAD obsługuje obiekty FIELD, ale do przedstawionego sposobu byłaby potrzebna jeszcze obsługa formuł. Jeśli dobrze zrozumiałem post @justyha, to chodzi o proste narzędzie, w którym można zdefiniować jakąś wartość, która ma być za każdym razem dodawana do tworzonego wymiaru. Pozdrawiam Jeśli dobrze zrozumiałem ZwCAD obsługuje FIELD-y ale (jednocześnie) nie obsługuje formuł? Jeśli zaś obsługuje, to proste narzędzie można przecież wykrzesać lisp-em, nieszczególnie skomplikowanym. Rozwiązanie które proponuję, właśnie dodaje dowolną wartość do (rzeczywistego) tekstu wymiarowego, w sposób dynamiczny (rozciągnięcie wymiaru nadąża za zmianami). Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
justyha Opublikowano 26 Maja 2014 Autor Zgłoś Udostępnij Opublikowano 26 Maja 2014 Jeżeli mogę troszkę skomplikować sprawę to pomocna by była taka opcja aby ten rzeczywisty wymiar móc przeskalować dodatkowo. Po mojemu to by wyglądało mniej więcej tak: 1. Wybieram polecenie X 2. Wybieram współczynnik do przeskalowania np. 0.01 3. Wybieram wartość stałą np.130 Czyli wychodzi tak: Odmierzony wymiar rzeczywisty mam np 660, zeskalowany ( *0.01) wychodzi w domyśle 6.6, a wyświetla mi 136.6. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Martin_S Opublikowano 26 Maja 2014 Zgłoś Udostępnij Opublikowano 26 Maja 2014 (edytowane) @justyha ... Do jakiego i czego jest potrzeba taka specyficzna, niestandardowa metoda ... może coś innego by dało radę wymysleć by to "obejść", ale nie wiem do czego ta idea ma służyć, proszę o przykłady , jeśli można. Bo to nie jest standardowe kreslenie CAD 1:1 i lokalne skalowania (np. 1:50 1:20 w rzutniach na obszarze papieru). Edytowane 26 Maja 2014 przez Martin_S Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
justyha Opublikowano 26 Maja 2014 Autor Zgłoś Udostępnij Opublikowano 26 Maja 2014 Prosta sprawa ta funkcja przydałaby mi się do sprawdzania profili sieci zewnętrznych. Jak się rozgrzebuje zaczętą wcześniej pracę lub kończy po kimś. Szybkie przelecenie rzędnych bez dodawania pojedynczo każdego wymiaru do rzędnej odniesienia eliminuje też ryzyko błędu. Tak opcja przyśpieszyłaby znacznie pracę. Jeżeli ktoś ma jakiś myk ciekawy na to, byłoby fajnie jakby się podzielił ;) Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
KBR Opublikowano 26 Maja 2014 Zgłoś Udostępnij Opublikowano 26 Maja 2014 Taka opcja byłaby przydatna do wymiarowania profili.Ja sobie radzę w ten sposób, że zaczepiam wymiar odpowiednio niżej (baza) i jakoś działa, ale nie jest to zbyt wygodne. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kojacek Opublikowano 27 Maja 2014 Zgłoś Udostępnij Opublikowano 27 Maja 2014 Pobadajcie takiego lispa. Działa w ten sposób: Jeśli nie ma zdefiniowanej zmiennej globalnej *XDIMDATA*, prosi o podanie stałej (dodawanej do wymiaru) oraz współczynnika skalowania długości (tutaj można dać ENTER (wtedy bez współczynnika). Potem należy wskazać pierwszy punkt wymiaru, potem drugi. W konsekwencji malowany jest wymiar z nadpisanym tekstem wymiarowym o wartości WYMIAR x WSPÓŁCZYNNIK + STAŁA. Po załadowaniu lisp-a, polecenie XDIM ; ------------------------------------------------------------------------------------------- ; ; by kojacek 2014 ; ------------------------------------------------------------------------------------------- ; (defun C:XDIM (/ pt Cmd v1 v2 e el d n nd) (if (not *XDIMDATA*) (progn (initget (+ 1 2 4)) (setq v1 (getreal "\nPodaj stałą wymiaru: ") v2 (getreal "\nPodaj współczynnik (lub ENTER): ") ) (setq *XDIMDATA* (list v1 v2)) ) ) (if (setq pt (getpoint "\nOkreśl początek pierwszej pomocniczej linii wymiarowej: ") ) (progn (setq Cmd (getvar "CmdEcho") e (entlast) ) (setvar "CmdEcho" 0) (command "_.DimLinear" pt) (command "'_.SetVar" "CmdEcho" Cmd) (while (= 1 (logand (getvar "CmdActive") 1)) (command "\\") ) (if (eq (setq el (entlast)) e) (princ "\nAnulowano. ") (progn (setq d (entget el) n (cdr (assoc 42 d)) n (* (if (not (cadr *XDIMDATA*)) 1 (cadr *XDIMDATA*)) n) n (+ (car *XDIMDATA*) n) nd (subst (cons 1 (rtos n))(assoc 1 d) d) ) (entmod nd) ) ) ) (princ "\nAnulowano. ") ) (princ) ) Sprawdźcie czy działa... Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
justyha Opublikowano 27 Maja 2014 Autor Zgłoś Udostępnij Opublikowano 27 Maja 2014 (edytowane) hehe :D działa! - jak się wybiera pierwszy i drugi punkt to pisze >Invalid point input< ale działa poprawnie - dało by się jeszcze ustawić żeby wyświetlało tylko 2 zaokrąglone miejsca po przecinku? Edytowane 27 Maja 2014 przez justyha Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kojacek Opublikowano 27 Maja 2014 Zgłoś Udostępnij Opublikowano 27 Maja 2014 Zmień kod na poniższy i sprawdź teraz: ; ------------------------------------------------------------------------------------------- ; ; by kojacek 2014 ; ------------------------------------------------------------------------------------------- ; (defun C:XDIM (/ pt Cmd v1 v2 e el d n nd) (if (not *XDIMDATA*) (progn (initget (+ 1 2 4)) (setq v1 (getreal "\nPodaj stałą wymiaru: ") v2 (getreal "\nPodaj współczynnik (lub ENTER): ") ) (setq *XDIMDATA* (list v1 v2)) ) ) (if (setq pt (getpoint "\nOkreśl początek pierwszej pomocniczej linii wymiarowej: ") ) (progn (setq Cmd (getvar "CmdEcho") e (entlast) ) (setvar "CmdEcho" 0) (command "_.DimLinear" pt) (setvar "CmdEcho" Cmd) ; (command "'_.SetVar" "CmdEcho" Cmd) (while (= 1 (logand (getvar "CmdActive") 1)) (command "\\") ) (if (eq (setq el (entlast)) e) (princ "\nAnulowano. ") (progn (setq d (entget el) n (cdr (assoc 42 d)) n (* (if (not (cadr *XDIMDATA*)) 1 (cadr *XDIMDATA*)) n) n (+ (car *XDIMDATA*) n) nd (subst (cons 1 (rtos n 2 2))(assoc 1 d) d) ) (entmod nd) ) ) ) (princ "\nAnulowano. ") ) (princ) ) Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pawmal Opublikowano 27 Maja 2014 Zgłoś Udostępnij Opublikowano 27 Maja 2014 Witam Potwierdzam, u mnie działa bardzo dobrze według założeń. Pozdrawiam Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
justyha Opublikowano 27 Maja 2014 Autor Zgłoś Udostępnij Opublikowano 27 Maja 2014 (edytowane) Również potwierdzam działa elegancko :good: Bardzo dziękuje! Pozdrawiam PS: Dodatkowo fajnie, że jest sprzężone ze stylami wymiarów, więc można sobie dowolnie modyfikować pod względem wizualnym, ale najlepiej stworzyć oddzielny styl dla tego narzędzia, bo można przeskalować sobie coś podwójnie niechcący ;) Edytowane 27 Maja 2014 przez justyha Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
KBR Opublikowano 29 Maja 2014 Zgłoś Udostępnij Opublikowano 29 Maja 2014 Procedura działa nieźle. Ja zrobiłem dwa warianty żeby można było wstawić od nowa stałe. Pewnym mankamentem jednak jest to , że wymiar nie jest dynamiczny i przy zmianach trzeba wymiarować od nowa, gorzej jak się zapomni. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
justyha Opublikowano 29 Maja 2014 Autor Zgłoś Udostępnij Opublikowano 29 Maja 2014 (edytowane) @KBR możesz rozwinąć jak dokładniej działają u Ciebie te dwa warianty? Zastanawiam się też jak można zmienić stałą lub współczynnik podczas gdy narzędzie jest już załadowane? Czy da się jakoś zresetować to narzędzie? Edytowane 29 Maja 2014 przez justyha Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kojacek Opublikowano 29 Maja 2014 Zgłoś Udostępnij Opublikowano 29 Maja 2014 (edytowane) Zastanawiam się też jak można zmienić stałą lub współczynnik podczas gdy narzędzie jest już załadowane? Czy da się jakoś zresetować to narzędzie? Tak. Wystarczy w linii poleceń wpisać: (setq *XDIMDATA* nil) Ponowne wywołanie polecenia XDIM, odpyta o nowe dane. Oczywiście nowe ustawienia zadziałają tylko dla nowych wymiarów, Można pomysleć o jakimś reaktorze, dla takich wymiarów (aby nadać im dynamiki), ale chyba narzędzie jest zbyt niszowe, by się w to bawić (?) Edyta: Inna opcja to "przywiązanie" danych (współczynnika i stałej) do wymiaru. Taki zabieg pozwoliłby sprawdzić wartości i nawet je modyfikować. Edytowane 29 Maja 2014 przez kojacek Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
KBR Opublikowano 29 Maja 2014 Zgłoś Udostępnij Opublikowano 29 Maja 2014 Ja zrobiłem wariant z którego usunąłem if i za każdy razem pyta o wartości i nazwałem XDIM1. Narzędzie nie jest takie całkiem niszowe bo bardzo przydatne do rysowania profili (np w hydrotechnice profili cieku, wałów ale i przekroje poprzeczne, podobnie dla dróg) rzędne można podawać w formie wymiaru. Ja czasem tak robię wtedy początek wymiarów ustawiam w przyjętym "0" bezwzględny dla układu, a nie w poziomie porównawczym. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kojacek Opublikowano 29 Maja 2014 Zgłoś Udostępnij Opublikowano 29 Maja 2014 Ja zrobiłem wariant z którego usunąłem if i za każdy razem pyta o wartości i nazwałem XDIM1. Narzędzie nie jest takie całkiem niszowe bo bardzo przydatne do rysowania profili (np w hydrotechnice profili cieku, wałów ale i przekroje poprzeczne, podobnie dla dróg) rzędne można podawać w formie wymiaru. Ja czasem tak robię wtedy początek wymiarów ustawiam w przyjętym "0" bezwzględny dla układu, a nie w poziomie porównawczym. Nie ma potrzeby tworzenia wariantu polegającego na usuwaniu czekokolwiek. Wystarczy zdefiniować nowe polecenie np. XDIM2, w taki sposób: (defun C:XDIM2 ()(setq *XDIMDATA* nil)(C:XDIM)(princ)) Zaletą takiego rozwiązania jest wykorzystywanie wcześniej zdefiniowanej funkcji (polecenia) C:XDIM, bez niepotrzebnego kopiowania (w efekcie dublowania) kodu. Wbrew pozorom (rzekomej nieszkodliwości) ma to głęboki sens, w utrzymaniu spójności i "czystości" rozwiązań. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kojacek Opublikowano 30 Maja 2014 Zgłoś Udostępnij Opublikowano 30 Maja 2014 (edytowane) A co powiecie na coś takiego? Rysując wymiar skażony dane (stała i współczynnik) przypisane są do wymiaru. Pozwala to mieć w rysunku różne wymiary z różnymi danymi. I teraz, takie polecenie -XDIM, ma następujące opcje: Rysuj - rysuje wymiar zmieniając tekst (tak jak wcześniejsze XDIM)Uzgodnij - przypisuje dowolnie wskazanym wymiarom ustawienia (stała i współczynnik) z wymiaru źródłowego.Aktualizuj - po rozciągnięciu wymiaru skażonego, pozwala go zaktualizować.Przywróć - usuwa "skażenie" - przywraca wymiar o długości normalnejUstawienia - ustawienia współczynnika i skali Idziemy w tym kierunku? Edytowane 30 Maja 2014 przez kojacek Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.