Recommended Posts

Posted (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 by perlon
Posted

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

  • 9 months later...
Posted

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.

Posted (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 by perlon
Posted

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....

  • 2 weeks later...
Posted

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).

ucsz.gif

 

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 "" )
)

 

Posted (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 by Martin_S
  • 7 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...