perlon Posted February 14, 2017 Report Share Posted February 14, 2017 (edited) O UCS(LUW) było już w kontekście dopasowania do obiektu. Mi nie zgadza się obracanie układu. Command: UCS Currently in World UCS. Enter an option [?/Face/3point/Delete/OBject/Origin/Previous/Restore/Save/View/X/Y/Z/ZAxis/World] <World>: z Enter angle of rotation about Z axis <90>: W tym momencie punkt obrotu automatycznie jest w 0,0 i program pyta o drugi punkt kierunkowy. Powinien zapytać o kąt poprzez wskazanie dwóch punktów a nie przyjmować pierwszy domyślnie. W takim wariancie nie pozostaje mi nic innego jak najpierw narysować linię a następnie zrobić UCS to Object. Wolałbym jednak po staremu czyli prze dwa punkty. Edited February 14, 2017 by perlon Quote Link to comment Share on other sites More sharing options...
dmatusz3 Posted February 15, 2017 Report Share Posted February 15, 2017 Faktycznie tak jest. W 2015 trzeba wskazać 2 punkty, tutaj można tylko jeden punkt. Przekażę zaraz informacje. Quote Link to comment Share on other sites More sharing options...
2P Posted February 20, 2017 Report Share Posted February 20, 2017 To bardzo irytujący błąd. Szczególnie jak chce się ustawić oś X równolegle do jakiejś linii istniejącej w rysunku a nie przechodzącej przez punkt 0,0 :( Pozdr Quote Link to comment Share on other sites More sharing options...
perlon Posted November 27, 2017 Author Report Share Posted November 27, 2017 vernum = "2017.10.09(22328)_x64_S" (read only) W dalszym ciągu przy obrocie _ucs -> Z jest przyjmowany domyślny punkt obrotu 0,0. powinien pytać o punkt obrotu i drugi punkt wektora osi X. Od lutego bug nie usunięty. Quote Link to comment Share on other sites More sharing options...
pawmal Posted November 27, 2017 Report Share Posted November 27, 2017 Czy chodzi o obrót LUW w modelu? Z tego co pamiętam, to przy obrocie względem osi Z, domyślny punkt był właśnie 0,0. Quote Link to comment Share on other sites More sharing options...
perlon Posted November 27, 2017 Author Report Share Posted November 27, 2017 (edited) Tak dokładnie. W 2015 jest tak: Command: _UCS Currently in World UCS. Specify origin of UCS or [?/Face/3point/Delete/OBject/Origin/Previous/Restore/Save/View/X/Y/Z/ZAxis/World] <World>: Z Enter angle of rotation about Z axis <90>: W tym momencie można podać z łapy kąt lub wskazać punkt początkowy wektora osi X a następnie punkt końcowy tego wektora W 2018 Command: _UCS Currently in World UCS. Specify origin of UCS or [?/Face/3point/Delete/OBject/Origin/Previous/Restore/Save/View/X/Y/Z/ZAxis/World] <World>: Z Enter angle of rotation about Z axis <90>: Ale w tym momencie punkt bazowy wektora jest już wskazany i możemy podać z łapy kąt albo drugi punkt wektora osi X. Edited November 27, 2017 by perlon Quote Link to comment Share on other sites More sharing options...
2P Posted November 27, 2017 Report Share Posted November 27, 2017 Wskazany przez przedmówcę sposób działania wersji 2015 dotyczy wszystkich wcześniejszych wersji zwcada z jakimi miałem doczynienia (od 2006). Zmieniło się to dopiero w wersji 2017 i jest bardzo uciążliwe.... Quote Link to comment Share on other sites More sharing options...
Adam Klaczek Posted November 28, 2017 Report Share Posted November 28, 2017 Dzień dobry, Obejściem może być wybranie, zamiast opcji Z - opcji 3 (3punkty). Pozdrawiam perlon and pawmal 1 1 Quote Link to comment Share on other sites More sharing options...
perlon Posted December 11, 2017 Author Report Share Posted December 11, 2017 Faktycznie 3P działa. Nie zmienia to faktu, że w SP1 babola nie poprawili. Quote Link to comment Share on other sites More sharing options...
dmatusz3 Posted December 13, 2017 Report Share Posted December 13, 2017 Stworzyliśmy małego LISPa, który może nieco ułatwi obrót UCS. Po jego załadowaniu będzie dostępne polecenie ucsz (niemniej można go sobie zmienić wedle uznania). Skrypt LISP do pobrania UCS_Rotate.lsp i kod źródłowy. ;;; ;;;www.zwcad.pl | Skrypt do obrotu układu UCS o wskazany kąt. ;;; (defun ZWCAD:Getpoint (tresc P0 domyslny / SelPt Wynik ) ;(ZWCAD:Getpoint tresc P0 domyslny ) (setq tresc (strcat "\n" tresc ": ")) (if (not(null P0)) (setq SelPt(vl-catch-all-apply 'getpoint (list P0 tresc ))) (setq SelPt(vl-catch-all-apply 'getpoint (list tresc ))) ) (if (vl-catch-all-error-p SelPt) (progn (prompt (vl-catch-all-error-message SelPt)) (setq Wynik nil ) ) (progn (if (null SelPt) (setq Wynik domyslny ) (setq Wynik SelPt) ) ) ) Wynik ) (defun r2d (rads / )(/(* 180 rads)pi)) (defun C:UCSZ ( / *error* p1 p2 ang) (defun *error* ( msg / ) (if (not (null msg ) ) (progn (princ "\nC:UCS_Rotate:*error*: " ) (princ msg ) (princ "\n") ) ) ) (setq p1 (ZWCAD:Getpoint "Wskaż pierwszy punkt odniesienia" nil nil ) ) ( if ( not (null p1 ) ) (progn (setq p2 (ZWCAD:Getpoint "Wskaż drugi punkt odniesienia" p1 nil ) ) ( if ( not (null p2 ) ) (progn (setq ang (angle p1 p2 ) ) (command "_UCS" "_Z" (rtos (r2d ang ) ) ) )) )) (princ "" ) ) Quote Link to comment Share on other sites More sharing options...
Martin_S Posted December 13, 2017 Report Share Posted December 13, 2017 (edited) Fajny lisp w sposobie działania podobny do _ucs wg OBject (ustawianie ucs wzgl. objektu np. polilinii, używam ...ten lisp jest sporo szybszy Edited December 13, 2017 by Martin_S Quote Link to comment Share on other sites More sharing options...
perlon Posted July 25, 2018 Author Report Share Posted July 25, 2018 Wygląda, że w 2019 to poprawili i jest jak powinno być. Quote Link to comment Share on other sites More sharing options...
dmatusz3 Posted July 25, 2018 Report Share Posted July 25, 2018 Wydaje mi się, że zostało to poprawione w 2018 SP2. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.