Hello fellow readers, today I want to introduce the non-awaited increase in the family of b-tools. Now let me explain what happened.
First was BCAM. BCAM helped me to start working with my then just bought Shapeoko 2 CNC machine. Surprisingly there was no actively maintained 2D/2.5D CAM free and opensource software then, so I decided to write one myself. 2D CAM cant be hard, right? Well it took approximately 8 months from july 2014 to february 2015 to reach version 0.4. I used my Shapeoko to verify the gcode.
After that active period of development I stopped using Shapeoko on daily basis and thus I didn't need CAM software every day. Development of BCAM stagnated.
OpenSCAD appeared in my life at approximately 2016 or so. After that I cant use any conventional CAD, so yes, if you haven't tried OpenSCAD yet and you want to remain normal human for the rest of your life, do not use OpenSCAD. I am serious, it ruins lives.
Ok, so now when I am almost alone, I can continue: life with OpenSCAD is painful and limited, but what a beautiful life it is when you can be programmatic and parametric where you want. Unless you want .step model or fillets or beautiful render of your model, you get it, its limited.
The solution is known though, it is called OpenCASCADE, so I wrote a simple parser of scad files and attached all of that to python-occ bindings written by Thomas Paviot https://github.com/tpaviot/pythonocc-core, say thanks to him, he has done awesome job there.
It parses successfully most of my code/models, but I am not using all of OpenSCAD features in my daily modelling, so obviously don't expect 100% compatibility at least not yet.
The project lives here: https://github.com/snegovick/bcad. Please use it and leave feedback at github page.