Design into 3D: Cutting Cylinders

There as a request on Reddit for a tool for doing this:

Generalized the code in a modeling fashion in BlockSCAD:

https://www.blockscad3d.com/community/projects/988727

Next up is investigating automating the G-Code in OpenSCAD.

In OpenSCAD we add parameters for machining:

Next up is calculating the G-Code needed to cut this shape out. We’ll crib from:

https://wiki.shapeoko.com/images/0/09/Circle-diamond-square-50-45-40mm.txt

Actually, we have a to make a small correction:

and add some code so that we can export a DXF or SVG:

1 Like

To do the CAM, we need to calculate out the begin/end points of each quarter of the endmill’s movement:

This is now done and available at:

https://www.blockscad3d.com/community/projects/992660

There is a pair of modules which should be useful to modify so as to write out the G-Code for cutting this:

I’m still trying to allocate some time to pursue this work you’ve done, Will. Very interesting.

Thanks!

I’ve about finished scratching this itch — switched gears to trying to get the geometry section of the book done:

https://willadams.gitbook.io/design-into-3d/2d-drawing#geometry

once I’ve got that diagram done and the matching text I’ll do an update calling for folks to send me project designs/dimensions, I’ll knock out as many of those as I can using the basic techniques of:

  • modeling in BlockSCAD/OpenSCAD
  • flattening the design into one or more views which are exported as DXFs
  • importing DXFs into Carbide Create to do CAM and get manufacture done

Then, once I have the book done I’ll go back and review some of these other ideas and see if any of the following are resolved:

  • a facility for writing out text files from OpenSCAD
  • an improvement in OpenSCAD’s performance

if they’re not, I’ll have to look into other tools such as CADquery or AngelCAD or RapCAD.

After I do all that, the next thing to look into is decorative designs and modeling.

Revisiting this because of a request on the support forums.

Re-writing rather than re-using in the hope of improving the code.