UCS (LUW) obrót układu


perlon

Rekomendowane odpowiedzi

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.

Edytowane przez perlon
Odnośnik do komentarza
Udostępnij na innych stronach

  • 9 miesięcy temu...

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.

Edytowane przez perlon
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

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

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 7 miesięcy temu...

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

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie