How to use the "Facet" battery to make a geometric surface on a curved surface?

You didn’t internalize your surface.

Facet.3dm (2.3 MB) his is the rhino 3d file

This is a rhino 3d file, how can I get it?Facet.3dm (2.3 MB)

Facet is a strictly convex shape algorithm. It cannot be applied to an anticlastic surface. In fact it’s hardcoded to run on just a sphere, so not even other synclastic surfaces.

‘internalize your surface’I don’t quite understand what it means? :sweat_smile:

If I don’t use Facet, which method can I use? I have used many methods and I don’t know how to make such an effect on this surface.

Joseph is referring to point #3 in this post.

There isn’t one in vanilla Grasshopper. You may be able to get there by running a three dimensional voronoi and slicing the cells with planes, but I think you’ll have a hard time getting the facet edges to line up.

I think the best way forward is probably one of the many Grasshopper plugins which are suitable for creating planar tessellations. Kangaroo may work or possibly Mesh Machine, but I have to admit I’m not really up on what plugins do so I’m the wrong person to ask for that.

1 Like

Sorry, I am Chinese, I just didn’t understand what you mean. This is the lowest version of the rhino 3D fileFacet.3dm (597.4 KB)

It’s not possible to make the facets planar on a freeform like this without changing their shape a lot.
What do you want to do with these facets?
One relatively easy option is to flatten each facet to its best fit plane, and take up the difference where they meet in the depth of the beams.

I don’t know how to do it, can you make a formula for me?

Just taking the Voronoi of the default distribution and projecting each cell to its plane gives you this:
project_panels_example.gh (147.8 KB)
Each panel is flat - they have gaps where they meet, but with a deep beam between them you could take up this difference.

This is a complex topic though. If you just want to make a render, something like the above might be enough.
If you actually want to build it, and consider offset directions, node details, better panel distribution etc, there would be a lot more to consider - geometrically these things can get quite complex. I and others here will be happy to answer questions and help guide you, but we don’t do the work for you.

2 Likes

Thank you so much Daniel Piker for his help

This is done as much as I can, but I can’t do it, so that every polygon is a plane

Facet1.3dm (6.1 MB) 威海模型hg1.gh (25.4 KB)

1 Like

This is a failed effort that I won’t pursue further but perhaps is useful? It’s similar to creating a pilot house on a boat with a bunch of planar windows intersecting each other. It works beautifully in some areas of the surface and fails completely in others. One big issue is that the planar surfaces must be trimmed by the edge of the base surface…


facet_srf_2020Nov21a.gh (105.7 KB)
Geometry is internalized, no need for Rhino file.

It is just geometrically impossible to take something like these random Voronoi cells on an anticlastic surface and make them planar while keeping connected along their edges, and also keeping the approximate surface shape, maintaining the same mesh connectivity and approximate cell shape.
That’s not a matter of software, just mathematics.

You can create a mesh of planar hexagons and other polygons, but they would have to be drastically different shapes than what is shown in your original image (indeed many of them would need to be concave). Very likely even just by changing the shape of the cells it would not be possible - you’d need to modify their connectivity too.
If you go down this route I’d say it probably ends up as a regular grid of ‘bowtie’ shaped hexagons, something like this:

This is something very different from what is shown in the initial image here though, which is why I’m recommending to clarify exactly what it is you are trying to do here.

If the important thing is the look of the randomized Voronoi cells, then perhaps better to think about a different construction technique that doesn’t require the panels to be planar, or where they don’t need to meet exactly edge-to-edge.

Thank you Joseph_Oster for your help, I will study it myself, how to do better

Thank you Daniel Piker for continuing to help me answer, I will try my best to solve it

As Daniel and others stated clearly if you are after planar parts (and/or torsion free beams) this is tricky and may (or may not) have a solution (if part of the solution is a target surface that has some relation with the desired one). See what means “planar parts” in this random example.


Pfotiad0 PeterFotiadis, can you send me the formula you made?

What means formula? If by that you mean the “components” as shown … have in mind that these are 100% C# . Meaning that if you are not quite familiar with coding they can’t help you at all (because for you they’ll be just a bunch of weird/freaky black boxes).

Other than that … well … in general there’s another big issue related with these “solids” of yours: offseting polylines inwards [if the mapped poly is in some sort of concave surf segment] and then bridge them properly in order to do the sides of the solids (where these polylines - in most of cases - have some tiny segments [blame the Voronoi approach for that - V is totally unsuitable for any rational real-life AEC result]).

BTW: See the offset issue here (what Rhino Methods do, that is):

And this is the correct way to do it: