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.
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.
· 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.
· 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’.
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.