Scrape Ondac, traspaso keynotes y assembly codes desde modelo revit a excel

Buscando diseñar un metodo para homologar la info de revit (tablas y modelos) unificando información desde el sistema de clasificación, hasta el presuspuesto oficial y EETT, una opción es el diseño compuesto por los siguientes pasos:

1.- Para prueba tomar un modelo simple con elementos basicos

2.- Scrape Ondac: Para poder traspasar la info del modelo a un presupuesto se se toma la base de Ondac que contiene las actividades, partidas y tareas a determinar en un presupuesto de obra

Para realizar la extracción se puede utilizar bibiotecas de python como BeautifulSoup y Request

Lista scrapeada en formato JSON

La idea es tener una base para reemplazar los keynotes nativos de revit, asi tener definición de elementos constructivos, asi como una clasificación de partidas a través de los Assembly Codes. Una vez incorporada esta info en el modelo, tomar el resto de la info en esta lista para linkear las tareas definidas por Ondac a cada partida

3.-Asignaciónde Keynotees y Assembly en Revit

Mediante el ingreso de un .txt se puede reemplazar el archivo nativo de keynotes, asignando valores Ondac

4.-Lectura de JSON en Dynamo

Visualización de los distintos niveles de información en JSON

5.- Traspaso de información de elementos (Keynotes y Assembly Codes)

Tomando la informacion por categoria, se entrega una lista de todos los elementos en el proyecto, en este caso, la información de muros

6.-Extracción de valores únicos, y traspaso a excel:

En un módulo python es posible extraer los valores únicos de la lista, los que pueden ser traspasados a excel para comenzar a crear el presupuesto oficial

7.-Proceso similar para Assembly Codes, los que pueden ser utilizados como guía para la elaboración de las EETT

8.-Verificación de valores con una categoría distinta (pisos)

Con estas pruebas es posible llegar a definir un métodos de automatización en el traspaso de información de un modelo Revit a un presupuesto oficial y a unas EETT, haciendo mas fluído el proceso de especificación

Cálculo procedural de GDC en CE y Python

El Greatest Common Divisor (GDC) de dos o más valores positivos, distintos a 0, es el mayor valor que divide ambos numeros sin residuo, una de los me´todos para encontrar este valor es el algoritmo de Euclides:

 

ae01

ae02

Por Ejemplo:

el GDC entre 32 y 17

32 = 1×17 + 15

17 = 1×15 + 2

15 = 7×2 + 1

2 = 2x1 + 0

el GDC entre 32 y 17 es 1

 

APLICACIÓN

El uso de este método sirve en geometría para determinar el valor mínimo dentro de una superficie rectangular (tomando en cuenta dos valores) obteniendo así un valor base para la subdivisión y posible distribución espacial de una superficie

170px-24x60.svg                                              170px-Euclidean_algorithm_1071_462

 

GENERACIÓN PROCEDURAL

Para el traspaso de este método a cga, dentro de una planta de predio, realizo los siguientes pasos:

  1. Aplicación de Inner Rectangle a superficie (predio) irregular
  2. Reportar valores y exportar a Python
  3. Modulo Python para aplicación de algoritmo de Euclides

 

1.-Inner Rectangle es una plicacion en cga para insertar el rectanmgulo de mayor superficie dentro de un polígono

 

002

 

2.-Exportar valores del polígono a python

ae04

Estos valores se recogen por un script por medio del API de City Engine para incluir estos valores y reinsertarlos como attributos del polígono, y de ahi poder ser reconocidos por el siguiente script

ae07

ae08

 

3.-Código Python para aplicar GDC al polígono obtenido

ae09

Luego aplico la formula para obtener el GDC

ae06

003

Normativa de Edificacion en Dynamo

De la creacion de volumenes construibles según normativa en City Engine ahora empece a desarrollar la idea de implementar la aplicación de la normativa dentro de Revit, a través de Dynamo para probar el modelo BIM construible de acuerdo a la zonificación y a las restricciones de construccion

04

Capture

Link Imagen

A modo de ejemplo tomo un modelo de una vivienda simple de dos pisos, del cual se extrae información,  en un predio amplio al que se le construye una envolvente

06

El Método consiste encrear un código que identifique ciertos parametros del modelo, junto con la línea de propiedad, un nivel «Top» de la edificación (h máxima), áreas por nivel ( para cuantificar el area total edificada), y parametros globales que informen acerca de la Zona

01

Estos parámetros se introducen en un código Python que incluya los valores por zona parametrizados según la normativa

02.jpg

Luego cada parámetro de la normativa se visibilizan y se automatiza el acceso por zona

001

Dentro de la extracción de información del modelo primero estan; el área total del predio, y las áreas por piso con su sumatoria05

Construcción de la envolvente a partir de la linea de propiedad

 

07

Calculo de ocupacion y coeficiente de constructibilidad

08.jpg

Extraer altura total

09.jpg

Para extraer el numero de pisos es necesario limitar el conteo a los niveles en el nivel 0 y superiores, por lo que es necesario filtrar el listado de niveles extraído del modelo insertando un código Python

11

Luego todos los valores extraídos se comparan con los máximos según la normativa, los que entregan un listado boolean de aprovación o rechazo

10.jpg

Falta aún desarrollar la generación de rasantes y distanciamientos mínimos para obtener la envolvente lo más ajustada a la normativa

 

 

 

 

 

Graficación de Atributos de población por manzana

El siguiente ejercicio es un código simple que permite visualizar los atributos de población por medio de un gráfico de barras por cada manzana, funciona vinculando el atributo, importanto un cilidro en formato DAE y permitiendo visualizar con color uniforme of gradiente, vinculo el atributo de viviendas y habitantes por manzana

01

Cálculo de plataformas para nivelación de terreno

Este es un ejercicio que empecé buscando la forma de crear automáticamente plkataformas en un terreno inclinado, por medio de este código puedo saber la diferencia de nivel, calcular el número de escaleras necesarias, elegir el número de plataformas para el terreno, elegir el eje al cual alinear la plataformas y ubicar las escaleras

Primero se crea el polígono y se da el desnivel

02

 

En los atributos puedo determinar el número de plataformas y saber los datos de altura y número de escaleras

03

 

La idea es generar un terreno nivelado para exportar a dynamo para trabajar con una generación automatica de volúmenes

 

 

 

 

 

Reconstrucción Patrimonial en CE (pt.1)

Dentro de las aplicaciones para el SIG en 3D es la posibilidad de generar entornos procedurales, los q aplicados a distintos ámbitos de la arquitectura permite, entre otras cosas, el poder crear reconstrucciones patrimoniales a escala media y grande, en este caso el casco central de la ciudad de Antofagasta con info recopilada del periodo 1869-1875

El punto de partida es el croquis realizado por el Arq Carlos Contreras en 1964 de la ciudad en 1869

DSC_0268.jpg

Y el plano fundacional de J.S. Prada de 1869

pr1

 

El primer paso es digitalizar los mapas en ArcMap para tomar como base en la escena de CE, crear una red de circulaciones para crear las calles y añadir fotogrametría del terreno

pat03

 

A continuación elaborar un DEM a partir de la topografia actual modificada para seguir la línea de mar marcada en el mapa de 1869

pat04

 

Luego se insertan los datos en CE como contexto

pat05

 

Dentro del diseño de códigos para el diseño de los edificios, parto tomando la arquitectura de los edificios patrimoniales existentes en la ciudad

ex-gobernacic3b3n_marc3adtima_de_antofagasta_vista_desde_el_oeste_3

pat06

Tambien tomando fotos y croquis de la época

dsc_0254

pat07

En las siguientes etapas voy a seguir adaptando el código para representar la arquitectura de la época, recopilando datos para incorporar usos, número de pisos, materialidad, etc. y representarlos en atributos que sirvan en el levantamiento de los predios del plano de 1869

 

 

Análisis y proyección Urbana en City Engine

El análisis urbano y la recopilación de datos de edificaciones en un radio determinado sirven para hacer un levantamiento de un área de interés a la cual es posible aplicar ciertos parámetros por medio de las cuales proyectar el crecimiento urbano de la ciudad; aumentando la densificación y la proyección de usos para consolidar un área degradada, en este caso, el centro de Antofagasta

04

El área de interés son 30 cuadras del centro de la ciudad.

1.- Tomando los datos del plan regulador, es posible extruir el entorno de la ciudad con márgenes determinados aleatoriamente, de acuerdo a el número de pisos permitidos y el coeficiente de constructibilidad de las zonas incluidas

ant08

2.-Para el área de interés se introducen valores tomados del catastro de las manzanas incluídas, altura, altura por piso, uso, uso por piso, dirección, etc.

ant09

3.-En el código se vinculan los valores de la base de datos del SIG para mostrar los distintos números de pisos y usos recogidos del catastro

ant1054

4.-Se importa un codigo de referncia para introducir valores de colores por cada tipo de uso

ant0454

5.-Introduciendo valores de proyección de densidad, dentro de lo permitido por la norma, es posible proyectar un aumento de la densidad en predios en desuso o actualmente en mal estado, en este caso al año 2025.

ant18

6.-Al año 2050, en verde se ven los predios con mayor probabilidad de renovación o cambio de uso y su proyeccion de altura u densidad.

ant19

Es posible incluir una mayor cantidad de variables, como; proyección económica, cambios futuros al plan regulador, expectativa de vida, proyección de migraciones, inclusión de proyectos de gran escala, etc., a incluir en proximas versiones, slds.