Locate ModelItems in Room

Locate ModelItems in Room

sichengzhu
Contributor Contributor
936 Views
5 Replies
Message 1 of 6

Locate ModelItems in Room

sichengzhu
Contributor
Contributor

I want to know the certain ModelItem is in which room or a room has which ModelItems in it. Now we are working on large Projects with IFC Files from different Partners and Softwares. It means I cannot find out it easily in Revit. 

 

I have tried the Method BoundingBox3D.Intersects(), But as we know the BoundingBox does not represent the real Geometry of an item. Sometimes it has many mistakes.

 

Are there any easy Methods to achieve that.

Can we Control the Crash Detectation for each Room using API? 

Or if we have the primitives of geometry data using COM API, are there any developed Methods to determine whether a Point is in the geometry or out of that?

 

 

0 Likes
937 Views
5 Replies
Replies (5)
Message 2 of 6

rade_tomovic
Advocate
Advocate

Anything new here? Basically, if you are running clash detection of any type, in cases where one object is completely within another object, Navis will not treat this as a clash. Also, Bounding box methods are completely non-relevant since they can be quite unsure.

0 Likes
Message 3 of 6

sichengzhu
Contributor
Contributor

Thank you for your reply. I have also found that. Clash Detechtive can only solve some objects. I am not looking for some geometry method to find out other objects.

 

0 Likes
Message 4 of 6

alexisDVJML
Collaborator
Collaborator

Very interesting feature you are trying to implement !
Let us know any progress.
I will probably need this in a few months from now for one of the project I'm working on and will revert if I mange to implement something to achieve this if you have not found by then...

Main Scientist, Full Stack Developer & When Time Permits Director of IDIGO ► On your marks, Set, Go
0 Likes
Message 5 of 6

sichengzhu
Contributor
Contributor

I am now using two Methods. First to implement a clash detective. If the target object intersects with the Surface of a room, then it will be found. After that, several ModelItems are found in no room or several rooms. 

The second method is to use the BoundingBox.Contains(). But the BoundingBox is not accurate. Some ModelItems may also be found in more rooms. Then we have to locate them manually. 70% - 90% ModelItems, which really located in a room, could be successfully found.       

0 Likes
Message 6 of 6

rade_tomovic
Advocate
Advocate

Yes, basically that was my idea as well but still it is not precise nor reliable enough. There is iConstruct plugin with Zone tools, but it’s too expensive. I did a small research regarding this issue - what we need is a library which will use geometry from NW and apply various 3D body containment algorithms. However, this is a lot of work and right now I’m developing other features for my plugin.

0 Likes