[HN Gopher] 3D-Printed Mathematical Lampshades
___________________________________________________________________
3D-Printed Mathematical Lampshades
Author : hessammehr
Score : 43 points
Date : 2026-01-24 15:17 UTC (4 days ago)
(HTM) web link (hessammehr.github.io)
(TXT) w3m dump (hessammehr.github.io)
| mlmonkey wrote:
| In theory, one should be able to use OpenSCAD to come up with
| fancy surfaces to 3-D print, right?
|
| I'm just dipping my toes in 3D printing, with a recent
| acquisition of a Bambu P2S
| hessammehr wrote:
| I haven't used OpenSCAD much beyond combining primitives.
| Truthfully these organic shapes are more of a use-case for 3D
| modelling software like Blender rather than CAD, but I'd be
| keen to hear if you end up giving OpenSCAD a go.
|
| My Bambu A1 mini has been reliable despite the challenging
| geometry; pretty sure your P2S will work just as well if not
| better. Good luck!
| Zarathruster wrote:
| I was in your shoes about a year ago with an A1 mini, getting
| into OpenSCAD to make my own keycaps.
|
| If you're getting into OpenSCAD I'd highly recommend getting
| Belfry ASAP.
|
| https://github.com/BelfrySCAD/BOSL2/wiki
|
| I wouldn't really consider using OpenSCAD without it
| aforwardslash wrote:
| > In theory, one should be able to use OpenSCAD to come up with
| fancy surfaces to 3-D print, right?
|
| Yes, but it is painfully slow. Even perforated patterns are
| quite slow to generate.
| MengerSponge wrote:
| Aside from Fusion360, is there a Free (or FOSS) cad package
| that uses breps and is scriptable?
|
| Fusion360 is just stupid fast at perforations and
| sophisticated modeling constructions via its python API. I
| use it because it works well, but I'd be happier if I didn't
| have to maintain that Autodesk dependency...
| dekhn wrote:
| freeCAD is brep based and scriptable.
| givc wrote:
| I used OpenSCAD to create a map of Manhattan. It shows the live
| location of subway trains. It was surprisingly easy, I
| struggled a lot with OnShape and Fusion360 trying to do this
| because there were too many polygons.
|
| I found that starting with an SVG and extruding from there is
| perfect in OpenSCAD, but I'm sure I'm underutilizing it a lot.
|
| I wrote a bit about it here if you're curious
| https://hackaday.io/project/202488-manhattan-subway-map/deta...
| dole wrote:
| I was able to take the image of the star-shaped graph from OP,
| fed it to claude and used this for the prompt: "figure out a
| good formula or equation for this graph and use it to create
| the lampshade in openscad. use the graph as the bottom for a
| lampshade, and taper it all up to center point. leave a hole at
| the top big enough for a lightbulb fixture to pass through." It
| did a surprisingly good job of generating the OpenSCAD, STL,
| and preview renders in-browsers.
| nomel wrote:
| For this case, I'm not exaggerating when I say you would
| probably have a _much_ easier time generating the meshes
| yourself in python.
| horacemorace wrote:
| Yes. Claude is surprisingly capable in this area, maybe because
| the shapes are so simple. Using a slicer in vase mode should
| make it print quickly too.
| hessammehr wrote:
| Just noticed that this has made it to the front page, so just had
| a quick look through to see if there are any broken links, etc.
| (as I have a habit of forgetting them) and added the missing
| OnShape link to the LED strip diffuser.
|
| Also recommend checking out the live Marimo notebook linked down
| at the bottom. Incredible what you can do with Pyodide + Marimo
| these days. I only wish there was a webassembly version of jax to
| make it easier to share random numpyro experiments.
| Aurornis wrote:
| Cool project. The author used PLA, but for anything near a heat
| source PETG or ASA would be a better choice. PLA will soften and
| deform at only mildly elevated temperatures. An LED light strip
| will generate enough heat to cause normal PLA to warp and droop
| over time.
| JKCalhoun wrote:
| Was going to comment similar. Definitely don't want to use
| these lamp shades with incandescent bulbs (too hot).
|
| As per drooping over time, perhaps for some of these models the
| "Persistence of Memory" might apply a nice transform to the
| shapes.
| hessammehr wrote:
| Good to know about the risk of deformation due to heat from the
| LED strip. Ours hasn't visibly warped over the past few months
| of use, fingers crossed it will last a little while
| givc wrote:
| This is awesome. I've also been playing with OnShape to make
| lamps and it's been quite challenging. I also tried Blender but
| the learning curve is just too steep for me. I like this idea of
| using Python. I might try OpenSCAD too like someone else
| suggested.
|
| Here's my lamp if you're curious, printed with a .8 mm nozzle,
| otherwise it would fail https://imgur.com/a/mRqw1pI
| alhirzel wrote:
| Try cadquery also!
|
| https://github.com/CadQuery/cadquery
| geokon wrote:
| heres an example of OpenSCAD in Clojure
|
| https://www.juxt.pro/blog/designing-3d-printable-objects-wit...
|
| Looks quite fun
___________________________________________________________________
(page generated 2026-01-28 23:01 UTC)