Crumple - create floors

Hi all,

I have a creating floors issue.

When create one floor, eveything goes well:

When creating more floors (2 floors in this case), it won’t run.

I tried different levels, but keep getting NULLS.
Any clues?

@Bogey ,

list depth is one part

check also out the lacing, could be you have to take longest.

image

Hi @Bogey could you show your list structure…its very sensitive how the list is structered

1 Like

1 Like

hi…seems you have 2 floors with a lot of loops, right? when i look at your watchnode…do you have a rvt sample, then we can try ps…be sure you curve is grouped

I suspect he divided them per floor into sublists. My advice is don’t. Instead use a List.Count and List.OfRepeatedItem on the Levels node to circumvent the lacing.

That way you can have shortest lacing for every Curveloop group

This my whole script.
Per group mentioned what it does.

The blue group goes well.
The pink group doesn’t.

this pink one is first tried with just 2 floors, but when working, than this wil be a list of many floors.

You might want to verify if the Polycurves are actually closed

You could also use the BIMorph package to just copy the floors from LinkedFiles. After creation you can simply edit the parameters (such as hosting level)

Maybe that’s a smarter way to do it :frowning:

I want user to be able to give a size (greater than in m²) to filter out small openings is floor and keep only big openings (like an atrium). That’s also possible after copy the floors from linked file?

Other thing is, I try to use as little packages, cause of errors in future.

What will you advise me? Start over and use BIMorph instead of what I made already?

Yeah that’s tough.

I think I would make an inverted floor (so no outlines). Check the m2 per opening and get the index of them.
Then I would remove those indices and create the floor again. I don’t know if a floor with more than 2 loops can be created

My node is built to expect that for each floor you have a list of lists of curves, even if they only have one boundary. My node needs to account for a floor being able to be created from more than one boundary curveloop.

The easiest way to see the structure you need is send a handful of rooms into the room.finishboundary node - that is the structure the node expects.

2 Likes

yeah all about how it get the list :wink: btw great node thanks :wink: but if just for get arch link element floor…i would probably do with a link copy node…

1 Like

Hi Gavin :wink:
Watched you a LOT on youtube :slight_smile: thank you!

on topic.

I think I know how it works.
I also think I have my list how supposed to.

but still not working. Maybe has something to do about one or more polycurves not closed, but I don’t know how to check that.

In picture below, it’s the orange group.

I hope I can get it managed with this Crumple-node, cause I am quite sure this one wil be keeping updated and I want to use a less packages as possible.

It’s a copy from arch or constutors model indeed.
BUT:

  • it has to be a basic floor (3rd party software needs that)
  • openings les than some area needs to be removed from floor

That’s why I thought better to add a new floor instead of copying it.

agree probably best inthat case…

Revit_MUksU1ZJSQ

1 Like

I can’t get it working.

Any clues what’s the problem with it?
Something wrong with the curves in the list “Geometry.Explode”?

When I use the OOTB node, then all 103 floors are moddeled:
But the openings are also floors, so it draws 103 floors instead of 18 floors with openings.

When I use the Crumple node, then it won’t run somehow:
It modelles one floor somehow (but Crumple says NULL)
The lines are blue visible

Maybe something to do with the warning at the OOTB node?

Hi Rene…does it work lets say run on 5 floors ?

With one floor it works.
More than one floor not working.

It goes wrong on one (or more) particular floor.
If I use the 2nd floor from list, then this one isn’t modelled.

If I use the 1st and 3rd then it IS modelled.

This floor goes wrong:

I guess it has something to do with this:

But I am filtering the NULLS out