Why are my Hatches invalid?

Can someone help me with why my hatches are invalid when making them through these planar surfaces? The surfaces are valid geometry and the hatch preview also shows up properly. Its only when I am baking it to Rhino that it lets me know the geometry is invalid-
invalid hatch from surface.gh (30.3 KB)



e

Rebuilding fixes it

1 Like

Thank you this fixes the issue and I can proceed with your method for now. I would still like to know what about the original surface is problematic and why rebuilding fixes it. Can any McNeel engineers chime in?

EDIT: I am assuming that it has something to do with the underlying surface for all these as all of these were all trimmed from a much larger surface and rebuilding from the edges changes something about the parametrization.

There is a million ways to curse your geometry, especially if it was not natively made in rhino and came from other software.

For sure, but what about is it cursed in the first place? The geometry came from grasshopper, it wasn’t manually drawn out.

…what is a hatch?
anyway, the gh-node asks for a boundery. it is a bug that it creates something invalid without throwing a error. i think.

The component defines boundary as “The planar surface or curve which defines the boundaries of the hatch” and the icon shows the Surface Param icon so I have always used a surface for this input.

And yeah, it should definitely flag if an invalid hatch was created.

Found it


Geometric tolerance issues in the surface borders. Dfytz1 was right to just rebuild the geometry.

I would still appreciate if the Hatch Component throws up a warning of Invalid Hatches being created though.

Are you being serious or sarcastic? Es ist eine Schraffur.

@Kyuubimode
I don’t know if Rhino even really needs a closed boundary to create hatches. Many programs create a region from open ended curves which they then fill with a hatch and perhaps this is the underlying algorithm in Rhino aswell?

I would have assumed Hatch would demanded a closed planar curve; a region. If you give a surface, it is probably just casting to a curve like other components in Grasshopper do. At any rate, pushing your surfaces through a Curve container solves the problem. No need to rebuild.

:backhand_index_pointing_up: @kike

1 Like