Calculo de areas, y volumenes (corte y relleno) en autocad

Foro de topografia, gps, sistemas de informacion geografica, imagenes satelitales.
Reglas del Foro
Favor de usar el boton de Dar Gracias
En el mensaje del usuario al que deseas agradecer
En vez de escribir gracias repetidamente
Responder
Antonio Valdez
Usuario Principiante
Usuario Principiante
Mensajes: 5
Registrado: Vie Ago 29, 2008 9:48 am

Que tal

Quisiera saber si alguien tiene alguna rutina, programa o me puede ayudar con la teoria para poder calcular: areas y volumenes de corte y relleno de secciones transversales en autocad.

De antemano muchas gracias

Saludos
Avatar de Usuario
edward_jesus_
Usuario Principiante
Usuario Principiante
Mensajes: 27
Registrado: Mié Abr 23, 2008 9:26 am
Ubicación: bolivar

hay una aplicacion para autocad llamado civilcad que te puede ayudar con ello......................ahora yo veo un poco mas como hacer ese calculo con excel ya que tambien dibujas el perfil aqui te dejo una teoria muy buena de como hacerla sin el autocad espero sea util saludos

http://www.serbi.ula.ve/serbiula/libros ... /CAP-9.pdf
Antonio Valdez
Usuario Principiante
Usuario Principiante
Mensajes: 5
Registrado: Vie Ago 29, 2008 9:48 am

Muchas gracias Edward, es un buen aporte

Saludos

edward_jesus_ escribió:hay una aplicacion para autocad llamado civilcad que te puede ayudar con ello......................ahora yo veo un poco mas como hacer ese calculo con excel ya que tambien dibujas el perfil aqui te dejo una teoria muy buena de como hacerla sin el autocad espero sea util saludos

http://www.serbi.ula.ve/serbiula/libros ... /CAP-9.pdf
netop77
Usuario Principiante
Usuario Principiante
Mensajes: 7
Registrado: Vie Mar 09, 2012 11:23 pm

hola hice una arutina de otras rutinas de lisp para obtener las areas de las secciones hechas con autocad, le picas a las zonas donde quieres obtener las areas y despues se pega auna tablas q es un bloque con atributos y de ahi se exporta a exel se pueden tener capas de pedraplen, terraplen, corte, subyacente, subrasante si la quieres me avisas por aqui.
netop77
Usuario Principiante
Usuario Principiante
Mensajes: 7
Registrado: Vie Mar 09, 2012 11:23 pm

hola hice una arutina de otras rutinas de lisp para obtener las areas de las secciones hechas con autocad, le picas a las zonas donde quieres obtener las areas y despues se pega auna tablas q es un bloque con atributos y de ahi se exporta a exel se pueden tener capas de pedraplen, terraplen, corte, subyacente, subrasante si la quieres me avisas por aqui.
netop77
Usuario Principiante
Usuario Principiante
Mensajes: 7
Registrado: Vie Mar 09, 2012 11:23 pm

hola hice una arutina de otras rutinas de lisp para obtener las areas de las secciones hechas con autocad, le picas a las zonas donde quieres obtener las areas y despues se pega auna tablas q es un bloque con atributos y de ahi se exporta a exel se pueden tener capas de pedraplen, terraplen, corte, subyacente, subrasante si la quieres me avisas por aqui.
netop77
Usuario Principiante
Usuario Principiante
Mensajes: 7
Registrado: Vie Mar 09, 2012 11:23 pm

hola hice una arutina de otras rutinas de lisp para obtener las areas de las secciones hechas con autocad, le picas a las zonas donde quieres obtener las areas y despues se pega auna tablas q es un bloque con atributos y de ahi se exporta a exel se pueden tener capas de pedraplen, terraplen, corte, subyacente, subrasante si la quieres me avisas por aqui.
netop77
Usuario Principiante
Usuario Principiante
Mensajes: 7
Registrado: Vie Mar 09, 2012 11:23 pm

; Programa que permite obtener las areas a partir de polilineas en secciones
; Trabaja con AutoCAD versión 2006 ó superior
; Programa realizado POR ING. Benito Ernesto Gomez Flores ADAPTADO DEL LOS PROGRAMAS:
; Obtener las areas a partir de sombreados en secciones por Mario Torres Pejerrey
; PROGRAMA MODIFICACION DE ATRIBUTOS CREADO POR José Luís García Galán
; Este es un lisp en formato original, se puede ver el código fuente, la intención, es de que el código fuente
; pueda ser modificado y adaptado a la necesidad de cada usuario
; 2011

(defun c:axx (/ Blk Atribs)
(setq VersionAutoCAD (substr (getvar "ACADVER")1 4))
(setq VersionAutoCAD (atof VersionAutoCAD))
(if (>= VersionAutoCAD 16.2)
(progn
;Variables de inicio
(setvar "cmdecho" 0)
(setq AreaCorteTotal 0)
(setq AreaTerraplenTotal 0)
(setq AreaDespcTotal 0)
(setq AreaDesptTotal 0)
(setq AreaCccTotal 0)
(setq AreaCctTotal 0)
(setq AreaSubyacenteTotal 0)
(setq AreaSubrasanteTotal 0)
(setq AreaBasehidraulicaTotal 0)
(setq AreaConcretototal 0)
(setq AreaTaTotal 0)
(setq AreaTnTotal 0)
(setq AreaPedraplenTotal 0)

(setq CapaCorte "SombreadoCorte")
(setq CapaTerraplen "SombreadoTerraplen")
(setq CapaDespc "SombreadoDespc")
(setq CapaDespt "SombreadoDespt")
(setq CapaCcc "SombreadoCcc")
(setq CapaCct "SombreadoCct")
(setq CapaSubyacente "SombreadoSubyacente")
(setq CapaSubrasante "SombreadoSubrasante")
(setq CapaBasehidraulica "SombreadoBasehidraulica")
(setq CapaConcreto "SombreadoConcreto")
(setq CapaTa "SombreadoTa")
(setq CapaTn "SombreadoTn")
(setq CapaPedraplen "SombreadoPedraplen")

;Acciones
(princ "\nSeleccione los objetos a hallar las areas: ")
(setq entidades (ssget))
(setq nums (sslength entidades))

(setq n 0)

(repeat nums
(setq nt (ssname entidades n))
(setq TipoEntidad (cdr (assoc 0 (ENTGET nt))))

(cond
((= TipoEntidad "TEXT")
(setq Contenido (cdr (assoc 1 (ENTGET nt))))
(if (wcmatch Contenido "*+*")
(progn
(setq Progresiva (substr Contenido 1 10))
(if (not (null ProgresivaAnterior))
(progn
(if (= Progresiva ProgresivaAnterior)
(setq Progresiva (strcat (substr Contenido 1 10)"0000.0010000"))
)
)
)
)
)
)

((= TipoEntidad "HATCH")
(setq Capa (cdr (assoc 8 (ENTGET nt))))
(Cond
((= Capa CapaCorte)
(command "_area" "_o" nt)
(setq AreaCorte (getvar "area"))
(setq AreaCorteTotal (+ AreaCorteTotal AreaCorte))
)
((= Capa CapaTerraplen)
(command "_area" "_o" nt)
(setq AreaTerraplen (getvar "area"))
(setq AreaTerraplenTotal (+ AreaTerraplenTotal AreaTerraplen))
)
((= Capa CapaDespc)
(command "_area" "_o" nt)
(setq AreaDespc (getvar "area"))
(setq AreaDespcTotal (+ AreaDespcTotal AreaDespc))
)
((= Capa CapaDespt)
(command "_area" "_o" nt)
(setq AreaDespt (getvar "area"))
(setq AreaDesptTotal (+ AreaDesptTotal AreaDespt))
)
((= Capa CapaCcc)
(command "_area" "_o" nt)
(setq AreaCcc (getvar "area"))
(setq AreaCccTotal (+ AreaCccTotal AreaCcc))
)
((= Capa CapaCct)
(command "_area" "_o" nt)
(setq AreaCct (getvar "area"))
(setq AreaCctTotal (+ AreaCctTotal AreaCct))
)
((= Capa CapaSubyacente)
(command "_area" "_o" nt)
(setq AreaSubyacente (getvar "area"))
(setq AreaSubyacenteTotal (+ AreaSubyacenteTotal AreaSubyacente))
)
((= Capa CapaSubrasante)
(command "_area" "_o" nt)
(setq AreaSubrasante (getvar "area"))
(setq AreaSubrasanteTotal (+ AreaSubrasanteTotal AreaSubrasante))
)
((= Capa CapaBasehidraulica)
(command "_area" "_o" nt)
(setq AreaBasehidraulica (getvar "area"))
(setq AreaBasehidraulicaTotal (+ AreaBasehidraulicaTotal AreaBasehidraulica))
)
((= Capa CapaConcreto)
(command "_area" "_o" nt)
(setq AreaConcreto (getvar "area"))
(setq AreaConcretoTotal (+ AreaConcretoTotal AreaConcreto))
)
((= Capa CapaTa)
(command "_area" "_o" nt)
(setq AreaTa (getvar "area"))
(setq AreaTaTotal (+ AreaTaTotal AreaTa))
)
((= Capa CapaTn)
(command "_area" "_o" nt)
(setq AreaTn (getvar "area"))
(setq AreaTnTotal (+ AreaTnTotal AreaTn))
)
((= Capa CapaPedraplen)
(command "_area" "_o" nt)
(setq AreaPedraplen (getvar "area"))
(setq AreaPedraplenTotal (+ AreaPedraplenTotal AreaPedraplen))
)
)
)
)
(setq n (1+ n))
)

;; obtener los atributos de un bloque.
(command "_attdisp" "_ON")
(defun aux-get-atts (ObjBlk / lst)
(cond
((not ObjBlk))
((/= (vla-get-hasAttributes ObjBlk) :vlax-true))
((vl-catch-all-error-p
(setq lst (vl-catch-all-apply 'vlax-safeArray->list
(list (vlax-variant-value (vla-getAttributes ObjBlk))))))
(setq lst nil)
)
);c.cond
lst
);c.defun
(if (and (setq Blk (car (entsel "\nSeleccione Bloque con atributos: ")))
(setq Blk (vlax-ename->vla-object Blk)))
(if (= (vla-get-objectName blk) "AcDbBlockReference")
(if (setq Atribs (aux-get-atts Blk))
(progn
(vl-cmdf "_UNDO" "_BE")
(mapcar (function (lambda (Att / Tag)
(setq Tag (vla-get-tagstring Att))
(cond
((= Tag "PROGRESIVA")(vla-put-textstring Att Progresiva))
((= Tag "CORTE")(vla-put-textstring Att (rtos AreaCorteTotal 2 2)))
((= Tag "TERRAPLEN")(vla-put-textstring Att (rtos AreaTerraplenTotal 2 2)))
((= Tag "DPC")(vla-put-textstring Att (rtos AreaDespcTotal 2 2)))
((= Tag "DPT")(vla-put-textstring Att (rtos AreaDesptTotal 2 2)))
((= Tag "CCC")(vla-put-textstring Att (rtos AreaCccTotal 2 2)))
((= Tag "CCT")(vla-put-textstring Att (rtos AreaCctTotal 2 2)))
((= Tag "SUBYACENTE")(vla-put-textstring Att (rtos AreaSubyacenteTotal 2 2)))
((= Tag "SUBRASANTE")(vla-put-textstring Att (rtos AreaSubrasanteTotal 2 2)))
((= Tag "BASEHIDRAULICA")(vla-put-textstring Att (rtos AreaBasehidraulicaTotal 2 2)))
((= Tag "CONCRETO")(vla-put-textstring Att (rtos AreaConcretoTotal 2 2)))
((= Tag "TA")(vla-put-textstring Att (rtos AreaTaTotal 2 2)))
((= Tag "TN")(vla-put-textstring Att (rtos AreaTnTotal 2 2)))
((= Tag "PEDRAPLEN")(vla-put-textstring Att (rtos AreaPedraplenTotal 2 2)))
);c.cond
)) Atribs)
(setq ProgresivaAnterior Progresiva)
(command "_attdisp" "_N")
(setvar "cmdecho" 1)
(vl-cmdf "_UNDO" "_E")
);c.prg
(alert "\nEl Bloque seleccionado no contiene atributos.")
);c.if
(prompt "\nEl Objeto seleccionado no es Bloque...")
);c.if
);c.if
)
)
)
netop77
Usuario Principiante
Usuario Principiante
Mensajes: 7
Registrado: Vie Mar 09, 2012 11:23 pm

archivo de ejemplo
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.
brianlyva
Usuario Principiante
Usuario Principiante
Mensajes: 2
Registrado: Lun Dic 05, 2022 10:45 pm
Contactar:
México

tendias el autolisp de las areas
brianlyva
Usuario Principiante
Usuario Principiante
Mensajes: 2
Registrado: Lun Dic 05, 2022 10:45 pm
Contactar:
México

PORFAVOR PASAR ELA UTOLISP LISTO YA QUE NO ME CORRE BIEN EN UN AUTOCAD 2018
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje

Volver a “Topografia / Cartografia”

  • Información