Ayuda para generar datos de sección transversal
2 participantes
Página 1 de 1.
Ayuda para generar datos de sección transversal
Estimados maestros recurro a ustedes para solicitar ayuda para generar una rutina, la rutina consistiría en generar los datos de la tabla (textos de color verde, rojo, cian) los cuales se generan partiendo de los datos que deben ser ingresados tanto del valor de la estación como de la elevación en la intersección del eje (textos de color azul) con la polilínea que representa la sección del terreno (polilínea de color verde), los textos de color red de la tabla se generan de las distancias acumuladas y las elevaciones de los vértices de la polilínea que representa la sección de terreno hacia la izquierda partiendo desde el punto de intersección del eje con la sección de terreno (círculo azul), de la misma manera los valores de color cian son las distancias acumuladas y las elevaciones de los vértices de la polilínea que representa la sección del terreno hacia la derecha, la elevación de los vértices está en función de la elevación de la intersección del eje con la polilínea que representa la sección del terreno; los colores de los textos solo es para poder explicar mejor lo que se requiere, no es necesario que la rutina represente colores.
Adjunto la imagen y el link de descarga de DWG.
Muy agradecido por su apoyo
https://www.dropbox.com/s/fgpnm4uenj176um/MODELO.dwg?dl=0
Adjunto la imagen y el link de descarga de DWG.
Muy agradecido por su apoyo
https://www.dropbox.com/s/fgpnm4uenj176um/MODELO.dwg?dl=0
cyberfantasma- Mensajes : 12
Fecha de inscripción : 22/06/2016
Re: Ayuda para generar datos de sección transversal
Este es el Link de descarga, disculpen el error, gracias
https://www.dropbox.com/s/uv19g31ajtr7563/MODELO.dwg?dl=0
https://www.dropbox.com/s/uv19g31ajtr7563/MODELO.dwg?dl=0
cyberfantasma- Mensajes : 12
Fecha de inscripción : 22/06/2016
Re: Ayuda para generar datos de sección transversal
Civil CAD o Civil 3D no tienen algo similar, lo desconozco, pero me suena que debieran tenerlo, por lo específico del tema, supongo los conoces o usas.
Saludos
Saludos
Marco Jacinto- Mensajes : 91
Fecha de inscripción : 12/08/2016
Re: Ayuda para generar datos de sección transversal
El civil genera este reporte pero la secciones deben haber sido generadas por el programa, en este caso son secciones exportadas al autocad
cyberfantasma- Mensajes : 12
Fecha de inscripción : 22/06/2016
Re: Ayuda para generar datos de sección transversal
Creo que no sería dificil hacerla, pero ando embolado con la chamba... y poco podria hacer para elaborarla, pero si empiezas a hacer algo, igual podria apoyar en algo
Marco Jacinto- Mensajes : 91
Fecha de inscripción : 12/08/2016
Re: Ayuda para generar datos de sección transversal
Encontré esta rutina pero no me funciona en el autocad 2018 ademas que no me permite ingresar la estación, si me pudieran ayudar a mejorarla sería ideal, muy agradecido
(defun c:foo (/ dz e elv n p pts tmp)
(cond ((and (setq e (entsel "\nElige una polilínea en tu punto de inicio: "))
(wcmatch (cdr (assoc 0 (entget (car e)))) "POLYLINE,LWPOLYLINE")
(setq *glblelev*
(cond ((getdist (strcat "\nIngrese la elevación inicial[<"
(if *glblelev*
(vl-princ-to-string *glblelev*)
(vl-princ-to-string (getvar 'elevation))
)
">]: "
)
)
)
(*glblelev*)
((getvar 'elevation))
)
)
)
(setq dz (getvar 'dimzin))
(setvar 'dimzin 0)
(setq p (vlax-curve-getclosestpointto (car e) (cadr e)))
(setq e (car e))
(setq pts (vlax-get (vlax-ename->vla-object e) 'coordinates))
(while (caddr pts)
(setq tmp (cons (list (car pts) (cadr pts) (caddr pts)) tmp)
pts (cdddr pts)
)
)
(setq pts (apply 'strcat
(append (list "ESTACION\t\tDISTANCIA\t\tELEVACION\\P\\P")
(mapcar '(lambda (x)
(setq n (- (car x) (car p)))
(strcat "{\\L\\C"
(cond ((equal n 0.0 1e-4) "7")
((minusp n) "1")
("4")
)
" 0+000\t\t"
(rtos n 2 3)
"\t\t"
(rtos (+ *glblelev* (- (cadr x) (cadr p))) 2 3)
"}\\P"
)
)
(cond ((> (caar tmp) (car p)) (setq tmp (reverse tmp)))
(tmp)
)
)
)
)
)
(entmakex (list '(0 . "MTEXT")
'(100 . "AcDbEntity")
'(67 . 0)
'(8 . "MTEXT")
'(100 . "AcDbMText")
(cons 10 p)
'(40 . 1)
'(41 . 0)
'(46 . 0)
'(71 . 1)
'(72 . 5)
(cons 1 pts)
'(11 1 0 0)
'(50 . 0)
'(73 . 1)
'(44 . 1)
)
)
(setvar 'dimzin dz)
)
)
(princ)
)(vl-load-com)
(defun c:foo (/ dz e elv n p pts tmp)
(cond ((and (setq e (entsel "\nElige una polilínea en tu punto de inicio: "))
(wcmatch (cdr (assoc 0 (entget (car e)))) "POLYLINE,LWPOLYLINE")
(setq *glblelev*
(cond ((getdist (strcat "\nIngrese la elevación inicial[<"
(if *glblelev*
(vl-princ-to-string *glblelev*)
(vl-princ-to-string (getvar 'elevation))
)
">]: "
)
)
)
(*glblelev*)
((getvar 'elevation))
)
)
)
(setq dz (getvar 'dimzin))
(setvar 'dimzin 0)
(setq p (vlax-curve-getclosestpointto (car e) (cadr e)))
(setq e (car e))
(setq pts (vlax-get (vlax-ename->vla-object e) 'coordinates))
(while (caddr pts)
(setq tmp (cons (list (car pts) (cadr pts) (caddr pts)) tmp)
pts (cdddr pts)
)
)
(setq pts (apply 'strcat
(append (list "ESTACION\t\tDISTANCIA\t\tELEVACION\\P\\P")
(mapcar '(lambda (x)
(setq n (- (car x) (car p)))
(strcat "{\\L\\C"
(cond ((equal n 0.0 1e-4) "7")
((minusp n) "1")
("4")
)
" 0+000\t\t"
(rtos n 2 3)
"\t\t"
(rtos (+ *glblelev* (- (cadr x) (cadr p))) 2 3)
"}\\P"
)
)
(cond ((> (caar tmp) (car p)) (setq tmp (reverse tmp)))
(tmp)
)
)
)
)
)
(entmakex (list '(0 . "MTEXT")
'(100 . "AcDbEntity")
'(67 . 0)
'(8 . "MTEXT")
'(100 . "AcDbMText")
(cons 10 p)
'(40 . 1)
'(41 . 0)
'(46 . 0)
'(71 . 1)
'(72 . 5)
(cons 1 pts)
'(11 1 0 0)
'(50 . 0)
'(73 . 1)
'(44 . 1)
)
)
(setvar 'dimzin dz)
)
)
(princ)
)(vl-load-com)
cyberfantasma- Mensajes : 12
Fecha de inscripción : 22/06/2016
Temas similares
» lisp-para-generar-progresivas-de-un-alineamiento
» Rutina para generar lineas de Radio en circunferencias
» Ayuda para modificar una rutina
» Ayuda con un lisp para poli-líneas
» Macro para abrir archivo chm de ayuda
» Rutina para generar lineas de Radio en circunferencias
» Ayuda para modificar una rutina
» Ayuda con un lisp para poli-líneas
» Macro para abrir archivo chm de ayuda
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.