|
|
Tema Anterior :: Tema siguiente
|
| Autor |
Mensaje |
huk
Registrado: 11 Dic 2005 Mensajes: 31
|
Publicado: Jue 12 Jun 2008, 18:20 Asunto: [Autocad] Rotular las coordenadas UTM de ventana gráfica |
|
|
En el espacio modelo tengo un dibujo topográfico en UTM.
Este dibujo lo quiero representar mediante varias hojas y presentaciones.
En cada presentación, justo en los 4 vértices de la ventana gráfica, me gustaría rotular las coordenadas UTM que le corresponderían a la hoja automáticamente.
Como puedo hacerlo sin tener que ir hoja por hoja insertando a mano las coordenadas que tiene?
Gracias. |
|
| Volver arriba |
|
 |
joantopo
Registrado: 31 May 2006 Mensajes: 1007 Ubicación: Barcelona-ITT 68XX
|
Publicado: Vie 13 Jun 2008, 08:48 Asunto: |
|
|
No sé si existirá alguna rutina lisp por la red,todo es posible.
Usando el autocad y para no teclear manualmente cada esquina de las coordenadas puedes usar acotar-coordenada aunque deberás hacerlo dos veces para cada punto,en la dirección del eje X y la del eje Y tanto en espacio modelo como en espacio impresión.
El mdt v4 en utilidades-rotular marco si tiene una función automática de rotular las coordenadas de un marco.Obviamente ese marco deberá ser de menor tamaño que el límite de impresión en el espacio papel y que te permita visualizar las coordenadas con sus dígitos completos en las esquinas y a un buen tamaño.
Normalmente cuando se rotulan planos en UTM no solo se pone las coord.en las esquinas sinó que también se hace una rejilla a cierta equidistancia.
En este caso,el mdt en rotular marco también te pide la equidistancia. _________________ No guardes nunca en la cabeza aquello que te quepa en un bolsillo.
Albert Einstein (1879-1955)
Yo diria que el "bolsillo" es cartesia. |
|
| Volver arriba |
|
 |
txus Moderador
Registrado: 30 Jun 2004 Mensajes: 3165 Ubicación: Andalucía - España
|
Publicado: Vie 13 Jun 2008, 09:59 Asunto: |
|
|
| Código: |
(DEFUN var ()
(setq oscl(getvar "dimscale"))
(setq unidades (getvar "aunits"))
(setq cmdd(getvar "cmdecho"))
(setq odimz(getvar "dimzin"))
(SETQ OSM (GETVAR "OSMODE"))
(SETQ LAY (GETVAR "CLAYER"))
(setvar "dimzin" 0)
(setvar "cmdecho" 0)
(setvar "aunits" 2)
(setq txt (getvar "textstyle"))
(if (= (tblsearch "LAYER" "00-MC") nil) ;(=(tblsearch "capa" "00-MC") nil))
(command "_.layer" "_m" "00-MC" "_c" "7" "" "")
(command "_.layer" "_s" "00-MC" "")
)
(setvar "clayer" "00-MC" )
(setq cnum 1 rnum 1 ncol 1 nfila 1)
)
; Datos de entrada para hacer la cuadricula
(DEFUN pnts ()
(setvar "osmode" 1)
(setq ppt (getpoint "\nEsquina inferior izquierda: "))
(setq xppt (nth 0 ppt)
yppt (nth 1 ppt)
pppt ppt
)
(setq ppt2 (getpoint "\nEsquina superior derecha: "))
(setq xppt2 (nth 0 ppt2)
yppt2 (nth 1 ppt2)
pppt2 ppt2
)
(setvar "osmode" 0)
(setq int (getreal "\nIntervalo: "))
(setq scl (getreal "\nEscala del dibujo: "))
(setq cl (* 0.008 scl))
(setq z(fix (/ xppt int)))
(setq nxppt(* (+ 1 z) int) mxppt(* (+ 1 z) int))
(setq x(fix (/ yppt int)))
(setq nyppt(* (+ 1 x) int) myppt(* (+ 1 x) int))
(setq lop (list nxppt nyppt))
(setq olop lop)
(setq z2(fix (/ xppt2 int)))
(setq nxppt2(* z2 int))
(setq x2(fix (/ yppt2 int)))
(setq nyppt2(* x2 int))
(setq uop (list nxppt2 nyppt2))
(setq row (+ 1 (/ (- (cadr uop) (cadr lop)) int)))
(setq col (+ 1 (/ (- (car uop) (car lop)) int)))
(setq fila row colu col)
)
;Dibujar las cruces
(defun cruces ()
(SETVAR "OSMODE" 0)
(while (<= rnum row)
(progn
(while (<= cnum col)
(setq lop (list nxppt nyppt))
(setq dd (* 0.0025 scl))
(setq p1 (list (car lop) (+ (cadr lop) dd)))
(setq p3 (list (car lop) (- (cadr lop) dd)))
(setq p2 (list (+ (car lop) dd) (cadr lop)))
(setq p4 (list (- (car lop) dd) (cadr lop)))
(command "_.line" lop p1 "")
(terpri)
;(setq todo (ssadd (entlast) todo))
(command "_.line" lop p2 "")
(terpri)
;(setq todo (ssadd (entlast) todo))
(command "_.line" lop p3 "")
(terpri)
;(setq todo (ssadd (entlast) todo))
(command "_.line" lop p4 "")
(terpri)
;(setq todo (ssadd (entlast) todo))
(setq cnum (+ 1 cnum)
nxppt(+ nxppt int))
)
)
(if (> cnum col)
(PROGN
(SETQ nxppt (car olop)
nyppt (+ nyppt int)
CNUM 1))
)
(SETQ RNUM (+ 1 RNUM))
)
)
;anota
(Defun anota ()
(SETVAR "OSMODE" 0)
(while (<= nfila fila)
(progn
(setq ppx ( list (car ppt) myppt))
(setq ll (* 0.013 scl))
(setq pix (+ (car ppt) ll))
(setq ppx2 (list pix myppt))
(setq tx (strcat (rtos (cadr ppx2) 2 0) "mY" ))
(command "_.line" ppx ppx2 "" )
(terpri)
;(setq todo (ssadd (entlast) todo))
(terpri)
(command "_.text" ppx (* 0.0025 scl) "100" tx )
(terpri)
;(setq todo (ssadd (entlast) todo))
(terpri)
(setq myppt (+ myppt int))
(setq nfila (+ nfila 1))
)
)
(while (<= ncol colu)
(progn
(setq ppy (list mxppt (cadr ppt2)))
(setq ll (* 0.013 scl))
(setq piy (- (cadr ppt2) ll))
(setq ppy2 (list mxppt piy ))
(setq ty (strcat (rtos mxppt 2 0) "mX" ))
(command "_.line" ppy ppy2 "" )
(terpri)
;(setq todo (ssadd (entlast) todo))
(terpri)
(command "_.text" ppy (* 0.0025 scl) "200" ty )
(terpri)
;(setq todo (ssadd (entlast) todo))
(terpri)
(setq mxppt (+ mxppt int))
(setq ncol (+ ncol 1))
)
)
)
;Poner variables como estaban
(defun resetea ()
(setvar "dimscale" oscl)
(SETVAR "DIMZIN" odimz)
(SETVAR "OSMODE" OSM)
(setvar "cmdecho" cmdd)
(setvar "aunits" unidades)
(SETVAR "CLAYER" LAY)
)
;Definicion de comando
(defun c:MC ()
(var)
(pnts)
(anota)
(cruces)
(resetea)
)
(DEFUN M+C () (MC))
;(alert
;(strcat
; " CUADRÍCULAS "
;"\nTeclea MC para ejecutar la aplicación"
;"\n copyright Txus 2000"
; )
;) |
Copiar y pegar el código de arriba en archivo de texto y guardar con extensión lsp.
Cargar en autocad con comando appload
Para que funcione debe estar configurado la unidades en grados centesimales, orientación 0 al Norte |
|
| Volver arriba |
|
 |
Sandra_83
Registrado: 12 Jun 2008 Mensajes: 3 Ubicación: Madrid
|
Publicado: Vie 13 Jun 2008, 17:52 Asunto: |
|
|
Hola a todos, siguiendo los consejos para mejorar el foro mirando ayer una solucion a un comentario que hice en un apartado, vi en el foro que encotre dicha solucion un fichero para hacer cruces de coordenadas, lo ha probado una compañera mia del trabajo y funciona tambien, os dejo el link, te explica paso a paso como cargar el fichero en autocad:
http://www.mitrazado.creatuforo.com/viewtopic.php?t=79
Bueno un saludo me queda la meta de poder aportar algo por mi misma  _________________ - La gente se arregla todos los días el cabello. ¿Por qué no el corazón? - |
|
| Volver arriba |
|
 |
huk
Registrado: 11 Dic 2005 Mensajes: 31
|
Publicado: Jue 19 Jun 2008, 20:05 Asunto: |
|
|
Lo de rotular las cruces está bien. Una vez que tienes tu topográfico rotulado con cruces en el espacio modelo, si la zona es grande tendré que generarme más hojas, por ejemplo 4. Por tanto en espacio modelo me dibujo 4 rectangulos que serán los límites de mis hojas.
Al generar las 4 presentaciones en el espacio papel, en cada presentacion la ventana gráfica me cogera una cuadricula del espacio modelo. Con las cruces no hay ningun problema porque queda dentro de la ventana gráfica y si que se ve, pero las coordenadas de las esquinas no las tengo rotuladas.
Esa es mi pregunta. ¿Como hago para rotular esas coordenadas? Porque si divido mi topografico en 4 hojas, en total tendre que rotular 16 coordenadas, 4 coordenadas por hoja.
Lo de acotar coordenada podría ser una solucion, pero al acotar la ventana gráfica tiene otras coordenadas. Se podría asociar a esa ventana gráfica las coordenadas del espacio modelo? |
|
| Volver arriba |
|
 |
|
|
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro No puede adjuntar archivos en este foro No Puede descargar archivos de este foro
|
|