Hi Noel,
I'm always happy to jump onto a standard...but...I think my work is not actually closely aligned with the work you are doing...The Factory I work at makes kitchens.
My project:
- in sketchup the user will construct a cabinet from rectangular prisms (dynamic components named Panel1,Panel2,Panel3,etc) eg 720mm x 538mm x 16mm.
- They will be able to click on which of the 4 panel edges will have "edgetape" applied.
- They will be able to place 5mmDrillHole dynamic components inside the Panel component. on one of the faces, for hinges, shelves etc.
- Then group several panels into a cabinet, and specify a cabinet name, number etc.
- The output will be a file which specifies the rectangle size, (adjusting for the thickness of the edgetape), and also where to drill the 5mm hole, and how deep.
- This file will be imported into "nesting software" (in this case Aspan (http://www.autosoftware.it/index.php/en/informations-/informazioni-aspan/menu-id-54.html)). This nesting software nests all the panels into a full sheet and writes gcode to cnc rout and drill the panels. and print labels to identify which cabinet and where to apply the edgetape.
- I'll build up a library of dynamic components of cabinets containing panels containing drilling structures containing 5mmDrillHoles....for faster drawing. So I can resize the cabinet from the library, and the holes will update, and get drilled to suit...what-you-see-is-what-you-get drilling and panel sizes.
So, I'm happy to try to work together, but, I think our goals are different...
My Maths is good...I have a clear understanding of matrices, vectors, dot and cross products, transformations, etc....but my ruby is really bad, I didn't know till I read your code that you can "class something < Array"...and now I want to overhaul badly written code...
all is not lost...If we write clearly commented code, others can see how we achieved something and might be able to use/modify that for themselves.
I think that people generally will have to modify the output routines or write/modify their own postprocessors anyway....so my output code will be commented and structured so that others will be able to customise it to their own nesting software...
Regards,
Anthony