quick guide to basic functions - bauhaus university, weimar · download test revit project...
TRANSCRIPT
Quick Guide to Basic FunctionsHow to start work with Spatial Analysis Dynamo package
Ekaterina Fuchkina
https://infarapp.architektur.uni-weimar.de/sad
05.11.2019 | Version 3.0.0
1. OPEN TEST PROJECTDownload test Revit project (“Villa Savoye RVT20.rvt”) and open it. Check that project units are set to meters. Then launch Dynamo.
2. ADD “ABOUT” COMPONENT Add the “About” component to the canvas. This component will notify if
new version is available. When you click on the information icon, then a
new information window will appear with a short description and links to
the documentation.
3. ADD “PREPARE GEOMETRY” COMPONENT Add the “PrepareGeometry” component from the “General” tab to the
canvas. This component is a start point for almost all workflows in this
package. It processes all necessary Revit geometry in order to perform
analysis in next steps with other components.
It displays 5 main types with which the package works: “Floors”, “ Walls”, “
Stairs/Rumps”, “ Columns” and “Masses”. “Floors” and “Stairs/Ramps” are
considered as analysis surfaces which are discretized to compute some
measures or to build paths on them. The other types are considered as
obstacles. There is also displayed a “Closed Doors” title, which shows
how many doors are marked with “ObstacleTag” as obstacle(will be
discussed later).
The last title here is “Triangles”, which shows the number of triangles in
the all processed geometry (not for the whole scene but only for
geometry which mentioned above). The higher this number is, the longer
the computation time for the analysis components can be expected.
4. ADD “CREATE GRID AND SECTION BY FLOORS” COMPONENT Add the “CreateGridAndSectionByFloors” component from the “Grid” tab to the canvas. This component is also frequently used during various
workflows. Connect the “Geometry” output from the “PrepareGeometry” component with the “Geometry” input of the
“CreateGridAndSectionByFloors” component.
5. INCLUDING/EXCLUDING FLOORS FROM CALCULATIONNow a grid for every floor object marked as “interior” and for all stairs/rumps will be created. In
example below the roof floor and the ground floor are both of type which is marked as
“exterior” and, therefore, it is not used for grid generation.
“Exterior” floor type
“Interior” floor type
6. “CREATE GRID AND SECTION BY FLOORS” COMPONENT: OUTPUTSThe “CreateGridAndSectionByFloors” component has two outputs the “VantagePoints” and the “Section”. The “VantagePoints” represents the grid
which discretizes the analysis surfaces. The “Section” output is needed for other components to perform 2D analysis.
7. INCREASE\DECREASE GRID SIZETo increase\decrease frequency of the grid points (“VantagePoints”) the “CellSize”
input parameter could be manipulated. Default step between the points in the grid is
0.3m.
The denser the grid, the more accurate the following analysis results will be, but at the
same time the more computation power it needs. On the other side, a sparse grid can
create a situation when a step between points is larger then some doors width, or
columns of points or rows are not coincident with small doors spacing and, therefore,
they couldn’t “go” inside such rooms (as in image with the cell size of 0.5m).
This means that before to start the analysis it is important to generate appropriate
grid for a project geometry: not so dense to not make it calculate forever but also not
too sparse to obtain valid results further.
0.3m 0.5m 0.2m
Here grid couldn’t fit inside the small room
8. “CREATE GRID AND SECTION BY ROOMS” COMPONENT Nevertheless, another approach could be used to generate grid points and
avoid the problem with small door spaces.
The component “CreateGridAndSectionByRooms” from the same “Grid” tab
generates grid separately for each room boundary, therefore, for this
component it is also possible to control the areas where grid will be
generated and where will not more precisely, which could reduce the
computation time at the end.
The “CreateGridAndSectionByFloors” takes into account door spaces and
creates points in such areas (highlighted by red square on images), where
the “CreateGridAndSectionByRooms” generates grid inside the room and
couldn’t include door areas. This is important for a further accessibility
analysis where it is needed to be specified which distance is allowed
between two point to consider them as “connected” (will be discussed
further). 0.5m
Grid generated by Floors
0.5m
Grid generated by Rooms
Because grid by rooms is generated separately for each room
there is no possibility to generate points in-between them.
9. DISPLAY SECTION LINESBoth components have same “SectionHeight” input - which
controls at which height a section will be made or, in other
words, it defines the height of the viewer.
In order to display section lines, add the “GetSectionLines”
component from the “Grid” tab to the canvas and connect
“Section” output of grid component with corresponding input
of “GetSectionLines” component.
Section Lines
10. OBSTACLE TAG: DOORS AND MASSES AS OBSTACLESThe “ObstacleTag” input of the “PrepareGeometry” component allows to specify which project
parameter will control if door or mass object is treated as obstacle or not. By default the
component will check every door and every mass object for the “IsObstacle” property. If
object has such property and if it set to “True”, than it’s geometry will be included to analysis
as obstacle. In order to add “IsObstacle” property to object, open the “Project Parameters”
menu and create a new project parameter with name “IsObstacle”. Set it’s type as “Yes/No”
and select object category to which this new parameter will apply (e.g. Doors and Masses).
10. OBSTACLE TAG: DOORS AND MASSES AS OBSTACLESAfter project property is created, it could be found in object properties. Now, if some door object will be marked as obstacle, the grid for a room
couldn’t be generated because there will no access to room. For the masses this tag is usually needed when it is necessary to exclude some
masses from analysis, for example, if mass object is used as some abstract object to represent a position value. Every time the “IsObstacle” tag is
changed for an object, the “PrepareGeometry” component needs to be recreated or the dynamo document needs to be reopened.