I work in a cabinetmaking business…The guys who quote need a way of nesting 2d shapes (mostly rectangles) into larger rectangles…
does anyone have any plug-ins or code or something …? Anyone have some sort of solution…
I don’t mind writting my own export from Sketchup to (whatever) and back to sketchup if it does the job…
I’m looking for free or open source…
Perhaps one of these ?
Although many are $$$$
Seems to be free - it just needs separate DXF files exporting for each part, but that’s be doable…
Sounds a whole lot like the built-in Offset tool to me. Then the native Circle and Polygon tools can also do the same if you set the segment or sides to equal the outer object. (You use inferencing to the outer object’s center when drawing the inner offset object.)
EDIT: Actually, the built-in Offset tool can operate upon existing polygons and circles as well.
There are also some custom Offset tools that can do more nifty things. (Search the SketchUcation PluginStore, or Trimble Extension Warehouse.)
I believe your after ‘sheet cutting’ optimisation code?
i.e. how many doors can I cut from this size sheet material…
there are a few in the Extension Store’s woodworking section, but I think only one accommodates grain direction…
there are also versions of CutLister that allow modification of the code [with credit intact] so you could tailor it to suit…
TIG - yes, the e-nesting does look ok…I gave it a spin, but it said it was busy…I’ll try again before I proceed…I might write a interface…and yes, those nesting softwares are just the ticket (except for the $). Who knows, maybe I’ll go there anyway.
Dan - yes, thanks…I hadn’t considered using the “built in” offsetting, which could be useful if the nesting tool I end up with doesn’t give me a setting for tool diameter.
John - thats exactly right…sheet cutting optimisation. I checked out the woodworking section.
- Builder free and Builder Pro suggest they’ll do the job…but they need Sketchup 2016 and I’m running 2014…I might have to upgrade…Builder Pro is only $79…so it might be the cost effective answer…not free…but not gonna break the bank.
- Cutmap suggests it can do what I need…but I couldn’t get it working in the short time I had. The Author says the free version will expire when he gets out of beta…so…the code is RBS and RBE, so I couldn’t see anything
- Cutlist does indeed nest, and uses “guillotine cuts”…but the code is shared…(Hat tip to author Steve R). My need is going to be irregular polygons…but Cutlist looks like a fine product.
I had hoped for some more esoteric library of optimising code. I found LPSolve IDE…which can optimise 1d problems…and I managed to generate input files for it…and sometimes use it for cutting aluminium extrusion jobs here, if they are large enough…does anyone know of an academic code library which does polygon nesting optimising?
Not sure which way I’ll go yet…buy a package or struggle with making something myself.
SVGnest looks interesting…
wow. SVGnest is indeed the jackpot.
the code is on Github.
Mr Jack Qiao is a giant. If I can make this thing work…it’s from standing on his shoulders.
I can configure grain direction in it’s settings…I can configure tool diameter…OMG.
I just have to write a svg export from Sketchup…i think…all the heavy lifting (the nesting code) seems done.
It doesn’t always run the nest lightning fast…but totally acceptable for my need (i think it’s client side calculation)… Curves are approximated to line segments…totally fine for my need.
maybe I could port the code to ruby…maybe I will find some other way of running the JS without having to go to the website each time.
Thanks John for the tip.
it does look promising and there are a couple svg export plugins kicking about that you can glean from…
You can run Js within a SketchUp
John: Yup, I found a SVG export by some guys who call their company “flightofideas”…free plugin…works with SVGnest.
so with only free software I can do a little nesting…however.
SVGnest uses a “genetic algorithm” for optimising…I’m not sure it’s ideal for the work I do. The demo has a lot of tiny parts going into a quite large sheet…and SVGnest performs pretty well under these circumstances…but I think it performs not so well for my day-to-day work cutlists and shapes…No disrespect to Mr Qiao…He’s done a great job. I just need to do some work myself…He has inspired me to have a go at my own optimising…
Mr Qiao’s github page reference some papers about nesting which I’d suggest to anyone else who wanders down this path I seem to be upon.
Mr Qiao uses someone else’s “polygon operations library” called “clipper”…It has offsetting and other operations in it. I haven’t really got into it yet. But apparently there are compiled librarys available that can be called from Ruby…since nesting needs speed…I might pursue getting that working…
Most remarkably, SVGnest can nest the parts into irregular shaped stock…which is a feature not readily available in the commercial systems I’ve seen in cabinetmaking here down under.
I think I need to find some code that does “no-fit-polygons” and “inner-fit-polygons”…I don’t suppose any of you veterans have seen that in ruby around the place?
I appreciate the webdialog suggestion…
I’ve got the quoting guys working with chrome, external to Sketchup…But I’ll probably try to drag my little project over to ruby, or maybe do the calculations external to sketchup…
SketchUp extensions use the MS Internet Explorer WebBrowser control library on Windows, and Safari WebKit on Mac. No choice to use Firefox / Gecko or Chromium for internal
UI::WebDialog browser frames.