I’m working on wooden furniture projects, using wood sheets materials, and I’m looking for a way to nest my parts along a desired direction, following the wood grain. Not directly an OpenNest problem, but it’s directly related.
Does anyone has already experienced this, and has come with a specific workflow?
I’m wondering how to determine the sheet’s grain direction before nesting, and also how to define each part’s individual grain direction. Any idea welcome.
Usually with nesting software when grain is taken into account you align the grain of the sheets to one axis, align the parts to that axis too and then restrict rotation of parts to 180 degrees or disallow part rotation.
Thanks for this reply,
I got the rotation restriction part,
I’m still looking for a good workflow to define the parts grain direction individually. I managed to do it automatically, choosing the longest edge’s direction, but it’s not always the good direction.
I just tried to draw a line for each piece and select it with the “RhinoObjects” component from OpenNest but didn’t get any consistent result yet.
What are your criteria for setting the grain direction? Could you use BoundingBox and then longest length direction so it takes into account the whole shape rather than just the longest edge? Then use Orient to orient the shapes to the fixed axis?
the criteria could be personal aesthetic choice… that’s why I started drawing lines to define wood grain direction, and trying to cope with RhinoObjects component from OpenNest.
Could you use BoundingBox and then longest length direction so it takes into account the whole shape rather than just the longest edge?
yes, that’s almost what I’ve done, quite better with “BoundingBox” but as I said, sometimes it could be the shortest, or anything in between, according to personal aesthetic criteria.
Then use Orient to orient the shapes to the fixed axis?
good idea, “Orient” + “linear array” of planes could give more control than the OpenNest “Pack Objects”.
I’m not familiar with OpenNest in particular but perhaps @Petras_Vestartas could comment here about what you are trying to do. Sometimes there’s a simple solution.
Can you post screen shots or preferably a sample file?
“Orient” + “linear array” of planes could give more control than the OpenNest “Pack Objects”.
sorry that was wrong, instead:
“Orient” + “series”+“move” to get an array of planes could give more control than the OpenNest “Pack Objects”.
Did you try OpenNest with rotation set to 1?
sure, rotation set to 1 or 2 works fine!
I just realise my question is more on the beginning of the workflow and how I could assign a direction for each part before orienting them on the Oxy plane for nesting. I thought this might be a quite typical problem for people working with wood panels.
We have been working with timber panels a lot (LVL, OSB, Kerto, 3-ply), and we were never nest along the grain. Does it make much sense once timber is cross-laminated? (I know structurally it has advantage, but still). Is it because you are working on a furniture not a structure?
It looks like it is for aesthetic reasons… quite common for furniture I imagine even if it is just a surface veneer.
yes, it’s for furniture, and wood grain plays a big role in aesthetics at that scale.
I’ve seen some people (on other softwares) pairing each part with an oriented plane, first axis giving the grain direction. I wonder if I should make a group, or a bloc for selection purpose, and how to “tell” that to grasshopper.
I guess I should switch to the grasshopper forum for these questions…
thanks for your replies and for that great plugin anyways!
Without a GH file it’s hard to help but looking at the image you shared you could use Boundary to create a surface from every profile curve and then Planar which tests for planarity (obviously planar) but returns a plane for the surface. You would have to align these planes to match the grain. You could perhaps do this by using DeconstructPlane and testing the Z direction of the planes against the X, Y and Z axes to determine the final Orient