HNNewShowAskJobs
Built with Tanstack Start
3D-Printed Mathematical Lampshades(hessammehr.github.io)
58 points by hessammehr 4 days ago | 24 comments
  • givc7 hours ago

    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

    • alhirzel6 hours ago |parent

      Try cadquery also!

      https://github.com/CadQuery/cadquery

    • geokon6 hours ago |parent

      heres an example of OpenSCAD in Clojure

      https://www.juxt.pro/blog/designing-3d-printable-objects-wit...

      Looks quite fun

  • hessammehr8 hours ago

    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.

  • mlmonkey8 hours ago

    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

    • Zarathruster7 hours ago |parent

      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

    • hessammehr8 hours ago |parent

      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!

    • givc6 hours ago |parent

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

      • dekhnan hour ago |parent

        Cool project, but just how many polygons are you talking about? Also, my guess is you did meshes, instead of breps- they are far more efficient in my experience.

        The largest mesh I worked with in Fusion 360 is a digital elevation map of California, it has 2.8M vertices and 5.6M faces and it's still possible to get things done (like making a CAM to carve a 2 foot x 2 foot map with reasonable details).

    • dole6 hours ago |parent

      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.

    • horacemorace5 hours ago |parent

      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.

    • aforwardslash6 hours ago |parent

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

      • dheera4 hours ago |parent

        OpenSCAD nightly using the Manifold engine is a lot faster than the CGAL crap the stable version ships with

        • nszceta2 hours ago |parent

          I am learning build123 and skipping OpenSCAD altogether

      • MengerSponge6 hours ago |parent

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

        • dekhn5 hours ago |parent

          freeCAD is brep based and scriptable.

          • embedding-shape2 hours ago |parent

            FreeCAD via AstoCAD (https://www.astocad.com/ - 4€/month) is quite more user friendly too, compared to the vanilla experience, for those who want to do CAD sometimes and forget things between uses. It's made by FreeCAD contributors who push things upstream too.

    • nomel5 hours ago |parent

      For this case, I'm not exaggerating when I say you would probably have an easier time generating the meshes yourself in python and something like the trimesh library to load the vertices into.

    • dheera4 hours ago |parent

      Yeah OpenSCAD would have made this a lot easier than the exported-SVG-DXF pipeline

  • Aurornis8 hours ago

    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.

    • JKCalhoun7 hours ago |parent

      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.

    • hessammehr7 hours ago |parent

      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

  • nszceta2 hours ago

    Author should consider going straight to G-CODE (skip the STL)

  • lambdaone4 hours ago

    Great, but PLA is somewhat flammable.