nGon solids

Hi @Petras_Vestartas,

Firstly, thank you for the great plugin!
I just have a quick question regarding this image (2/10) on the Food4Rhino site of NGon:

Do these solids intersect? how are they generated? I found something similar but not identical in the tutorial file but would just love to double check - would be great to take a look at the file that generated this image.

Thanks again!

The logic is this

You extrude mesh edges, planarize extrusion and project edges to average planes. I will look if I have the same geometry.

Hi Petras, thanks for the response!
But as you project edges to each panel’s respective average plane, there is no guarantee that the projected panels don’t intersect one another right?
A collision test on a similar(?) routine in your example file is attached. (20.4 KB)

In the example attached you missed important part - planarization.

Before projection you need to extrude mesh edges and planarize them.
Planarization can be done either with ngon or kangaroo, which way is preferable to you.
After planarization they will not interesect but touch each other side by side.
I think grasshopper collision detection will return true even objects are exactly on the same surface.

1 Like

Thanks for the response!

I still don’t really quite get the workflow.
I also don’t understand why projected panels based on average planes are guaranteed not to intersect one another - doesn’t it depend on the projection direction and the curvature of the base surface?

If possible, seeing the entire workflow of what the NGon plugin is able to do would be great!
This is what I have now (also attached (15.6 KB)):
Thanks again!

Because projection is just additional step, planarization of sides guarantees planarity.
So it depends how well you can planarize you geometry.
And then you take edges lines and cut it with plane. That cut points you connect as a polyline which is flat because it sits on the plane. And how you define that plane so that you have better connection surface at sides it depends on either straight forward averaging of points or optimization methods by averaging plane to adjacent planes. (23.3 KB)


ah, i finally understand it now…when you said projection i didn’t realize it was projecting onto each individual plane ALONG the vector derived from the planarized edge planes (I thought it was a simple projection along the normal of the average plane itself). Thanks again for the help and the file! Any thoughts on how to keep the boundary (or at least the two edges that supposedly touch the ground in the example here) not jagged? I guess the simplest way would be to just trim everything with a plane…

Yes so far I seen examples either they make foundation to make the foot fit or planarized elements are cut. In coding it can be done more clean, but basically the same concept.

All the mehtods in gh components are wrapped inside NGonsCore.dll incase you are used to coding.

Hi Petras,

Might you be able to elaborate a bit more on the step of planarizing the extruded edges?
Is this similar to the dynamic relaxation technique in K2? I couldnt seem to find any documentation online to get a deeper understanding of the component/plugin. Thanks a lot!

I was using this solver for making this:

I tried to explain within these images: