Aplicaciones para MOVER+ROTAR y COPIAR+ROTAR múltiple

Dudas y consultas sobre CAD. AutoCAD, Microstation y resto de aplicaciones CAD

Moderador: Moderadores

Responder
Afga
Jefe
Mensajes: 886
Registrado: Lun Sep 04, 2006 4:10 pm
Contactar:

Aplicaciones para MOVER+ROTAR y COPIAR+ROTAR múltiple

Mensaje por Afga »

Wenas a todos,

Os dejo un par de aplicaciones muy sencillitas, pero a la vez muy útiles en ciertas ocasiones cuando estamos trabajando con AutoCAD, las cuales ejecutan dos ordenes en una y además de modo múltiple, como son las ordenas "desplazar y girar" y las ordenes "copiar y girar".

Función para desplazar+rotar múltiple;
Comando que la ejecuta -> MYG (MG en método abreviado).

;; ///////////////////////////////////////////////////////////////////////////////////////

(defun err_myg (msg)
  
     (
if msg
       (princ (strcat " Error - " msg))
     )
      (
setq *error* mygerr mygerr nil)
      (
princ)
      (
princ "\n\n* Teclee MYG o ENTER para volver a ejecutar el comando *")

)
 ;_end defun errcsup

;; ///////////////////////////////////////////////////////////////////////////////////////



(defun c:myg (/ pt1 pt2 sset mygerr)

  (
setq mygerr *error* *error* err_myg)
  (
command "_undo" "_begin")
  (
prompt "Seleccione entidades a mover y rotar")(terpri)

  (
while
  (setq sset (ssget))
  (
setq pt1 (getpoint "\nDesigne el primer PUNTO:"))
  
  (
command "_move" sset "" pt1 pause)
  
  (
setq pt2 (getvar "LASTPOINT"))
  (
command "_rotate" sset "" pt2 pause)
  )
;_end while

  (command "_undo" "_end")
  
  (
princ "\n\n* Teclee MYG o ENTER para volver a ejecutar el comando *")                 
  (
princ)
  
)
;_end defun c:myg

(princ "\n\n* Nuevo comando \"MYG\" cargado - Designed by J.S.R./santos_jsr@hotmail.com *")
(
princ)

;; //////////////////////////////////////////////////////////////////////////////////

(defun c:MG ()
   (
c:myg)
)



Función para copiar+rotar múltiple;
Comando que la ejecuita -> CYG (CG en método abreviado).

;; ///////////////////////////////////////////////////////////////////////////////////////

(defun err_cyg (msg)
  
     (
if msg
       (princ (strcat " Error - " msg))
     )
      (
setq *error* cygerr cygerr nil)
      (
princ)
      (
princ "\n\n* Teclee CYG o ENTER para volver a ejecutar el comando *")

)
 ;_end defun errcsup

;; ///////////////////////////////////////////////////////////////


(defun c:cyg (/ pt1 sset sset2 ptend copy_ent cygerr)

  (
setq cygerr *error* *error* err_cyg)
  (
while

  (princ "\nSeleccione entidades a copiar y rotar")(terpri)
  (
setq sset (ssget))
  (
if (/= sset nil) (setq pt1 (getpoint "\nDesigne el primer PUNTO:")) (progn (err_cyg) (exit)))

  (
command "_-block" "CYG" pt1 sset ""
  (
command "_-insert" "CYG" pt1 "" "" "0"

  (
setq sset2 (ssget "X" (list (cons 0 "INSERT") (cons 2 "CYG"))))
  ;;(command "_undo" "_begin")

  (while

  (setq ptend (getpoint "\nDesigne el PUNTO donde copiar objetos:" pt1 )) 
  (
command "_copy" sset2 "" pt1 ptend
  ;;(setq pt2 (getvar "LASTPOINT"))
  (setq copy_ent (cdr (assoc -1 (entget (entlast)))))
  (
command "_rotate" copy_ent "" ptend pause)
  (
command "_explode" copy_ent)
  (
command "_-purge" "_blocks" "*" "_n")
  
  )
;_end while

  ;;(command "_undo" "end")

  (command "_explode" sset2)
  (
command "_-purge" "_blocks" "*" "_n")
 
  )
;_end while

  (princ "\n\n* Teclee CYG o ENTER para volver a ejecutar el comando *")                 
  (
princ)
)
;_end defun c:cyg

(princ "\n\n* Nuevo comando \"CYG\" cargado - Designed by J.S.R./santos_jsr@hotmail.com *")
(
princ)

;; //////////////////////////////////////////////////////////////////////////////////

(defun c:CG ()
   (
c:cyg)
)


Un saludo a todos.

Plannerly ™ La plataforma de gestión BIM ™ SmartLeanBIM® © 2021
Plantillas para crear el Plan de Ejecución BIM (BEP). Cumplimiento de la norma ISO-19650
Plan gratuito en el que puedes acceder a todas las plantillas y si al comprarlo introduces el código DELINEACION obtendrás un 10% de descuento
Avatar de Usuario
Faber
Administrador
Administrador
Mensajes: 3067
Registrado: Mié Nov 09, 2005 12:10 am
Ubicación: Irlanda
Contactar:

Mensaje por Faber »

Gracias, tienen muy buena pinta y me serán muy útiles
si algo puede salir bien, saldrá bien
Avatar de Usuario
ICON
Calcador
Mensajes: 37
Registrado: Jue Feb 01, 2007 7:25 pm
Contactar:

Mensaje por ICON »

hola,
¿son como la orden "mocoro"?
gracias
Afga
Jefe
Mensajes: 886
Registrado: Lun Sep 04, 2006 4:10 pm
Contactar:

Mensaje por Afga »

Wenas ICON,

En realidad, como bien dices, son similares, pero no iguales a la orden "mocoro" de las Express de AutoCAD. Estas considero qu al ser unas ordenes más especificas, son más rápidas. La orden mocoro una vez desigandos los objetos debes indicarle la operación a relaizar, si girar, desplazar, etc,,. además estas permiten su uso de modo múltiple.

Espero sean de ayuda a todos, un saludo
Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 12 invitados