ROTAR VARIOS OBJETOS SOBRE MISMO EJE

ROTAR VARIOS OBJETOS SOBRE MISMO EJE

Grover_Puma
Advisor Advisor
2.551 Vistas
2 Respuestas
Mensaje 1 de 3

ROTAR VARIOS OBJETOS SOBRE MISMO EJE

Grover_Puma
Advisor
Advisor

Muy buenas 

tengo varios elementos, cuadrados, circulos...etc

la idea es poder ROTATE, rotar sobre mismo eje y todos giren sobre su centro, sin tener que rotar y mover del sitio

por ejemplo

Grover_Puma_0-1727102992679.png

esos dos si aplico ROTATE, uno girara y el otro al girar se moverá de su sitio, alguna forma de que ambos roten pero mantengan su centro?

porque rotar uno por uno teniendo miles ? 

gracias

 

 


ACEPTA LA SOLUCION que responde a tu pregunta, esto ayudará a otros a encontrar respuestas de una manera mas sencilla.
Si te gusta esta publicación, dale ME GUSTA.

Saludos!
0 Me gusta
Soluciones aceptadas (1)
2.552 Vistas
2 Respuestas
Respuestas (2)
Mensaje 2 de 3

Valentin_CAD
Mentor
Mentor
Solución aceptada

@Grover_Puma ,

 

Vea si esta aplicación cubre su necesidad:

 

;; RotateAboutCenters.lsp [command name = RAC]
;; To Rotate selected object(s) by a specified angle about each object's
;; center [the middle of its bounding box].
;; Kent Cooper, 23 January 2017

(vl-load-com)
(defun C:RAC ; = Rotate About Center(s)
(/ *error* doc svnames svvals ss ang ent)

(defun *error* (errmsg)
(if (not (wcmatch errmsg "Function cancelled,quit / exit abort,console break"))
(princ (strcat "\nError: " errmsg))
); end if
(mapcar 'setvar svnames svvals)
(vla-endundomark doc)
(princ)
); end defun - *error*

(vla-startundomark (setq doc (vla-get-activedocument (vlax-get-acad-object))))
(prompt "\nTo Rotate object(s) About Center(s),")
(setq
svnames '(osmode blipmode cmdecho)
svvals (mapcar 'getvar svnames)
ss (ssget ":L"); select object(s) to be Rotated
); setq
(if ss ; object(s) selected
(progn ; then
(setq ang (getangle "\nAngle to Rotate each object: "))
(mapcar 'setvar svnames '(0 0 0))
(command "_.undo" "_begin")
(repeat (setq inc (sslength ss))
(setq ent (ssname ss (setq inc (1- inc))))
(vla-getboundingbox (vlax-ename->vla-object ent) 'minpt 'maxpt)
(command "_.rotate" ent ""
(mapcar '/ (mapcar '+ (vlax-safearray->list minpt) (vlax-safearray->list maxpt)) '(2 2 2))
(angtos ang)
); command
); repeat
); progn -- then [outer]
(prompt "\nNothing selected to Rotate."); else
); if [ss exists]
(mapcar 'setvar svnames svvals); reset
(vla-endundomark doc)
(princ)
); defun -- C:RAC

(vl-load-com)
(prompt "\nType RAC to Rotate object(s) About Center(s).")



Select the "Mark as Solution" if my post solves your issue or answers your question.

Seleccione "Marcar como solución" si mi publicación resuelve o responde a su pregunta.


Emilio Valentin

Mensaje 3 de 3

Grover_Puma
Advisor
Advisor

me ha funcionado @Valentin_CAD 

se pueden rotar sobre su mismo eje todo los objetos seleccionados sin estar uno en relación a otro, así se tiene lo esperado.

Arrastre el Lisp al dibujo

Comando RAC

Grover_Puma_1-1727251020221.png

OBJETOS ROTADOS EN SU EJE

Grover_Puma_2-1727251074493.png

giran sobre su centro

Grover_Puma_0-1727252196876.png

 

 

Gracias 

 

Un saludo!


ACEPTA LA SOLUCION que responde a tu pregunta, esto ayudará a otros a encontrar respuestas de una manera mas sencilla.
Si te gusta esta publicación, dale ME GUSTA.

Saludos!