A Revit vector property is different to a Dynamo vector ‘object’. Dynamo can work with Vector objects to determine angles and so on. This node takes a Revit vector property and tries to make a Dynamo vector from it.
Bakery
Get Transform Properties from Revit Transform Object
Get Connector.CoordinateSystem
Get Connectors from ConnectorManager
Get ConnectorManager
Revit Element Clash Detection v1
We can easily use builtin nodes like Element.Geometry, Geometry.DoesIntersect and Geometry.Intersect to put together a simple clash detection process in Dynamo. However, these geometry nodes bring some processing overhead.
To speed things up, I packaged it all into a Python Script in this node. Basically, it doesn’t have to unpack or ‘draw’ the actual element geometries, so the performance should be better than the standard nodes.
Inputs:
· RevitElementSetA – the first set of elements
· RevitElementSetB – the elements to clash against set A
The node does a full cross-product check to find the clashes.
Outputs:
· clashSetA – elements that clash with same index in set B
· clashSetB – elements that clash with same index in set A
· SetA_GeometryFailures – instances where Element.Geometry (pythonic / api) failed to make a geometry
· SetB_GeometryFailures – as above
· IntersectingSolid – the full geometry intersection between the two clashing elements
· clashPoint – the centroid of the intersectingSolid
This will be made available in Bakery package.
Future versions will likely be ‘chasing more speed’.
Filter Element List by Revit Z Value
This node takes a list of Revit points (feet, XYZ format), unpacks the Z values, converts to mm, and then filters an input list by a given benchmark value.
So, if you know that 90% of your Grids are set correctly with a -300mm lower Grid Z extent, place -300 in the input benchmark value, and you will get a list of ‘not matching’ elements. This allows quick checking of Grid extents that may be inconsistent.