I'm not particularly qualified to determine if this is a suitable response, but when showing OpenSCAD to a user in our makerspace, he told me that he sees similarities between OpenSCAD and POV-ray and I believe the latter is bitmap based. The website, in my opinion, is challenging to navigate, hence my hesitation to suggest this is a solid answer, but it may be worth pursuing.
After watching the first tutorial I found, I can see why the comment of similarity was made. I currently don't have the need for this utility, but I might also enjoy to learn it for the future.
This might be something you could accomplish in MeshLab:
http://www.meshlab.net/
If you haven't used it before, it's not a full editor like Blender, jut a bunch of "Photoshop filter" type operations accessible from menus. Your example looks like a solid sphere that's been degraded into rounded Voronoi cells, which is something MeshLab can do. Just export your box-top shape from OpenScad and open it in MeshLab.
Here's a video of the steps to Voronoi an arbitrary mesh:
https://www.youtube.com/watch?v=wWSeZk2IqHg
You can use Visual Studio Code. It has a VIM plugin and it has an OpenSCAD plugin that gets you syntax highlighting, some basic completions, and has the OpenSCAD cheat sheet built in (opens in a split editor) Setup OpenSCAD for auto reload of external changes to source files and edit in VSCode.
> Do you have anything to recommend over OpenScad that's free to download?
You can try cadquery, I have only messed with it a little bit but seems promising. It has concepts of the edges and surfaces so you can add fillets and chamfers easily. It uses Python as its language.
It is a little harder to get started with if you aren’t familiar with conda and/or the Python ecosystem. If you are already familiar with conda though it should be a breeze:
You can scan it and then use InkScape’s Trace Bitmap feature. It creates an SVG of course. It might create something accurate enough to diff out.
https://inkscape.org/doc/tutorials/tracing/tutorial-tracing.html
There are also tutorials on YouTube.
As others have said, probably not the right tool for the job. It would take a lot of effort to make the shapes look as nice as that in OpenSCAD.
The easy way to do this would be to fill in each icon so you can easily remove the backgrounds, convert to SVG using a site like https://convertio.co/png-svg/ then load into OpenSCAD using:
import("filename.svg");
If you really want to though, here is some code that might help you start
a basic teardrop:
rotate(45){ circle(r=10,$fn=120); square([10,10]); }
A very roughly drawn leaf:
difference(){ hull(){ circle(2); translate([10,0,0]) circle(7); translate([20,0,0]) circle(10); translate([30,0,0]) circle(7); translate([40,0,0]) circle(2); } translate([20,0,0]) square([30,1],center=true); }
Good luck with the fire.
Now you have me thinking. I wonder how it deals with an object with overlapping mesh.
E.g. https://www.youmagine.com/designs/elsa-s-tiara-remixed
In that the band overlaps the crown, causing it to become a hole when sliced. (Unless you fix it)
I don't have time to play with it now, but I'd like to see how it affects the model. (I'll play when I get off work later tonight)
If it does fix it, then that would be the appeal of specifying it. Basically like filtering an input. So little "" robert'); drop table students;-- ""doesn't cause any problems.
(If you don't get the reference Google Bobby drop table)
I have used the DXF export --- OpenSCAD doesn't allow one to define a straight line and export that into a DXF (or SVG).
Even if I do this, there doesn't seem to be a CAM tool which will model a radiused endmill such as: