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 really great, thanks for sharing.
=> More informations about this toot | More toots from herzberg@linuxhotel.social
text/gemini
This content has been proxied by September (ba2dc).