Room boundaries "Line too short" error

Hello,
I am getting a “null” floor created with the crumple node (but same with the OOTB floor create node).

I tried the original list of curves, and the joined single curve:

I have troubleshot the problem with the automatic Ceiling tool, which returns the error “Line too short”:

However, the shortest line in the list of boundaries is 0.111 feet, which should not generate that error:


Any idea what generates this error?

How do I clean up these boundaries from segments too short?

Most room boundaries work fine, but once in a while I get this error, in some specific rooms. The OOTB automatic ceiling too fails as well, so, it’s not me!

Thank you

regards

1 Like

@Giovanni_Succi ,

check out your listlevels!

could be you have to flatten your input!

KR

Andreas

Andreas, the script works fine with one or multiple rooms.

Only some rooms fail.

Levels cannot be the problem…

Thank you

@Giovanni_Succi ,

i know that issue… i think there is a minimum length

you could replace the value based on a condition… using CodeBlock

f.e.

x <= 0.111 ? 0.500 : x

Thank you Andreas, yes that would work to filter a list of numbers.

Here though, I would have to reduce the lines to points, combine points by a tolerance value, and then rebuild the lines.

With the risk that the lines will not longer follow the boundaries of the room, if 0.11 feet is too short to process (1”!).

Also, being nerds, if there are other zero length lines, why don’t they show? And why I can easily draw a floor with segments much shorter than one inch?

Finally, these are room boundaries: each is depending on a specific boundary element (wall, column, CW…) if I need to disrupt the data structure of the boundaries I might not be able to do further operations down stream, like joining a baseboard to its wall….

Ah… decisions… decisions…

First, scale geometry by 1000 or more, so you could see that short line and others near. If short line and touching lines are collinear, you can just apply CurveLoop.Simplify from Springs package. If small line is on angle, you have to move parent element with snap to eliminate it. It’s just modelig imperfections.

I’ve made boundaries healer year ago. Save your lines with Data.Remember node, share dyn file. I’ll test my solution and will post it.

What is the warning of polycurve node? What length unit you have set in the project file ?

No warnings, simply the floor creation node returns null.

Foot and Inches.

Regards

I think i resolved this issue 4 years ago. What I did is to get all the curves in Dynamo that you got using to create the sketch lines, then extract the points of all curves in a single list, purge duplicated, sort points by clockwise order of their coordinates X, Y, then generate a closed polycurve from them, then simplify curve with a node that gets you same curve shape but removes unnecessary points.

I think the minimum sketch line length was 0.08mm so maybe your issue are the project units…not sure if not seeing anything on screen

Well, I have tried the new join by curve node with tolerance, I have tried simplify… the floors are not built.

There is something in some of the rooms boundaries that make the node fail.

I am wondering: is there a way to internalize data like in Grasshopper so that I can post the list of room boundaries that fail the floor creation node?

thanks

Data.Remember might do the trick.

Did you change your picture?
You don’t look like Ben Afleck anymore…

:open_mouth:

1 Like

My old account had to be merged into the one I was using for work, and so I’ve added a pic here but had limited available as it’s run from my work PC.