|
|
Tema Anterior :: Tema siguiente
|
| Author |
Message |
huk
Joined: 11 Dec 2005 Posts: 31
|
Posted: Thu 12 Jun 2008, 18:20 Post subject: [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. |
|
| Back to top |
|
 |
joantopo
Joined: 31 May 2006 Posts: 988 Location: Barcelona-ITT 68XX
|
Posted: Fri 13 Jun 2008, 08:48 Post subject: |
|
|
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. |
|
| Back to top |
|
 |
txus Moderador
Joined: 30 Jun 2004 Posts: 3148 Location: Andalucía - España
|
Posted: Fri 13 Jun 2008, 09:59 Post subject: |
|
|
| Code: |
(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 |
|
| Back to top |
|
 |
Sandra_83
Joined: 12 Jun 2008 Posts: 3 Location: Madrid
|
Posted: Fri 13 Jun 2008, 17:52 Post subject: |
|
|
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? - |
|
| Back to top |
|
 |
huk
Joined: 11 Dec 2005 Posts: 31
|
Posted: Thu 19 Jun 2008, 20:05 Post subject: |
|
|
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? |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum
|
|