Open nest causes Rhino to freeze for like 5-6 minutes on this script. There are only 30 pieces to assemble which are not much.
I have the following specs of my laptop.
Intel core i7 - 8750H
@2.20 Ghz processor
250GB SSD (NVMe) on which Windows, Rhino and all other software are installed.
Is this normal or am I doing something wrong?
waffle, nest query.gh (66.1 KB)
Create a 2d convex hull from polyline points.
It freezes because for every polyline OpenNest draws previously nested polyline. Which in essence is a problem of n factorial which is optimized by internal genetic solver. So the number of point per each polyline increase computation time not linearly.
I think I answered such question before in other posts. If you have issues with making a realively low poly outline from your shapes let me know.
These are a few images from the other case I helped with, that looks similar to yours:
I’m really sorry. I don’t understand what is a convex hull. It has been a very frequently used term here on forums but I never understood its meaning. I tried to read the basic here.
In geometry, the convex hull or convex envelope or convex closure of a shape is the smallest convex set that contains it. The convex hull may be defined either as the intersection of all convex sets containing a given subset of a Euclidean space, or equivalently as the set of all convex combinations of points in the subset. For a bounded subset of the plane, the convex hull may be visualized as the shape enclosed by a rubber band stretched around the subset.
Convex hulls of open sets are open,...
But the words used in the definition are more complicated than the definition itself.
What are the two components you have used in the first screenshot?
In the second screenshot, in the beginning there are three sets of curves.
The top one is the sheet rectangle which I can figure out. What are the two lower sets of curves? A script file will be useful as I have zero clue what exactly is going on.
Yes I don’t know how to create low poly outline. Please share the method. Correct me if I am wrong. I am making a guess here.
Low poly outlines just have lesser number of points. A straight line requires only two points. That’s a low poly line. If I place more points on it, then it becomes high poly outline.
Control Points → fit plane → Convex hull → orient from fit plane to default xy plane
The second curve is used to reorient after opennest transformation
The third one is for text and other tags i.e. engraving
Please share the method.
Upload your geometry I ll try to make a definition for your case.
Please assign your new messages to the appropriate category so the right people are more likely to see it.
Would it be possible to add to OpenNest category?
The waffles are there in the original post. Here is the script with the original geometry which is to be waffled. I am only learning the process. This is not any project. So I just made any blobby kind of geometry to try waffling and testing open nest.
The waffling process requires Bowerbird plugin to run.
WAFFLE NEST+FULL GEOMETRY_FORUM.gh (56.9 KB)
You can see that the difference between approximation a high res stuff is quite close:
For sure this would work mostly for convex cases, which is fine in your case.
Else you can just divide the outline of the curve into polyline with fixed number of points.
Done. I did not know there was a specific category for it.
Thanks a ton. It works so smooth!.
How did you manage to place text of tags so nicely without letting them enter in the area of the grooves? In my script, text overlaps the grooves.
Probably there are better ways but one way I know is:
Compute Minimal BoundingBox using PCA component, that gives you orientation of text by plane.
Then You need to get somehow proper position, in my case I trianguled polyline and took the largest mesh face (NGon component Mesh From Polylines (Right click minTriangulation)):
HullText.gh (77.9 KB)
For triangulation I use NGon:
It convert closed polylines to mesh faces:
Amazing! Finding the largest triangle in a series of network to tell Grasshopper about the emptiest spot! Thanks a lot!
Although after fabrication it won’t matter, why are some name tags mirrored in your script? I thought it had to do with the location of the base geometry with relation to the x and y axis but even when I move the main blob geometry, the mirrored tags are still there.
Rebuild the text plane from
Origin, XAxis, YAxis, to
Origin, XAxis, Vecto3(0,0,1)
Will do the job.
How to do that? Can’t find rebuild plane component.
I just think Petras propose you to use
Construct Plane or more simple Plane Normal. The last is more simple as you just have to put a position and a direction Unit Z
Yup, just deconstruct and construct plane, I think you might still need to keep X-Axis:
Okay I see. Before seeing your post, I just fiddled with the script. I wonder why is the PCA component required?
It actually messes with the orientation. I directly connected the centroids of the triangles in the location for text and it comes out fine without getting mirrored.
On the other hand, this happens when using PCA.
Why does the text gets flipped ?
In your case PCA is not needed because your text is short.
If you have longer text and small elements this would become an issue.
If you are not using pca that is also fine