How to planarize non planar surface?

Hi!, I’ve an issue. These shapes are made out of 49 surfaces. I want to lay each edge flat on the cplane to be able to make a svg file for my laser cutter. Unfortunately these 49 surfaces are SLIGHTLY not planar. I wonder how I could make theses 49 surfaces planar.
poggerslampe.3dm (15.8 MB)



planarize_2022Sep30a.gh (286.9 KB)

P.S. Here is a very slight change that aligns the shapes better. In the purple group, the first Avr (Average) is replaced with List Item, which happens to be the inside bottom discontinuity point.


planarize_2022Sep30b.gh (289.1 KB)

See (and understand) the difference?

1 Like

my general thought in cases like this is to delete the non-planar section curves that for some reason came out wrong, go back to the original surface you used to generate them, and just redo the job straight :slight_smile:

I think your base Brep was generated using a scaled and rotated pentagon, something like this (note: this is NOT your geometry, it’s just slightly similar)

then you can grid your curves as shown by @Joseph_Oster or even nest them with OpenNest

sbròmbal.gh (26.2 KB)

if you happen to still have the earlier stage of your design -where the solid was not sectioned yet- I think you would get much better results :+1:

[edit] actually you might be able to sort-of reverse build your original shape from just the “wrong” section curves… if you just section them with parallel planes and interpolate the points of the internal and external shells, you will end-up with something similar to this, which is loftable…

close to the original, still not the very same as the original :slight_smile:

sgumbiè.gh (305.7 KB)

nice lamp name btw xqcL

1 Like

Yep, most of my code was janitorial work. :sunglasses:

1 Like

FYI, I get two errors when I try to open your GH file:

Graph Bezier2 could not be instantiated.

Object ‘Graph Mapper’ {bc984576-7aa6-491f-a91d-e444c33675a7} failed to deserialize itself.


1 Like

Wow thank you so much! I wasn’t expecting so many good answers that fast! I don’t understand everything perfectly cause i’m new but i’ll try my best. I’ll give you some feedback later

oh you’re right… in the graph mapper I used a graph-type that came with the Riched Graph Mapper plugin (which I believe is awesome, but still: it’s a plugin :slight_smile: )

here is a no-plugin version :+1: (the shape is abit rough…)

sgumbiè_legacy.gh (310.9 KB)

and in case Riched Graph Mapper is of interest: Riched Graph Mapper | Food4Rhino

1 Like

Looks great! Care to share the GH file?

lol I thought I had already :slight_smile: edited the last post! sorry for that

Very nice, thanks. Doing the whole shape with GH is WAY BETTER, without a doubt. Easier to modify all parameters including thickness (Offset ‘D’ input) and the results are far superior.

Some comments on your sgumbiè_legacy.gh code… It is confusing to combine three different models in a single GH file. The internalized geometry of the third model makes the code file much bigger (305K vs. 14K without it). The first model fails because you didn’t sort the cross-sections from the Rhino file (along a circle) before lofting them.

The middle model is the one that counts, of course, but some features of it are disabled or hidden, such as the top and bottom surfaces and the “ribs”. Also, the second Graph Mapper is now linear and therefore useless. It’s a beautiful thing.

1 Like