Intersections with FamilyInstance with extrusion

Intersections with FamilyInstance with extrusion

Leonardo252627
Community Visitor Community Visitor
249 Views
0 Replies
Message 1 of 1

Intersections with FamilyInstance with extrusion

Leonardo252627
Community Visitor
Community Visitor

Hi!

 

I have a model with intersecion like on attached image "Intersecion.png".

The problem is with appling ElementIntersectsElementFilter to FilteredElementCollector when I tring to find intersection between some element (Pipe for example) and any FamilyInstance with extrusion.

 

It can't find intersection like on the attached images.

 

Tee familyInstance (see Familysymbol.png) contains 2 extrusions and 3 couplings.

It works fine when I try to find intersections between pipe and tee's couplings, but falied with extrusions. 

It finds correct intersections between all tee's components when i use BooleanOperationsUtils (see code below).

But this approach doesn't suits to me, because it demands to get single element's solid. This is an issue because i have sometimes elements with > 100 subsolids and the same boolean Union operation takes a long time and often have a lot of fails. 
I tried to detect elements of  this type but couldn't find any ways to detect extrusion inside FamilySymbol of this FamilyInstance.
I would be appreciated if anyone could help me.

 

var collector = new FilteredElementCollector(doc, elementIds);
var filter = new ElementIntersectsElementFilter(pipe);
var intersectionElements = collector.WherePasses(filter).ToElements().ToList(); //intersectionElements.Count==0

var pipeSolid = pipe.Solid();
var teeSolid = tee.Solid();
var interesectionSolid = BooleanOperationsUtils.
ExecuteBooleanOperation(pipeSolid, teeSolid, BooleanOperationsType.Intersect); //intersectionSolid.Voume = 0.0083216139902945029

 

0 Likes
250 Views
0 Replies
Replies (0)