Ancestors

Toot

Written by Guy Dupont on 2025-01-04 at 21:00

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

Descendants

Written by Guy Dupont on 2025-01-04 at 21:01

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:

=> View attached media

=> More informations about this toot | More toots from gvy_dvpont@mastodon.social

Written by Guy Dupont on 2025-01-04 at 21:03

Then I iterate through each layer and use OpenSCAD to extrude by a given amount and recreate an STL file for each.

=> View attached media

=> More informations about this toot | More toots from gvy_dvpont@mastodon.social

Written by Guy Dupont on 2025-01-04 at 21:04

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.

=> View attached media

=> More informations about this toot | More toots from gvy_dvpont@mastodon.social

Written by Guy Dupont on 2025-01-04 at 21:05

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

=> View attached media

=> More informations about this toot | More toots from gvy_dvpont@mastodon.social

Written by Guy Dupont on 2025-01-04 at 21:06

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

=> View attached media

=> More informations about this toot | More toots from gvy_dvpont@mastodon.social

Written by PierreNick :apple_old_logo: 💾 on 2025-01-04 at 21:10

@gvy_dvpont This is so cool. Art!

=> More informations about this toot | More toots from pierrenick@hachyderm.io

Written by Bradley on 2025-01-04 at 22:19

@gvy_dvpont very cool they turned out great!

=> More informations about this toot | More toots from bradley@techhub.social

Written by herzberg on 2025-01-09 at 20:06

@gvy_dvpont This is really great, thanks for sharing.

=> More informations about this toot | More toots from herzberg@linuxhotel.social

Written by math blasterson on 2025-01-04 at 21:36

@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

Written by Guy Dupont on 2025-01-04 at 21:38

@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

Written by math blasterson on 2025-01-04 at 21:41

@gvy_dvpont

Start here

https://wiki.freecad.org/Basic_TechDraw_Tutorial

Except instead of using their sample file, drop in your OpenSCAD code.

=> View attached media

=> More informations about this toot | More toots from humulus@mastodon.social

Written by Guy Dupont on 2025-01-04 at 21:43

@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

Written by Cassandrich on 2025-01-05 at 13:12

@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

Written by Guy Dupont on 2025-01-05 at 13:35

@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

Written by Cassandrich on 2025-01-05 at 14:22

@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

Written by skry on 2025-01-04 at 22:35

@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

Written by izumitelj on 2025-01-04 at 23:00

@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

Written by Guy Dupont on 2025-01-04 at 23:29

@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

Written by izumitelj on 2025-01-04 at 23:37

@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

Written by amd on 2025-01-04 at 21:43

@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

Written by Guy Dupont on 2025-01-04 at 22:37

@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

Written by Giles Goat on 2025-01-04 at 22:21

@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

Written by Guy Dupont on 2025-01-04 at 22:36

@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

Written by skry on 2025-01-04 at 22:35

@gvy_dvpont Very nice.

This Wieden + Kennedy beaver was probably done the hard way:

=> View attached media

=> More informations about this toot | More toots from skry@mastodon.social

Written by masterzen on 2025-01-04 at 22:38

@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

Written by Guy Dupont on 2025-01-05 at 02:11

@masterzen Great suggestion! Haven't played around with shirts yet, but this is yours if you want it! Let me know where to send.

=> View attached media

=> More informations about this toot | More toots from gvy_dvpont@mastodon.social

Written by Guy Dupont on 2025-01-05 at 02:11

@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

Written by Michal Migurski 🍉 on 2025-01-05 at 02:14

@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

Written by Guy Dupont on 2025-01-05 at 02:16

@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

Written by Michal Migurski 🍉 on 2025-01-05 at 02:23

@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

Written by Guy Dupont on 2025-01-05 at 02:25

@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

Written by Michal Migurski 🍉 on 2025-01-05 at 02:28

@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

Written by Roy Adams on 2025-01-05 at 03:39

@gvy_dvpont

Those turned out beautiful.

=> More informations about this toot | More toots from roytoo@mstdn.social

Written by Ryan Dormanesh on 2025-01-05 at 04:00

@gvy_dvpont Benchy! Nice. 👍

=> More informations about this toot | More toots from Hexa@mastodon.gamedev.place

Written by ajijulnaiya59 on 2025-01-05 at 06:22

@gvy_dvpont shorturl.at/pCcdg

=> More informations about this toot | More toots from ajijulnaiya59@mastodon.social

Written by F4GRX Sébastien on 2025-01-05 at 08:21

@gvy_dvpont for you @vince !

=> More informations about this toot | More toots from f4grx@chaos.social

Written by Tomi the Slav and 1024 others on 2025-01-05 at 08:22

@gvy_dvpont Beautiful!

=> More informations about this toot | More toots from po3mah@mastodon.social

Written by coldclimate on 2025-01-05 at 08:23

@gvy_dvpont really lovely stuff

=> More informations about this toot | More toots from coldclimate@hachyderm.io

Written by Trammell Hudson on 2025-01-05 at 09:45

@gvy_dvpont it's also fun to slice the STL with a laser cutter https://trmm.net/Laser_slicing/

=> View attached media

=> More informations about this toot | More toots from th@v.st

Written by Guy Dupont on 2025-01-05 at 13:37

@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

Written by Trammell Hudson on 2025-01-05 at 15:17

@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

Written by Greg Whitehead on 2025-01-05 at 16:22

@th @gvy_dvpont Nice! Horizontal slices would work well with my Mt Whitney topographic model https://www.thingiverse.com/thing:5716060

=> View attached media

=> More informations about this toot | More toots from grwster@mastodon.social

Written by Trammell Hudson on 2025-01-05 at 09:54

@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.

=> View attached media

=> More informations about this toot | More toots from th@v.st

Written by Guy Dupont on 2025-01-05 at 17:21

@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

Written by Gina Häußge on 2025-01-05 at 10:02

@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

Written by mmu_man on 2025-01-05 at 11:08

@gvy_dvpont cc @paulrickards

=> More informations about this toot | More toots from mmu_man@m.g3l.org

Written by Alex Dufournet on 2025-01-05 at 12:16

@gvy_dvpont this is very very cool!

=> More informations about this toot | More toots from alex@dfnt.fr

Written by monkeydom, Ar.T on 2025-01-05 at 12:23

@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

Written by 0xC0DEC0DE07E8 on 2025-01-05 at 13:22

@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

Written by Mans R on 2025-01-05 at 14:09

@gvy_dvpont Have you done the Utah teapot?

=> More informations about this toot | More toots from mansr@society.oftrolls.com

Written by Guy Dupont on 2025-01-05 at 17:45

@mansr Yup!

https://mastodon.social/@gvy_dvpont/113773318102722248

=> More informations about this toot | More toots from gvy_dvpont@mastodon.social

Written by Michael Zöllner on 2025-01-05 at 14:54

@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

Written by Guy Dupont on 2025-01-05 at 17:43

@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

Written by João S. O. Bueno on 2025-01-05 at 14:55

@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

Written by Guy Dupont on 2025-01-05 at 17:42

@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

Written by João S. O. Bueno on 2025-01-06 at 03:36

@gvy_dvpont

Regardless of that, the art ended up great! Congrats!

=> More informations about this toot | More toots from gwidion@floss.social

Written by Claudius on 2025-01-05 at 16:47

@gvy_dvpont they look amazing! Great job!

=> More informations about this toot | More toots from claudius@darmstadt.social

Written by Jorge Bejarano on 2025-01-05 at 17:42

@gvy_dvpont these are great! 😍👏👏👏

=> More informations about this toot | More toots from guayabito@mastodon.cr

Written by James Akers on 2025-01-05 at 19:16

@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

Written by James Akers on 2025-01-05 at 19:18

@gvy_dvpont that script looks fun! I love making vector files into glass.

=> More informations about this toot | More toots from JamesAkers@expressional.social

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113772096088698601
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
646.208219 milliseconds
Gemini-to-HTML Time
28.427864 milliseconds

This content has been proxied by September (ba2dc).