Determinate COBie.Component.Space

Hi everyone.

I don’t know in anyone knows about COBie, but i’m having some troubles setting the COBie.Component.Space for maintainable instances in my model.

At this param i have to assign nothing more than the correct room number in wich my maintainable elements stands.

Now, the problem is that i’m working with very huge models, with thousand of elements and related parameters to set. So i’m trying to let dynamo do the dirty work.

In short, for first, my script extrudes rooms geometry from simplified room finish boundaries, than decompose these geometries into surfaces. Then the script determinates distances between centroids of every single instance (finishes walls, floors, doors, etc) and every single room geometry surface.
Then every list of distances thus obtained is sorted. In that way, in my pourpose, filtering by distances smaller than less than 1/2 mm, shall return only elements belonging to nearest rooms.
Then the script matches room numbers with corresponding rooms geometries and, so, shall assign the correct parameter.

In theory, this is what should happen, but not what happens.
I noticed that, if the COBie.Component space is incorrect for one element, is incorrect (and it’s the same wrong value) also for other element belongingo to that room. Eg: if the script sets 0-R01 value for a finish wall’s COBie.Component.Space, but it’s actually A-R02, every wall of A-R02 will have 0-R01 value. So i thought that there is a problem with the matching room number with corresponding room geometry operation. For this reason i putted some extra nodes to force rooms sorting by volumes. Although nothing seems to change.

Unfortunately i can’t share models i’m working with, but here is my script.

WIP ComponentRooms2017 FF.dyn (107.0 KB)

thanks in advance for anyone who might help me and sorry for my bad english.


thanks you for your awesome script. Just a quick question
List.ReplaceNull what package is that?