Hexagon extrusion problem

Hello to everyone :blush:
I’m trying to create a hexagon script which is adaptable to every surface,
but unfortunate right now I am in a situation where I can’t get any further…
maybe someone could help me with my issue.
The extrusion between the two surfaces should be straight and not woven like this.

I would highly appreciate any help :blush:
Thank you guys in advance!


whynotstraight_fail.3dm (181.7 KB)
whynotstraight_fail.gh (10.3 KB)

On you weave component you make a curve with 3 points that are not aligned so at the end the sweep1 is not straight.
Use the toggle preview to follow your definition. So suppress the middle point and change the weave pattern to 0 1.
I have not the time to go deeper but there are many other problems.
Do you want side to be flat or follow the surfaces ?
I think also that it will be best to offset each hexagon and to use them to sweep longer hexagon that will be used to make holes …

Surfaces are things with their own coordinate word … meaning that the south “edge” for one MAY be the “north” edge for another. This means that a point at U/V 0,0 MAY “correspond” to a point at … you name it in the other pair. Result? the twist, that is.

There’s a variety of ways to check (and transpose if required) the pair for some sort of best “match”. It’s far easier to do that with code (the classic test is to sample 4 vectors and play games with these). If the surfaces are closed (either in U or V) that is a bit trickier since the seams must “match” as well (see attached and go for the tube demo). Or another classic way is to project division points from one to the other … but that has some limitations as well (works best on pairs of tubes).

Other than that the thicken part is also challenging IF max speed is required (Rhino is pathetic for anything “solid”) and/or IF planarity is required (say for making the pieces in real-world [plywood for instance]) etc etc. Real word means that the whole thing has a certain size that are at best 1000 times bigger than a toy model.

To make a long story sort: see attached (Code only, not suitable for you, just get it for the record/fun). Checks for “best” pair matching (as outlined above) are not included nor the ability for variable “hex density” via any number of attractors (push/pull) etc etc.

NOTE: Most of the screenshots display makeHexBreps mode 1 and 2 (meaning: no hex breps, only rings per polyline). Mode 3 does the hex tube (in 6 pieces for max seed, joining takes time and has no meaning in the real world).

hex-on-surface_PlanarThickPieces_V1.3dm (504.5 KB)
hex-on-surface_PlanarThickPieces_V1.gh (141.0 KB)

BTW: To indicate the real-life aspect of things, see results (C# is for internal use only, using any number of attractors [push/pull] - spot the variable “hole” in the hex rings - and other things as well) and production layouts (for CNC etc) that justify the 6 planar pieces approach as used in the previously attached def

And given the opportunity: this is more suitable to get the gist of the weird word of surfaces. The bad news are the same: via code … but you can use it, say, as some sort of dedicated add-on.

Surface_PairsMatch_V1.3dm (611.6 KB)
Surface_PairsMatch_V1.gh (136.4 KB)

Start with demo case 5 . Play with the boolean options available in order to achieve some sort of “match”. The visual aids ( West/South edges and vectors) can clarify things rather easily.