Collect Elements in Spaces for Scheduling (ERROR with creating BOUNDING BOX for SPACES)

Hi All,
I tried to Create Bounding box for spaces but unable to create one, help me solve this issue.

Try to filter out unplaced spaces (Area not greater than 0).

Also bounding box containment will lead to a lot of false positives if you have spaces which aren’t orthogonal boxes). Try getting the boundaries instead.

I wanted to use it for scheduling purposes, it is now showing me wrong names and numbers for the element.

UPdate , but still space names are not propoerly assigned

Did you try getting the geometry of element and using geometry intersect node rather than bounding box intersection ?

Can you share what are you trying to achieve? get the space name/room name in which mechanical equipment is and use it in schedule?

With bounding box intersection you won’t get good results unless every space is a perfect square and every element is a perfect square inside of it.

Get the boundaries and element locations instead as noted above.

Yes I wanted to schedule mech equipments in a room or space.

I’m not able to run, it keeps crashing

Try not drawing the “element.geometry” from the “element.geometry” .

That was my fault, but then it still is hanging for more than 45 min,. n eventually about to crash

Have you tried if it works with less elements?

Also make sure not to have any “windows” open in Revit while you try to execute Dynamo (this goes for e.g. “edit type” window etc.)

Unfortunately, geometry work is almost always going to be slow. If you want quick, you need to use another method to get your results, or reduce the amount of elements you’re looking at. Try grabbing specific family types instead of all mechanical equipment. Or work floor by floor, or view by view.

Or better yet, get the element location (likely a single point for every bit of mechanical equipment) instead of the element geometry. If the point is in the space then the equipment is too.

One other method, you could just enable the room calculation point in the families themselves and schedule things that way.

@Arun_Prakash before you resolve the performance problems the elephant in the room is your end goal. If I’m not mistaken you are attempting to update the parameters of linked elements? Unfortunately this wont work - you cant modify a linked document.

I would suggest re-thinking your approach if that is the case. The simplest solution is to do the reverse of what you are attempting: link the rooms into the mech model, make the link room-bounding, then create a simple script which copies through the rooms and preserves their parameter data. You’ll then be able to utilize the system parameters of the mech equipment which automatically report the room they are in (so long as you don’t have ceilings of course), preventing the need to perform expensive geometry intersections… and you wont even need to use Dynamo to update the parameters either.

1 Like

Incase trying to set parameter values for elements in the active model with data from the link (meaning you’re working in the active document but pulling info from the link), you can try something like this:

@JacobSmall I want exactly what you said, get room data from linked model and assign it to current model component’s instance parameter,…

But I get this error,… its getting the location of Element sin current model bu not the linked model

I tried to use it in a sample project, it worked fine :slight_smile:

So are you sure it doesn’t just freeze due to the massive amount of data you’re trying to change?

@PauLtus I think template which which i created sample project was same, but in the real project, template we use in our organisation is a bit customised compared to the archies.

I think so, you have any take on this ?

If you were to compare their inputs, in what way do they look different?