-
Notifications
You must be signed in to change notification settings - Fork 2
1.1.2 Add envimet buildings
Once you have created and settled the "white board" you can start adding envimet entities. Keep in mind you can always go back to the settings part and resize the grid or change the grid type if necessary.
Every entity is made by a geometry part and materials (please, see modeling logic ). Users must provide solids to transform into facegroup objects first. After that you can use the entity component to create buildings. You must connect three mandatory inputs:
- inx_grid: white board where to place the buildings
- inx_facegroup: group of faces to use for ray intersections
- _ID: start id to assign to buildings.
About IDs, envimet uses the principle of the incremental integer ID (E.g. 1, 2, 3...). Every building must have an unique ID. It is important for the calculation fase where envimet searches for ID and save results for each building that has a unique ID.
Grasshopper offers you more flexibility in this case, you have the option also to group all buildings together and consider them as a unique building, this could speed up the simulation.
As I told you an entity is made by geometry and materials. By default, building materials are wall 000000
and roof 000000
.
Building entities have the specification to be defined by more than one material (wall, roof, green wall, green roof). This is the reason why you find a specific component to create a building material.
The first part of the workflow is the research of the right material. You can use the useful "morpho_library" to get the material code to use.
It requires a mandatory input inx_workspace to read the potential project library.
- Morpho Library read envimet DB. If the systemDB_ input is empty it reads the system DB otherwise the project DB or user DB
- It shows all material categories. So you need to provide the right keyword to select the category you need.
- Filter by keyword if necessary (E.g. search for "brick")
- Analyze the material properties using XML output and select the appropriate material code with a native component of grasshopper "List item"
- Connect the selected material code to the entity component It works with the same method with every single entity that accepts materials
Here is the material mapping:
Morpho entity | Envimet material type |
---|---|
Building | wall |
Building green material | greening |
Soil | profile |
Source | source |
Simple plants | plant |
Plant 3D | plant3d |
You are free to use many envimet entities components of the same type. The only thing you should take care of is the ID order. Remember the question about how envimet uses the ID during the calculation.
There is a useful input that makes sure that the ID order is correct in case of multiple entity components of the same type, id_count. Use it with successive components of the same type like a chain.
It is strongly suggested to use a progressive approach. Once you have your first entities ready to go you can set up "morpho_model" that prepares the inx model to write.
This component is really intuitive, you must connect the workspace, location and grid + envimet entities. All entities goes on the same input inx_objects
Once the model is created you can use one of the writer components to save the INX file on your machine. There are three available writer component:
- morpho_write_model: it writes the model as it is. 2.5D or 3D models.
-
morpho_write_model_custom_profile: it writes the model but replacing all soil with
000000
material with a custom one. 2.5D or 3D models. -
morpho_write_model_ASCII_DEM: [expert use only] it writes the model and apply a terrain following an ASCII matrix. Users have to provide a text file with a matrix N x M, where N is the number of rows and M is a number of columns, the numbers have to be separated by comma and rows by new line chars. The matrix must be the same size as the grid. 2.5D models only.
Use "morpho_run_inx" to run directly Envimet Spaces and debug the model. Remember to set it to
False
once you have done, otherwise it will run every mimal change of the model.
Morpho for Grasshopper - Antonello Di Nunzio