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
@gvy_dvpont those are great. How big are the prints? Keen on selling?
=> More informations about this toot | More toots from amd@gts.amd.im
@amd These are 12X9. I might be? I dunno I hadn't thought too hard about it
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont "A script" ?? .. that's quite mind blowing, I would not know what kind of math to start at for a thing like that 😱
=> More informations about this toot | More toots from gilesgoat@toot.wales
@gilesgoat Fortunately most of the math is nicely abstracted away by some Python libraries!
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont Very nice.
This Wieden + Kennedy beaver was probably done the hard way:
=> More informations about this toot | More toots from skry@mastodon.social
@gvy_dvpont @pierrenick Very nice!
I'd love to get a t-shirt print of the Utah teapot made with your script!
=> More informations about this toot | More toots from masterzen@hachyderm.io
@masterzen Great suggestion! Haven't played around with shirts yet, but this is yours if you want it! Let me know where to send.
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@masterzen ahh this one's got a small blemish, will re-plot tomorrow
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont Love these! What if you switched the vertical surfaces to a fill instead of an outline?
=> More informations about this toot | More toots from migurski@mastodon.social
@migurski I might try it, looks awesome on the computer but I'm doing these with a pen plotter so fills aren't quite so clean - you have to crosshatch
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont If you use Python I have some code I’ve used for hatching that works pretty well with solid fills and a variety of line thicknesses
=> More informations about this toot | More toots from migurski@mastodon.social
@migurski oh TY! honestly I know how to do it I just haven't loved the look of previous attempts. Think I just need to play around more.
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont Here’s what I’ve been using with sample output at bottom: https://gist.github.com/migurski/53212c0f4505cb41987c319f334f3995
Shapely is a geospatial library (from @sgillies) that’s helpful for reverse-buffering the linework to account for pen thickness
=> More informations about this toot | More toots from migurski@mastodon.social
@gvy_dvpont
Those turned out beautiful.
=> More informations about this toot | More toots from roytoo@mstdn.social
@gvy_dvpont Benchy! Nice. 👍
=> More informations about this toot | More toots from Hexa@mastodon.gamedev.place
@gvy_dvpont shorturl.at/pCcdg
=> More informations about this toot | More toots from ajijulnaiya59@mastodon.social
@gvy_dvpont for you @vince !
=> More informations about this toot | More toots from f4grx@chaos.social
@gvy_dvpont Beautiful!
=> More informations about this toot | More toots from po3mah@mastodon.social
@gvy_dvpont really lovely stuff
=> More informations about this toot | More toots from coldclimate@hachyderm.io
@gvy_dvpont it's also fun to slice the STL with a laser cutter https://trmm.net/Laser_slicing/
=> More informations about this toot | More toots from th@v.st
@th oh the negative looks amaaazing! And yeah I started off using this in the browser to do the slicing but it wouldn't group all the parts in a single horizontal layer in a single SVG layer! so if there was more than one enclosed path, it would break it out into it's own layer.
https://grid.space/kiri/
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont horizontal slicing could also be added as a mode in https://plotter.vision/
=> More informations about this toot | More toots from th@v.st
@th @gvy_dvpont Nice! Horizontal slices would work well with my Mt Whitney topographic model https://www.thingiverse.com/thing:5716060
=> More informations about this toot | More toots from grwster@mastodon.social
@gvy_dvpont what pen are you using on the black paper? I've had good luck with the ColorMaster and Molotow One4All paint pens, and mixed results with the Pilot SuperColor metallics.
=> More informations about this toot | More toots from th@v.st
@th I did mine with Gelly Roll 10's. One byproduct of my process is that the lines are doubled and get drawn twice
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont That's some amazing results and what a great idea, congratulations!
Would love to play around with a script like that to generate designs for the vinyl cutter and heat transfer! Some artistic tote bags for my buddy's and mine #Datenzwerg @dzoc project come to mind 😄
=> More informations about this toot | More toots from foosel@chaos.social
@gvy_dvpont cc @paulrickards
=> More informations about this toot | More toots from mmu_man@m.g3l.org
@gvy_dvpont this is very very cool!
=> More informations about this toot | More toots from alex@dfnt.fr
@gvy_dvpont @babe Oh these look amazing. Now I want to go full circle and print them ^^
=> More informations about this toot | More toots from monkeydom@mastodon.social
@gvy_dvpont oh, no, now I want to 3D print things with extremely exaggerated layer sizes like this.
=> More informations about this toot | More toots from c0dec0dec0de@hachyderm.io
@gvy_dvpont Have you done the Utah teapot?
=> More informations about this toot | More toots from mansr@society.oftrolls.com
@mansr Yup!
https://mastodon.social/@gvy_dvpont/113773318102722248
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont Blender's Freestyle renderer works also very well for SVG slices.
https://docs.blender.org/manual/en/latest/render/freestyle/index.html
=> View attached media | View attached media
=> More informations about this toot | More toots from emnullfuenf@chaos.social
@emnullfuenf Yeah a few sources have pointed me towards this (and they look really good) but I wanted to try to see if I could get just as far using only Python, so it's a little more portable.
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont Is it part of #Genuary2025 ?The prompt for today (5th) is exactly "Isometric art"
=> More informations about this toot | More toots from gwidion@floss.social
@gwidion honestly no just good timing (though I have been checking out everyone else's first few days)
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont
Regardless of that, the art ended up great! Congrats!
=> More informations about this toot | More toots from gwidion@floss.social
@gvy_dvpont they look amazing! Great job!
=> More informations about this toot | More toots from claudius@darmstadt.social
@gvy_dvpont these are great! 😍👏👏👏
=> More informations about this toot | More toots from guayabito@mastodon.cr
@gvy_dvpont does your script break down the 3D files into layers of SVG closed shapes?
=> More informations about this toot | More toots from JamesAkers@expressional.social
@gvy_dvpont that script looks fun! I love making vector files into glass.
=> More informations about this toot | More toots from JamesAkers@expressional.social This content has been proxied by September (ba2dc).Proxy Information
text/gemini