Página 1 de 1

Orden para girar el espacio papel

Publicado: Mié Mar 07, 2007 9:42 am
por Tronius
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

Publicado: Mié Mar 07, 2007 5:14 pm
por ICON
Hola, teclea "ucsfollow" y pulsa intro
luego tecleas "1" y vuelves a pulsar intro
después tecleas "scp" + intro
a continuación "_z" + intro
tecleas el dato que te pide: el nº de grados que desees girar la planta en sentido horario.
et voilà

espero que te haya servido de ayuda

Publicado: Mié Mar 14, 2007 4:07 pm
por Afga
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

Publicado: Mié Mar 14, 2007 9:04 pm
por Afga
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...

Publicado: Vie Mar 16, 2007 7:36 pm
por Tronius
Gracias por el lisp creo que me irá bastante bien, aver si encuentro esa orden para girar solo con poner los grados.

Publicado: Vie Abr 06, 2007 11:12 pm
por Akasha
yo, hasta que no aprenda algo de lisp...Afga, todos esos textos que pones, no tengo ni idea de dónde los tengo que aplicar! :shock:

Publicado: Dom Abr 08, 2007 11:46 pm
por Afga
Akasha dime en donde tienes problemas o en donde tienes dudas y trataré o trataremos mejor dicho de ayudarte y solucioanrlo.

Un saludo

Publicado: Lun Abr 09, 2007 1:03 pm
por Akasha
Afga escribió:Akasha dime en donde tienes problemas o en donde tienes dudas y trataré o trataremos mejor dicho de ayudarte y solucioanrlo.
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... :oops: no se si tengo que pegarlo en un sitio y "guardarlo como..." algo o qué... :oops: :oops: y luego cargarlo en autocad....UF!! estas son las cosas que aprendo por mi cuenta y es algo complicadillo...

Publicado: Lun Abr 09, 2007 4:59 pm
por Paco Fernandez
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

Publicado: Lun Abr 09, 2007 6:34 pm
por Afga
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. :wink: :wink:

Publicado: Lun Abr 09, 2007 6:57 pm
por Akasha
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 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.

Gracias y un saludo :wink:

Publicado: Jue Ene 10, 2008 3:37 pm
por Awe
Agfa, para cambiarle la extension al pack de notas y ponerle lsp, solo hay que cambiarle de nombre y ponerle.lsp no?, esuqe asi lo hago y despues al intentar cargar la aplicacion no me lo reconoce.

Publicado: Jue Ene 10, 2008 4:02 pm
por Afga
Debes hacer lo siguiente;

Archivo -> Guardar como... -> [nombre del archivo a guardar].lsp y selecccionas el lugar donde la quieres guardar.


Así te debiera de funcionar perfectamente, al cargar la aplicación luego en AutoCAD.

Saludos cordiales :wink:

Publicado: Jue Ene 10, 2008 4:12 pm
por Tronius
Este es el LISP que buscaba

(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"))
Con esta orden podrás girar 90, 180 o -90 grados el SCP, y a la vez se cambiará la vista.

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.