I was just appreciating the sequential loading of a speckle stream into Revit and it got me thinking, is this just because it looks cool seeing each element loaded element by element or is there more to it:
does loading in this way trigger Revits built in behaviour such as joining framing elements (i turned this off in the example) but this could be useful for something else I have been working on dealing with Revit pipes.
How is it achieved. It all comes in under a single transaction but I haven’t seen it used elsewhere. I don’t think RiR or BHoM create a model in this way you tend to get the Spinner and then boom the whole model. I’ve been lazy and not looked into the source code but wanted to give some Kudos
Thanks for the kudos, it took indeed quite a bit of head-scratching - many kudos to @connor for figuring it out!
Our benchmarks show that it’s a bit slower than a single transaction without sub-transactions, but given the better user feedback it was worth it
Ok, it sounds like functionally Revit’s internal behaviour isn’t changed.
The case I was thinking of is that when drawings pipes and ducts manually in a series, something gets triggered that try’s to resolve the connection of the various elements.
From my limited testing when performing this computationally this behaviour doesn’t happen and wondered if building the model as above would resolve this? Doing a quick test doesn’t look like it does.
In any case I agree that the slight overhead in speed is worth the improvement in user experience. Its rewarding seeing a model generate in front of your eyes piece by piece. And even more important potentially for less computational oriented users to get that visual feedback.
I was thinking of posting the above on LinkedIn would you be happy with that?
It’s sexier than a progress bar. Fun fact: if this benefit wears off, there is some advantage in navigating the view, so all those incremental updates are out of the current view scope.
Hi Alex, thanks for sharing your video, awesome! that is the one I am looking for Grasshopper definition that can generate the element one by one onto the model rather than a group by trigger, can you give an idea on how you did it? this one is quite a practical approach and it won’t clog your process of generating the model.
@Joel_Ocampo It’s the Revit connector that takes care of creating elements one by one, you simply load those elements up from Grasshopper using our BIM nodes, and the rest should be taken care of.