@Draxl_Andreas @Nick_Boyts
Thanks all for your responses, i appreciate it!
Skip to the last two paragraphs if youâre not in the mood for reading.
For context, i manage a structural revit model, with concrete walls and floors. Thereâs a LOT of piping for water going through the walls and floors, which i can import as a Revit link (if i am lucky) that contains generic models. If Iâm unlucky, i can only use 3D DWG or sat file. This depends on the size of the project and what software the piping company is using for their drawings.
Below is an example where ive received a Revit file, which consists of a generic model for each wall flanche (pipe that goes through a wall).
The blue pipe is what i can select in my host model after importing the link.
The regulars here probably recall me asking about clash detection with piping for years now, iâm thrilled to say i finally managed to do this properly. I can find the clashes in geometry, place a void family at the center of the pipe and adjust the diameter accordingly.
The opening have a temporary blue fill, so engineers can easily see a large opening has been placed without manual (visual) approval of a structural engineer. The engineer can switch the visibility parameter of this blue fill to NO when itâs approved. Pretty cool hehe, I came a long way for thisâŚ
Anyway, that looks something like this:
To keep things slightly more in control instead of just placing hundreds of wall openings unseen in a model,the graph the user can use a wall view or floor plan to only clash that wall/floor against the piping. This way we can open a view, run the graph, see it placed 10 new openings and move on to the next wall or floor. This is nice and all, but loading the geometry of the piping is very heavy.
To give some context to the scale of this geometry:
In the graph i simply use Select Model Element on the linked element and save the graph for this specific project. Then i gather all the linked elements in view (for now, it relies on a 3d section box to isolate only a part of the linked model). Doing this for every wall(or every few walls) or floors, takes up a lot of time to generate that linked geometry.
So, i wanted to add something to somehow save the output of element.geometry on the entire linked file once, so i donât have to generate it each run. I was hoping to keep the element ordered with the geometry so i can find the linked element ids in my view and grab the geometry from the saved file, so i dont have to do geometry.intersect on an enormous part of floating geometry.