Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Utilising Dynamo "Beyond" Computational Design

By Andreas Dieckmann. Presented at RTC Europe 2014, Dublin/Ireland. Software: Autodesk Revit, Dynamo.
by

Andreas Dieckmann

on 25 August 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Utilising Dynamo "Beyond" Computational Design

WIP
Utilising Dynamo "Beyond" Computational Design
Andreas Dieckmann
Chair for Computer Aided Architectural Design
RWTH Aachen University
Session 13 - Utilising Dynamo "Beyond" Computational Design
Andreas Dieckmann
Chair for Computer Aided Architectural Design
RWTH Aachen University

dieckmann@caad.arch.rwth-aachen.de
@a_dieckmann
Session material: https://github.com/CAAD-RWTH/ClockworkForDynamo/tree/master/workflow_samples/rtceur2014
Questions?
OOTB
MODEL
INFORMATION
2013
2014
1
INTRO
http://xkcd.com/1319/

3
2
4
5
PYTHON
TECHNIQUES
CASE STUDIES
OUTRO
EXAMPLE
Import references
Declare variables
import clr

clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *

clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
4
3
2
1
Import .NET Common Language Runtime

Import Revit API


Import Dynamo's Import Extensions
faminsts = UnwrapElement(IN[0])




elementlist = list()
Unwrap the elements fom the Python node input




Create an empty list for storing the results later
Process elements
for item in faminsts:
try:
elementlist.append(item.Host.ToDSType(True))

except:
elementlist.append(list())
Cycle through all input elements
First try the following statement:
Find the element's host, then wrap it,
then add it to the list of results
If that doesn't work:
Add an empty list to the list of results
ZERO TOUCH
Declare output
OUT = elementlist
Assign the list of gathered elements
to the node output
90%
OBJECT
RELATIONSHIPS
MANAGE/CHECK
COLLECTIONS
MANAGE
RESULTS
GLAZING
FLOOR AREA
RATIO
EGRESS
PATHS
MANY THANKS TO
Retrieve all rooms
classified as occupied space
Filter out unbounded rooms
and retrieve room properties
Retrieve windows based on each room's boundaries
and filter out all interior windows
Compute window areas
based on type width & height
Doors work like windows
but need to be checked for transparency
Roof windows are not linked to rooms. So we need another method:
Create a point below each roof window
OOTB
CUSTOM
ELEMENT
COLLECTIONS
FORMAL
INFORMAL
SORTING
GROUPING
CONDITIONS
FILTERING
PROPERTIES
a.k.a. CONCLUSION
SORT BY PROPERTY
SORT ORDER
SORTING NESTED LISTS
CONDITIONAL STATEMENTS
CUSTOM NODES
FILTER BY PROPERTY
FILTER BY BOOLEANS
FILTERING NESTED LISTS
VISUALIZE
WRITE
TO MODEL
IN MODEL
MANIPULATE
EXPORT
THE MODEL
ISOLATE IN VIEW
SEND TO SELECTION
SAVE SELECTION SET
ALTERNATIVES
PROCESSING
API
Match roof windows to rooms
using the projected points
Create a collection of all room-bounding
curtain walls, curtain systems and glazed roofs
Curtain panels are not linked to rooms.
Project points to both sides of each panel
and try matching them to rooms in the model.
MATHEMATICS
BONUS TRACK:
SOMETHING SLIGHTLY MORE TRIVIAL
YET SOMEWHAT MORE PRACTICAL
POLICING ANNOTATION ELEMENTS
BASED ON VIEW SCALE
REVIT
DYNAMO
Identify the room that serves as a fire escape.
Build a list of pairs of rooms based on doors in the model.
Create graphs of possible paths
for each room as room sequences
Convert room sequences to door sequences
and door sequences to point sequences
Find the shortest possible path for each room based on the respective point sequences
For each first room of a sequence
find the longest distance to the door
Compute the total egress path length based on
door sequence and distance in first room
Full transcript