Is there a way to create detail lines from lines in a detail component? I don’t even know where to begin, With this one. I’ve searched for a while but can’t find anything in the nodes I have. I will update this after I look at the API. I just wanted to post this in case the solution is really obvious.
As far as I know, geometry of detail components can only be accessed by a combination of items:
- Get the Family Type geometry
- Transform the geometry by the family’s instance parameters which alter shape/distances/whatnot
- Apply the family instance’s transform matrix
If you just want something like the centerline or edge face of a linear detail component like plywood sheeting it’s often easier to use the location and apply offsets accordingly.
Luckily for me these families basically only have type parameter controls.
I’ve managed to get the geometry and create detail lines from it but it creating them in a different place than the detail component. I think I know what to do tho as you mentioned it here: Get Geometry of a family which has detail item
It’s also not created filled regions and symbols from the detail component. We might be able to live with that as they are not too common. Although if I could create symbols using this it would make editing diagrams more consistent.
Got the location fix done. I’m still getting warnings. It sounds like maybe the Element.Geometry warning can’t be fixed? There is a warning on DetailCurve.ByCurve+ which I think could fix by getting rid of surfaces in the geometry data.
A bit bummed symbols and filled regions not translating over. The idea of this script would be to ‘explode’ these detail components. The example images are for mech equipment that have typical piping connections. Usually these would be placed without editing but if they needed to be changed they would be replaced with line work so they could be edited to exactly what was needed for the project. The issue with this setup is people are going to have to remake those filled regions and place symbols again and what would normally be more detail components like valves would just be line work so moving them around again would be different.
I think I might try to nest detail components in the mech equipment family and see if I can get location and orientation of those elements so I can place them rather than copying them with lines.
I believe that filed regions come in as surfaces, do you see a relation there?
A better option might be to create a family with visibility overrides and offsets as needed for the various configurations, and just set instance parameters based on the need at each location.
I’m wondering if there is a way to get geometry of the nested detail items. Even when I create these detail items with nested details the geometry node still gets the geometry of the lines that make up the nested families.
Not sure what you mean here - can you post a small sample RVT with a before and after view (manually created is fine) showing 3 or 4 such items?
Here is a link to it on google drive. I couldn’t get it under the forum limit. The view shows the detail component on the left made of nested detail components and the right side shows it with line work and detail components. If I only use lines in the compound detail components the whole thing will be copied as lines which I don’t want because it would be a different workflow from normal. Another thing I noticed is that the masking regions on my pipe accessory family don’t seem to work inside the mech equipment detail family. I think this might just be a behavior of how nested masks work.
Last time I ran the script on the family type in the example it only got geometry for the lines. It didn’t collect any data on the detail items.
Can you post it in an openly accessible forum? There is a lock on that link. Thanks!
Sorry I had to drop this for a bit for another project. I came back today and suddenly managed to get everything working within a couple hours. I’m going to do some tests to try to get masks to work as well. I’ve read that masks only work if they are in the main family, not the nested details. So I’m going to try copying them to the main and they should will not be copied when the script runs, but I will have to find a way to set the copied detail items to the front so the masks work on piping lines.
EDIT: It looks like masked regions do work in nested detail items. I guess I just did something wrong last time I looked into it.
Here’s the script below.