Wrote a script to generate these "Iso Slice-O" drawings directly from 3D model files (with a tiiiny bit of manual SVG cleanup at the end). Ran it on some of the most popular models and I'm obsessed with the results using white ink / black paper
=> View attached media | View attached media | View attached media
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
First step takes in a number of slices and runs through the STL file vertically to get cross sections, and produces an SVG for each. Here's the output:
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
Then I iterate through each layer and use OpenSCAD to extrude by a given amount and recreate an STL file for each.
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
I then use the PyVista library to place the STL file in space and take a picture of each with virtual lighting on. I always take the snapshots from a fixed global isometric position. I use the calculated camera from the largest slice, which ensures all will be in view.
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
This is the strangest step - I quantize the image down to 3 colors, and then I have a script trace each of the resulting contours. So now I have SVG paths of the EDGES of the 3D object in space. This results in some duplicate paths but that all comes out in the wash
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
Last bit of Python stacks all the edge SVGs with a fixed vertical offset (which works because of the viewing angle) and then I manually fill in the faces I want drawn (like 5 mins of clicking in inkscape) - there's probably a way to automate this but I like doing a finishing pass
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont This is so cool. Art!
=> More informations about this toot | More toots from pierrenick@hachyderm.io
@gvy_dvpont very cool they turned out great!
=> More informations about this toot | More toots from bradley@techhub.social
@gvy_dvpont This is really great, thanks for sharing.
=> More informations about this toot | More toots from herzberg@linuxhotel.social
@gvy_dvpont If you're looking to cut out the raster step, I've gotten good results using the "TechDraw" workbench in FreeCAD to directly generate SVGs of the edges of solid parts is isometric projections.
Not sure how good the Python API for that workbench is, but in theory it could be automated. There's an OpenSCAD workbench, too.
=> More informations about this toot | More toots from humulus@mastodon.social
@humulus oh gtk!! I'm pretty comfortable with OpenSCAD - what am I looking for there? I swear I saw something like that in the past and just couldn't find this morning.
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont
Start here
https://wiki.freecad.org/Basic_TechDraw_Tutorial
Except instead of using their sample file, drop in your OpenSCAD code.
=> More informations about this toot | More toots from humulus@mastodon.social
@humulus amazing thank you. Picking up FreeCAD is a 2025 TODO for me anyways!
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont These first three steps could be done entirely as an OpenSCAD module applied to the STL.
=> More informations about this toot | More toots from dalias@hachyderm.io
@dalias I tried that first! projection(cut=true) was broken in my build I didn't feel like figuring out what I needed to install when I could just throw Python at it
https://github.com/openscad/openscad/issues/5159
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont Yeah CGAL is really buggy. Building with experimental features (manifold) fixes lots of stuff. It's so disappointing they don't have a stable tag so everyone ships ultra slow buggy builds with the old CGAL...
=> More informations about this toot | More toots from dalias@hachyderm.io
@gvy_dvpont I love this view too. The drawings seem more interesting than the model could be.
=> More informations about this toot | More toots from skry@mastodon.social
@gvy_dvpont
This looks great 👌🤓. Did you plan to release script to the public at some point? It could be useful for laser cutting too.
=> More informations about this toot | More toots from izumitelj@mastodon.social
@izumitelj I do plan on releasing the script but I actually think this is mostly overkill for lasering BUT I did discover Kiri:moto which runs in the browser and has a laser mode for exactly that purpose!
https://grid.space/kiri/
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont great thanks! Didn't know about Kiri:Moto but I will give it a try. I will also watch for your script since I lake the openscad + occasionally work with graphics.
=> More informations about this toot | More toots from izumitelj@mastodon.social This content has been proxied by September (ba2dc).Proxy Information
text/gemini