Orden para girar el espacio papel
Moderador: Moderadores
Orden para girar el espacio papel
Buenas, queria plantear una pregunta.
Una vez vi alguien que dandole una orden al cad, cambiaba el SCP y la vista a la vez.
Por ejemplo: tecleaba 90, o -90 y entonces el espacio modelo giraba totalmente 90º en el sentido que fuese, asñi podias trabajar poniendo secciones alçados y demás sin tocar la planta de sitio.
Alguien sabe como se podría montar esa orden?
Lo que yo conozco es esta secuencia de comandos:
"SCP" "Nuevo" "z" "angulo que quieres girar el SCP" y luego al terminar la orden SCP doy otro comando "Panta" para poner la vista en referencia al SCP.
No se como se haría para que directamente escribiendo un numero funcionase, alguna idea? Me iria de coña para trabajar
Una vez vi alguien que dandole una orden al cad, cambiaba el SCP y la vista a la vez.
Por ejemplo: tecleaba 90, o -90 y entonces el espacio modelo giraba totalmente 90º en el sentido que fuese, asñi podias trabajar poniendo secciones alçados y demás sin tocar la planta de sitio.
Alguien sabe como se podría montar esa orden?
Lo que yo conozco es esta secuencia de comandos:
"SCP" "Nuevo" "z" "angulo que quieres girar el SCP" y luego al terminar la orden SCP doy otro comando "Panta" para poner la vista en referencia al SCP.
No se como se haría para que directamente escribiendo un numero funcionase, alguna idea? Me iria de coña para trabajar
[img]http://i60.photobucket.com/albums/h21/Tronius/Firmas/delineante.jpg[/img]
[img]http://i60.photobucket.com/albums/h21/Tronius/Firmas/videogamesfan.jpg[/img]
[img]http://i60.photobucket.com/albums/h21/Tronius/Firmas/videogamesfan.jpg[/img]
Wenas Tronius,
Te dejo un enlace donde ya se habló sobre ese tema en este mismo foro, espero que sea lo que buscas:
http://www.delineacion.org/phpBB2/viewtopic.php?t=175
De todas formas con un Lisp se podría automatizar dicho proceso de tal modo que diciendo el ángulo que se quiere girar el espacio modelo, se ejecutaran los pasos dados en la línea de comandos.
Un saludo
Te dejo un enlace donde ya se habló sobre ese tema en este mismo foro, espero que sea lo que buscas:
http://www.delineacion.org/phpBB2/viewtopic.php?t=175
De todas formas con un Lisp se podría automatizar dicho proceso de tal modo que diciendo el ángulo que se quiere girar el espacio modelo, se ejecutaran los pasos dados en la línea de comandos.
Un saludo
Última edición por Afga el Mié Jun 27, 2007 7:07 pm, editado 1 vez en total.
Por otro lado Tronius, prueba con esta rutina Lisp, que encontré y tenia por ahí deperdigada en el ordenador a ver si te sirve. Se ejecuta con la orden UCSP, permite girar el espacio modelo y/o papel mediante la selección de 3 puntos, o si se conoce el ángulo, mediante la designación del mismo.
;; ///////////////////////////////////////////////////////////////////////////////////////
(defun err_ucsp (msg)
(if msg
(princ (strcat " Error - " msg))
)
(setq *error* ucsperr ucsperr nil)
(end_values)
(princ)
(princ "\n\n* Teclee UCSP o ENTER para volver a ejecutar el comando *")
) ;_end defun err_ucsp
;;/////////////////////////////////////////////////////////////////////////
(defun inic_values ()
(setq ucsperr *error* *error* err_ucsp)
(command "_undo" "_begin")
(setq menueco (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq refenti (getvar "osmode"))
(setvar "osmode" 0)
(command "_ucs" "u")
) ;;end defun inic_values
;;///////////////////////////////////////////////////////////////////////
(defun end_values ()
(command "_ucs" "u")
(setvar "cmdecho" menueco)
(setvar "osmode" refenti)
(command "_undo" "_end")
) ;;end defun end_values
;;////////////////////////////////////////////////////////////////////////
(defun select_ejs ()
(setvar "osmode" 673)
(setq org_coord (getpoint "\nIndique nuevo ORIGEN de Coordenadas:" ))
(setq xej (getpoint "\nIndique nuevo SENTIDO del eje X:" org_coord))
(setq yej (getpoint "\nIndique nuevo SENTIDO del eje Y:" org_coord))
(setvar "osmode" 0)
(command "_ucs" "_3" org_coord xej yej)
(command "_plan" "_c")
) ;;end defun select_ejs
;;////////////////////////////////////////////////////////////////////////
(defun z_ejs ()
(or HAng (setq HAng 90))
(initget 6)
(if (setq Hang$ (getreal (strcat "\nIndique ÁNGULO de giro del nuevo SCP respecto al eje Z: <" (rtos Hang 2 2) ">: ")))
(setq HAng Hang$)) ;end if
(command "_ucs" "_z" (- 360 Hang))
(command "_plan" "_c")
;Htht
) ;;end defun z_ejs
;;////////////////////////////////////////////////////////////////////////
;; FUNCION PRINCIPAL - ///////////////////////////////////////////////////
(defun c:ucsp (/ ucs_opt sel_opt ucsperr menueco refenti org_coord xej yej HAng Hang$)
(inic_values)
(if (= ucs_opt nil) (setq ucs_opt "E") (setq ucs_opt ucs_opt))
(initget "A E")
(setq sel_opt (getkword (strcat "\nIndique el MODO de selección de la vista actual; [(A)ngulo/(E)jes]; <" ucs_opt ">: ")))
(if (or (= sel_opt nil) (= sel_opt "")) (setq ucs_opt ucs_opt) (setq ucs_opt sel_opt))
(if (= sel_opt "A") (z_ejs))
(if (or (= sel_opt nil) (= sel_opt "E")) (select_ejs))
(end_values)
(princ "\n\n* Teclee UCSP o ENTER para volver a ejecutar el comando *")
(princ)
);_end defun c:ucsp
(princ "\n\n* Nuevo comando \"UCSP\" cargado - Designed by J.S.R./santos_jsr@hotmail.com *")
(princ)
;; //////////////////////////////////////////////////////////////////////////////////
Un saludo a todos...
;; ///////////////////////////////////////////////////////////////////////////////////////
(defun err_ucsp (msg)
(if msg
(princ (strcat " Error - " msg))
)
(setq *error* ucsperr ucsperr nil)
(end_values)
(princ)
(princ "\n\n* Teclee UCSP o ENTER para volver a ejecutar el comando *")
) ;_end defun err_ucsp
;;/////////////////////////////////////////////////////////////////////////
(defun inic_values ()
(setq ucsperr *error* *error* err_ucsp)
(command "_undo" "_begin")
(setq menueco (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq refenti (getvar "osmode"))
(setvar "osmode" 0)
(command "_ucs" "u")
) ;;end defun inic_values
;;///////////////////////////////////////////////////////////////////////
(defun end_values ()
(command "_ucs" "u")
(setvar "cmdecho" menueco)
(setvar "osmode" refenti)
(command "_undo" "_end")
) ;;end defun end_values
;;////////////////////////////////////////////////////////////////////////
(defun select_ejs ()
(setvar "osmode" 673)
(setq org_coord (getpoint "\nIndique nuevo ORIGEN de Coordenadas:" ))
(setq xej (getpoint "\nIndique nuevo SENTIDO del eje X:" org_coord))
(setq yej (getpoint "\nIndique nuevo SENTIDO del eje Y:" org_coord))
(setvar "osmode" 0)
(command "_ucs" "_3" org_coord xej yej)
(command "_plan" "_c")
) ;;end defun select_ejs
;;////////////////////////////////////////////////////////////////////////
(defun z_ejs ()
(or HAng (setq HAng 90))
(initget 6)
(if (setq Hang$ (getreal (strcat "\nIndique ÁNGULO de giro del nuevo SCP respecto al eje Z: <" (rtos Hang 2 2) ">: ")))
(setq HAng Hang$)) ;end if
(command "_ucs" "_z" (- 360 Hang))
(command "_plan" "_c")
;Htht
) ;;end defun z_ejs
;;////////////////////////////////////////////////////////////////////////
;; FUNCION PRINCIPAL - ///////////////////////////////////////////////////
(defun c:ucsp (/ ucs_opt sel_opt ucsperr menueco refenti org_coord xej yej HAng Hang$)
(inic_values)
(if (= ucs_opt nil) (setq ucs_opt "E") (setq ucs_opt ucs_opt))
(initget "A E")
(setq sel_opt (getkword (strcat "\nIndique el MODO de selección de la vista actual; [(A)ngulo/(E)jes]; <" ucs_opt ">: ")))
(if (or (= sel_opt nil) (= sel_opt "")) (setq ucs_opt ucs_opt) (setq ucs_opt sel_opt))
(if (= sel_opt "A") (z_ejs))
(if (or (= sel_opt nil) (= sel_opt "E")) (select_ejs))
(end_values)
(princ "\n\n* Teclee UCSP o ENTER para volver a ejecutar el comando *")
(princ)
);_end defun c:ucsp
(princ "\n\n* Nuevo comando \"UCSP\" cargado - Designed by J.S.R./santos_jsr@hotmail.com *")
(princ)
;; //////////////////////////////////////////////////////////////////////////////////
Un saludo a todos...
-
- Jefe
- Mensajes: 442
- Registrado: Mié Ago 30, 2006 9:35 am
- Ubicación: Bizkaia-Nafarroa
- Contactar:
UF SI YO TE CONTARA!! los textos que pones no tengo ni idea de dónde se tienen que meter o copiar, no se cómo o donde cargar esas rutinas...así que varios problemas ya tengo, es que es como si fuera chino...Afga escribió:Akasha dime en donde tienes problemas o en donde tienes dudas y trataré o trataremos mejor dicho de ayudarte y solucioanrlo.



WEB: http://www.pulgarcitosegundamano.es/
TWITTER: @Pulgarcito2mano
FACEBOOK: http://www.facebook.com/pulgarcitosegundamano
TWITTER: @Pulgarcito2mano
FACEBOOK: http://www.facebook.com/pulgarcitosegundamano
- Paco Fernandez
- Moderador
- Mensajes: 1018
- Registrado: Jue Jul 06, 2006 11:30 am
- Ubicación: BADAJOZ
- Contactar:
No se si es lo que yo creo. Lo que quieres es girar un dibujo en una presentacion. Si es asi la orden es MVSETUP.
Lo primero es medir el angulo que vas a girar, luego vete a la presentacion y teclea MVSETUP, elije la opcion ALINEAR "A" y das a return, despues elijes la opcion GIRAR VISTA "G" y te pedira un punto de giro y luego el angulo. Asi se girara la vista pero no el dibujo original.
Pero esto tiene su truco, para que salga bien, debes hacer esto antes de escribir los textos pues sino te saldran girados. Haz una prueba primero.
Espero que sea esto lo que pides.
Un saludo
Lo primero es medir el angulo que vas a girar, luego vete a la presentacion y teclea MVSETUP, elije la opcion ALINEAR "A" y das a return, despues elijes la opcion GIRAR VISTA "G" y te pedira un punto de giro y luego el angulo. Asi se girara la vista pero no el dibujo original.
Pero esto tiene su truco, para que salga bien, debes hacer esto antes de escribir los textos pues sino te saldran girados. Haz una prueba primero.
Espero que sea esto lo que pides.
Un saludo
Creo Paco que Akasha se refiere a en donde tiene que colocar y guardar el código Lisp que pongo para poder utilizarlo luego como un comendo de AutoCAD. Si es esto Akasha intentaré explicar los pasos a modo de ejemplo con la rutina que mostré en el post anterior:
1-. Primero debemos seleccionar el código Lisp expuesto antes y lo copiamos. A continuación, abrimos una hoja del Bloc de Notas" y aquí pegamos el código seleccionado antes.
2-. Posteriormente pasamos a guardar el contenido del bloc de notas (que contiene nuestra aplicación con su correspondiente código Lisp). Para ello debemos guardarlo con el nombre que deseemos, aunque se recomienda asignarle el nombre de la propia función (en nuestro caso anterior UCSP), y debemos darle al archivo la extensión "LSP", propio de AutoLisp.
3-. ¿ Donde es preferible guardar nuestras rutinas ? Lo aconseble es crearse una carpeta independiente dentro de donde tengamos instalado AutoCAD, que por ejemplo la podamos llamar; "RUTINAS_LISP" y dentro de ella guardar todas las rutinas que deseemos y/o vayamos creando o encontrando por internet, y que consideremos nos sean de gran utilidad.
4-. Una vez realizado todo esto, solo nos falta decirle a AutoCAD que aplicaciones diferentes a las que se cargan por defecto queremos que también se carguen, y en donde debe buscarlas. Para ello en Herramientas -> Opciones -> Archivo -> Ruta de busqueda de archivos de soporte, añadiremos la ruta de la carpeta que creamos y mencionamos en el apartado 3 (en nuestro caso "RUTINAS_LISP"), y finalmente con la orden " _appload " procederemos a cargar las rutinas que deseemos y estén dentro de dicha carpeta creada. (NOTA - Si queremos que las rutinas que cargamos con la orden appload, no solo se carguen en la sesión de dibujo actual, y se carguen por defecto cada vez que abramos una sesión de AutoCAD deberemos añadir dichas rutinas al maletin o historial que aparece en el cuadro de dialogo de la orden o comando " _appload ")
Con esto nuestras ordenes debieran funcionar correctamente. Un saludo a todos.

1-. Primero debemos seleccionar el código Lisp expuesto antes y lo copiamos. A continuación, abrimos una hoja del Bloc de Notas" y aquí pegamos el código seleccionado antes.
2-. Posteriormente pasamos a guardar el contenido del bloc de notas (que contiene nuestra aplicación con su correspondiente código Lisp). Para ello debemos guardarlo con el nombre que deseemos, aunque se recomienda asignarle el nombre de la propia función (en nuestro caso anterior UCSP), y debemos darle al archivo la extensión "LSP", propio de AutoLisp.
3-. ¿ Donde es preferible guardar nuestras rutinas ? Lo aconseble es crearse una carpeta independiente dentro de donde tengamos instalado AutoCAD, que por ejemplo la podamos llamar; "RUTINAS_LISP" y dentro de ella guardar todas las rutinas que deseemos y/o vayamos creando o encontrando por internet, y que consideremos nos sean de gran utilidad.
4-. Una vez realizado todo esto, solo nos falta decirle a AutoCAD que aplicaciones diferentes a las que se cargan por defecto queremos que también se carguen, y en donde debe buscarlas. Para ello en Herramientas -> Opciones -> Archivo -> Ruta de busqueda de archivos de soporte, añadiremos la ruta de la carpeta que creamos y mencionamos en el apartado 3 (en nuestro caso "RUTINAS_LISP"), y finalmente con la orden " _appload " procederemos a cargar las rutinas que deseemos y estén dentro de dicha carpeta creada. (NOTA - Si queremos que las rutinas que cargamos con la orden appload, no solo se carguen en la sesión de dibujo actual, y se carguen por defecto cada vez que abramos una sesión de AutoCAD deberemos añadir dichas rutinas al maletin o historial que aparece en el cuadro de dialogo de la orden o comando " _appload ")
Con esto nuestras ordenes debieran funcionar correctamente. Un saludo a todos.


-
- Jefe
- Mensajes: 442
- Registrado: Mié Ago 30, 2006 9:35 am
- Ubicación: Bizkaia-Nafarroa
- Contactar:
Gracias Paco, pero no era esto lo que pedía, esto ya lo sabía, por lo menos algo ya se! jajaja me refería a la explicación de Afga.Paco Fernandez escribió:No se si es lo que yo creo. Lo que quieres es girar un dibujo en una presentacion. Si es asi la orden es MVSETUP.
Lo primero es medir el angulo que vas a girar, luego vete a la presentacion y teclea MVSETUP, elije la opcion ALINEAR "A" y das a return, despues elijes la opcion GIRAR VISTA "G" y te pedira un punto de giro y luego el angulo. Asi se girara la vista pero no el dibujo original.
Pero esto tiene su truco, para que salga bien, debes hacer esto antes de escribir los textos pues sino te saldran girados. Haz una prueba primero.
Espero que sea esto lo que pides.
Un saludo
Gracias y un saludo

WEB: http://www.pulgarcitosegundamano.es/
TWITTER: @Pulgarcito2mano
FACEBOOK: http://www.facebook.com/pulgarcitosegundamano
TWITTER: @Pulgarcito2mano
FACEBOOK: http://www.facebook.com/pulgarcitosegundamano
Este es el LISP que buscaba
Si a este lisp le añades más angulos cambiando el numero consigues lo mismo. Pero lo más utilizado (por lo menos para mi) son esos.
Saludos.
Con esta orden podrás girar 90, 180 o -90 grados el SCP, y a la vez se cambiará la vista.(defun c:90()(command "_ucs" "z" "90" "_plan" "a"))
(defun c:180()(command "_ucs" "z" "180" "_plan" "a"))
(defun c:-90()(command "_ucs" "z" "-90" "_plan" "a"))
Si a este lisp le añades más angulos cambiando el numero consigues lo mismo. Pero lo más utilizado (por lo menos para mi) son esos.
Saludos.
[img]http://i60.photobucket.com/albums/h21/Tronius/Firmas/delineante.jpg[/img]
[img]http://i60.photobucket.com/albums/h21/Tronius/Firmas/videogamesfan.jpg[/img]
[img]http://i60.photobucket.com/albums/h21/Tronius/Firmas/videogamesfan.jpg[/img]
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados