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
Conversation
Notices
-
Embed this notice
Guy Dupont (gvy_dvpont@mastodon.social)'s status on Sunday, 05-Jan-2025 06:57:26 JST Guy Dupont
-
Embed this notice
Rich Felker (dalias@hachyderm.io)'s status on Sunday, 05-Jan-2025 22:12:52 JST Rich Felker
@gvy_dvpont These first three steps could be done entirely as an OpenSCAD module applied to the STL.
-
Embed this notice
Guy Dupont (gvy_dvpont@mastodon.social)'s status on Sunday, 05-Jan-2025 22:12:53 JST Guy Dupont
Then I iterate through each layer and use OpenSCAD to extrude by a given amount and recreate an STL file for each.
-
Embed this notice
Guy Dupont (gvy_dvpont@mastodon.social)'s status on Sunday, 05-Jan-2025 22:12:53 JST Guy Dupont
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.
-
Embed this notice
Guy Dupont (gvy_dvpont@mastodon.social)'s status on Sunday, 05-Jan-2025 22:12:54 JST Guy Dupont
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:
-
Embed this notice
Rich Felker (dalias@hachyderm.io)'s status on Sunday, 05-Jan-2025 23:22:06 JST Rich Felker
@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...
-
Embed this notice
Guy Dupont (gvy_dvpont@mastodon.social)'s status on Sunday, 05-Jan-2025 23:22:07 JST Guy Dupont
@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
-
Embed this notice