Estimado @r.gomezYUM2P
Aqui te alcanzo una rutina Autolisp que he creado para mejorar en algo el flujo de trabajo para lo que requieres.
Adjunto también un video demostrativo de su funcionamiento.
Saludos.
;;;Rutina creada por Calderg1000 V01:09-11-22, para dar respuesta en el for de ACAD en español.
;;;Selecciona objetos polilineas y bloques(rectangulos) y los mueve horizontalmente
;;;desde su punto de insercion hasta su posicion final, definida por otra polilinea seleccionada
;;;---------------------------------------------------------------------------------------------
(defun c:mrp (/ s ph i sn snv p1 p2 pc)
(princ "\nSeleccione Polilineas/Bloques a mover: ")
(setq s (ssget '((0 . "lwpolyline,Insert"))))
(setq ph (car (entsel "\nSeleccione Path: "))
)
(repeat (setq i (sslength s))
(setq sn (ssname s (setq i (1- i)))
snv
(vlax-ename->vla-object sn)
)
(vla-getboundingbox snv 'p1 'p2)
(setq p1 (vlax-safearray->list p1)
p2 (vlax-safearray->list p2)
)
(setq entl
(entmakex (list '(0 . "line")
(cons 10 p1)
(cons 11 (polar p1 0 0.1))
)
)
)
(setq phn (vlax-ename->vla-object ph)
entln (vlax-ename->vla-object entl)
)
(setq pc (vlax-invoke phn 'intersectwith entln 2))
(vla-move snv (vlax-3d-point p1) (vlax-3d-point pc))
(vla-erase entln)
)
)
Carlos Calderon G

>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.