I’m developing a project that automatically generates families of prefabricated segments on the basis of Revit project modeled in a traditional way (regular Revit walls, etc.).
In a nutshell: I import Revit geometry to Dynamo, divide it into modules based on a set of constraints, and then export these modules to separate Revit families for scheduling using FamilyInstance.ByGeometry from Spring Nodes.
I’m almost there with the basic framework, but I’m struggling with an issue, that should be one of the key features of this script: it happens in the process that I receive a number of identical modules, say, two segments of straight walls without openings and with the same length (see image). My current workflow turns these two segments into two separate families, which is pretty useless for scheduling.
Ideally, I would like to detect that two solids in my model are identical and eventually convert both of them to two instances of the same family which would allow to count them together in a schedule - as two instances of the same family instead of two separate beings.
One idea I can think of is to:
- Identify and list all different modules within the project
- Create families from them
- Place these families in appropriate locations
And whereas points 2 and 3 seem doable I cannot think of a method for comparing geometries of all the modules and grouping them. Could maybe anyone help me out with this?
Thanks in advance for any help.