Talk:Nesting Software
Abe's Notes
From his log AbeAnd Log
Mon Oct 9, 2017
After having worked with and looked at the SVG's generated by Freecad and a comment I see on jack.works I don't see how this will work directly from FreeCAD drawing SVG's. The SVG's are made of broken independent line segments and not continuous shapes and they need to be for the software to work. So evaluating the software that generates the SVG's in FreeCAD may lead to a solution long term. Other conversion routes like DXF to SVG using another app OpenSCAD or any other open source tools. Given this is a valuable open source project may be more interest can be found for recoding FreeCAD for compatibility.
SVGNest also appears to have a number of bugs and issues with types of lines. The question is whether further development can fix these easily or they can be worked around with minimal user effort https://qcad.org/rsforum/viewtopic.php?t=4334
There is recent ongoing work on a nester in FreeCAD, but it is alpha software and still missing needed capabilities.
https://forum.freecadweb.org/viewtopic.php?t=23484
I also found some other test SVG files on freecad forums when I uploaded to svgnest they appeared incorrect probably due to arcs and splines.
Sun Oct 8, 2017
I'm moving on to solving the nesting today so I can evaluate that and report a strategy for the next meeting. There appear to be many parts and assemblies made from 1/2" sheets. There must be DXF's for many of these from previous builds so I will search for those for testing. The first step is defining a clear process and making a how-to video.
Considering there are so many assemblies to break down and convert the best method may be sprints so work can be divided in parallel. Experimentation with all the parts in one nesting may help determine certain patterns. Obviously, multiple sheets are required, but given the mix of geometries, it is not safe to assume ideal part mixtures for packing order. Rounding off more corners on parts may increase packing given all the circular parts. Some small parts could be nested inside other waste parts, but that requires hand optimization of DXF/SVG and order of operations through gcode or however the torch table code chain works.
Looking at svgnest further it has options for part in part and concave search likely needed for parts like the sprocket. 3/16" spacing =~ 13 pixels assuming the software exports based on 72dpi. Inkscape appears to easily import and save between SVG/DXF. Batch capability would be great. I see some other extensions as well
https://www.bobcookdev.com/inkscape/inkscape-dxf.html
hmm at the above link it says Inkscape uses 1/90 of an inch and mentions other potential bugs, but this is from 2009...
According to documentation, the flattened SVG file option should create a viable SVG using the raw CAM setting, but all I get is overly complex and garbled output.
https://www.freecadweb.org/wiki/index.php?title=Draft_SVG#Preferences
https://forum.freecadweb.org/viewtopic.php?t=6396
It almost looks as if DXF-->SVG-->(1)SVG-->DXF will be necessary. This is way to complex and time consuming perhaps there is a way to create some python scripts or macros to fix this and batch process files. A more complex code project might be to adapt existing code libs to make svgnest into dxfnest.
I sent an email about all this. Also see User talk:AbeAnderson
I'm looking at modifying the isoview macro for SVG output. This seems excessive and adds more steps, but the FreeCAD SVG export is not creating useable files.
http://opensourceecology.org/w/images/b/b8/Iso_view.FCMacro
There are some existing tools to combine, merge, stack SVG's into one file.
https://stackoverflow.com/questions/14562136/merging-multiple-svg-files-into-one
This one works by merging and placing space between them.
https://github.com/astraw/svg_stack
I used the drawing WB to manually export SVG's of the track chain link ok, but it still requires editing out all the FreeCAD stuff then making 88 copies of the link in inkscape. I am assuming scaling of 1.0 will correlate the size correctly relative to 90ppi in Inkscape. Further reading of https://github.com/Jack000/SVGnest clarifies some functions. I'm thinking the easiest way to create a 4'x8' bin for the steel sheet is to draw and export it as an SVG as well. Then all the other SVG's at same scale can be copied in.
I'd like to think we can bypass that extraneous FreeCAD code and just write each part to a plain SVG, but the built-in class functions may make that more code work than ideal.
DXF files are dimensionless so as I recall you can set the scale in LibreCAD. So now I am thinking as long as the scales are the same for the orthographic projection in drawing bench (maybe 0.1) parts can be copied in to the 4'x8' bin file for upload.
Problems with scale, exporting everything at 0.1 did not help apparently. Also still have some inconsistencies or confusion in part diameters. I created a test file anyway. It doesn't seem to work I think because when I try to select the bin it only selects a side of the box. So something about the XML is off.