home.social

#pythonsdf — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #pythonsdf, aggregated by home.social.

  1. Application: Bending a 3D object along a path.

    Such a transformation would make (or how I renamed my fork) very versatile.

    It already can:

    - parametrically twist along a line
    - parametrically thicken/modulate along a line

    Being able to arbitrarily bend space would make for some really flexible design possibilities.

    gitlab.com/nobodyinperson/sdf

  2. @linux_mclinuxface @gklyne @Floppy @3dprinting @vandam Wow, impressive! I could never do something as interactive like that, I just dislike web development too much 😅

    I think a basic website where you can at max view the object with ThreeJS or something would be cool, where you can only set some predefined parameters and values and it spits out the STL. That for , ,
    and the like. You could launch it with your git project in the url, so no need to register it.

  3. I added twist_between() to to twist an object between two control points with a custom angle easing function.

    Still amazed how 'simple' adding such a feature is with that codebase.

    gitlab.com/nobodyinperson/sdf

  4. Finished my slides for the tomorrow in Tübingen:

    - File syncing like a pro with @[email protected]'s :gitannex:
    - with :openscad: @OpenSCAD and
    - with @simonmic's

    I'll try to record the talks. They'll be in German though.

  5. @nobodyinperson @Jupyter

    I'll check #PythonSDF out. Honestly, I've never heard of it before you mentioned it. It is my best language so I think I would be able to have fun with it. Thanks!

    @3dprinting #3dprinting

  6. @Stark9837 @Jupyter @3dprinting It should be quite easy to make a simple app that serves a basic website with a quite lame form input, then you hit 'Generate', server makes the STL and gives a download link, all from Python.

    I am using for pretty much all my 's now because it makes (some) things much easier (smoothness, rounding, infinite objects, etc.).

  7. @Stark9837 @3dprinting I am still looking for way to easily make the designs customizable with a shareable link, no setup required.

    Many solutions are possible. Easiest ist probably @Jupyter Binder. But a self-hosted simple webserver providing a basic GUI for parameters and the finished render and STL is also possible.

  8. @Stark9837 @3dprinting Me too. I don't like the original press-fit concept. I print with larger nozzles, layer heights and speeds and this frequently caused the original to not fit at all. My inserts snap into place, lock extremely tightly when something is screwed in, and are just as easily to remove. The with all its attachments is my first real project with and I'm really happy how well it works for designing.

    gitlab.com/nobodyinperson/hsw-

  9. @mcdanlj Cool! Sounds like a job for :openscad: @OpenSCAD or

  10. In pretty much every operation (difference, union, intersection, etc.) has a parameter k to do it smoothly. This is such an incredibly powerful feature to make parts stronger with fillets, more compliant, easier to print, better looking and so much more. Sorely missing in .

    One of the huge benefits of every object being just a mathematical function of the distance to the nearest surface.

    I forked it btw: gitlab.com/nobodyinperson/sdf

  11. ⚠️ Today is Call For Papers deadline for the in the 01.07.2023.

    I submitted a workshop on :gitannex: , a talk about :openscad: @OpenSCAD and :python: and a lightning talk about with .

    💪 Make this an awesome day with your contribution: tuebix.org/callforpapers/

    @tuebix

  12. @stepheneb With my fork of : gitlab.com/nobodyinperson/sdf

    The code for these particular screws is here: gitlab.com/nobodyinperson/hsw-

    But vase mode is a setting of the slicer, it's not in the model. Though it's trivial to shell an object in and probably many other CAD programs.

  13. I added modulating the width along a bezier curve to my fork of . So now we can make an octopus 🐙 with it! 🥳

    gitlab.com/nobodyinperson/sdf

  14. @rcarmo I'm curious, how did you initially find ? It's an awesome way to do but it's known very little.

  15. I added functions to examine the distance to the object surface to . Coming from :openscad: @OpenSCAD, being able to examine the object on the fly and include e.g. measurement results into your design is huge. (In you need to code all dimensions from the start, no feedback possible).

    Here is a demonstration of moving an object depending on its size so it's only in a specific quadrant. Handy! 👍

  16. I added mirror()ing at arbitrary points into arbitrary directions to (my fork of) 🪞:

    github.com/nobodyinperson/sdf/

    It's so awesome that it's just high school math underneath and adding a feature like this mostly boils down to a single expression.

    It was equally straight-forward to add modulate_between() to modify the width of an object between two points. Very useful for chamfering flat surfaces or adding nice smooth dips along an object. 〰️

    github.com/nobodyinperson/sdf/

  17. I'm really getting the hang of and use it also for more complicated designs now. This is an attempt for a insert that expands when a screw is screwed in. This is useful because otherwise it's a press-fit where the clearances need to be tuned-in.

    I am (ab)using :openscad: @OpenSCAD as an viewer here 😛 It does it great! Would be awesome if it could open STL files natively from the file browser.

  18. @neil And what about code? I made the design with . If the code flies around somewhere, is that a problem?

  19. Good luck doing something like this with :openscad: 😅

    This is a cut-open shell of some smoothly unioned thick curves.

    really makes this easy. A great OpenSCAD alternative for parametric with . It shines where OpenSCAD fails: smoothness and transitions. The codebase is also *really* simple and understandable for what it does.

    github.com/fogleman/sdf

  20. Yay, tonight I managed to implement curves with 🥳

    Behold the 🍝 creation below 👇

    Turns out it is more efficient to just union() existing SDFs together along the path instead of writing an own SDF that finds the minimum distance to the bezier curve 🤷

    This has the nice benefit that you can basically ”swipe along path” any other object (and of course smooth everything out on the way if you want.)

    I really dig how approachable is!

    @rcarmo @[email protected] @blub

  21. A friendly Italian 🇮🇹 colleague of mine made a meme about me preferring the over graphical user interfaces as I don't like 's doing weird stuff behind my back 😅

    And it's true: I edit pretty much any text exclusively in :vim: and wherever I can I use the instead of graphical apps. I don't like graphical point-and-click but prefer :openscad: / , write my papers in , code my 's in and flash with , etc. 😊

  22. Just realised that another big advantage of ( github.com/fogleman/sdf) for is that *distances* are a byproduct which you can make use of. 🔧

    For example the below screw container (gitlab.com/nobodyinperson/scre) I had a hard time parametrising the angle-dependent clearance between inner and outer shell 🔩

    With SDF, for every point in space you get the distance to the nearest surface for free. So one could optimize the clearance without even rendering a mesh! 🥳

  23. Apparently there is no good STL viewer for (let alone ), let alone one that auto-refreshes when the file changes.

    And @alpinelinux doesn't have :openscad: packaged for , so using alpine doesn't work either...

    Leaves online STL viewers where you have to re-navigate to the STL when it changes. Meh, but it works.

    Context: works perfectly on to do parametric 3D design. Just an STL viewer with auto-refresh is missing.

  24. @[email protected] @blub @rcarmo Okay, with in @Jupyter is starting to be fun! 🥳

    Some functions arguments are unintuitive, but the smoothing and transitions are gold coming from :openscad: ! 🤩