dynamo tutorial: lifting capacity’s check...17/01/2014 @jbenoit44 2 dynamo tutorial: lifting...
TRANSCRIPT
17/01/2014 @Jbenoit44 1
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
17/01/2014 @Jbenoit44 2
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
Nodes to get data from Excel
Crane type worksheet
Get the crane family instance
Custom nodes to get all the instances of a given category in the Revit document Credits to Andreas Dieckmann for those packages.
17/01/2014 @Jbenoit44 3
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
A way to filter elements from the selection Details on next sheet
17/01/2014 @Jbenoit44 4
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
OBJECTS
HORIZONTAL DISTANCE
XYZ Gravity center of the elements
Z of the elements
Applies 2 functions to the selected elements
Look for element XYZ Beam provide a curve as location
Evaluate curve at 0.50 provides Gravity center
17/01/2014 @Jbenoit44 5
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
17/01/2014 @Jbenoit44 6
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
Max Range of the crane coming from
Excel file
Distance between Crane axis and elements
Map node returns 0 if false or 1 if true
17/01/2014 @Jbenoit44 7
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
Node to filter out elements of a list according to a condition. Result is a boolean at a given Index. If element doesn’t match, the boolean at index is 0, so it is excluded from the list. Acts like selecting element from parameter value. Credits to Andreas Dieckmann for this great node among many other nodes…)
17/01/2014 @Jbenoit44 8
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
If instances are out of crane’s range, the chosen parameter is set to blank (reset).
17/01/2014 @Jbenoit44 9
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
Instances in crane’s range: - get family location - evaluate curves at center (0.5 parameter) to get center -calculate distance versus crane location
Distance is calculated as a ground projection, so XYZ locations are set to XY(Z=zero) locations by making ( XYZ - Z )
17/01/2014 @Jbenoit44 10
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
Get families Volume values, and calculate the weight of elements
17/01/2014 @Jbenoit44 11
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
Select the correct Excel worksheet
Organize lists to have one with Ranges values, the other with capacity at ranges.
Maximum range of the crane to get elements
Crane data in Excel
17/01/2014 @Jbenoit44 12
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
A custom node is needed to create a loop of operations to compare datas.
17/01/2014 @Jbenoit44 13
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK To create a loop so that each value
operates, the custom node itself is nested
The loop takes each value by First of list, then Rest of list is treated in the next loop
17/01/2014 @Jbenoit44 14
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
To avoid infinite loop, a test is made on the list length, when the last value has been operated, it returns an empty list, until then output is provided in the output node. Output is a list here.
Value in each loop is added to a list
17/01/2014 @Jbenoit44 15
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
Compare element distance to crane to check the range value at this distance
Map node returns a boolean’s list
17/01/2014 @Jbenoit44 16
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
Map returns 0 and 1 list
Filter 1 values, meaning the element is in those ranges comparing to the crane
17/01/2014 @Jbenoit44 17
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
List length provides an index position where boolean value is 1, using this result as an index will provide the next range value in the Get from list node, as the first index in a list is 0. For example, index 3 returns the 4th value of a list
17/01/2014 @Jbenoit44 18
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
At a chosen range, compares the load against the capacityc
Test node, if Load is less that capacity value, returns the « Yes » choosen value for the parameter
17/01/2014 @Jbenoit44 19
DYNAMO TUTORIAL: LIFTING CAPACITY’S CHECK
Last setup: filter in view looking for parameter values This is done so because Overrride element node is not functional in my localized release of Revit.
Have fun!