#pythonsdf — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #pythonsdf, aggregated by home.social.
-
Application: Bending a 3D object along a path.
Such a transformation would make #pythonSDF (or #sdfCAD how I renamed my fork) very versatile.
It already can:
- parametrically twist along a line
- parametrically thicken/modulate along a lineBeing able to arbitrarily bend space would make for some really flexible design possibilities.
-
@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 #CadQuery, #OpenSCAD, #PythonSDF
and the like. You could launch it with your git project in the url, so no need to register it. -
I added twist_between() to #PythonSDF 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.
-
The slides for my #Tübix2023 talks are now online 🇩🇪 :
- :gitannex: #gitAnnex: https://tuebix.github.io/tuebix-downloads-2023/5-git-annex-dateien-synchronisieren-sichern-und-verwalten-fr-poweruser.pdf
- :openscad: #OpenSCAD vs #PythonSDF: https://tuebix.github.io/tuebix-downloads-2023/15-prozedurales-3d-design-mit-openscad-und-python-sdf.pdf
- 💸 #plainTextAccounting with #hledger https://tuebix.github.io/tuebix-downloads-2023/16-plaintextaccounting-mit-hledger.pdf -
And here is the recording of my #Tübix2023 talk about #3dDesign with :openscad: @OpenSCAD #OpenSCAD and #PythonSDF from today (EDIT: yesterday actually 😛):
https://odysee.com/@nobodyinperson:6/T%C3%BCbix2023-Yann-B%C3%BCchau-OpenSCAD-vs-PythonSDF:d
Sound is better, recorded with my #SailfishOS Xperia10iii.
-
Upcoming: my talk about #3DDesign with @OpenSCAD and #PythonSDF
-
Finished my slides for the #Tübix2023 #Tübix #LinuxDay tomorrow in Tübingen:
- File syncing like a pro with @[email protected]'s :gitannex: #gitAnnex
- #3DDesign with :openscad: @OpenSCAD #OpenSCAD and #pythonSDF
- #plainTextAccounting with @simonmic's #hledgerI'll try to record the talks. They'll be in German though.
-
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!
-
@Stark9837 @Jupyter @3dprinting It should be quite easy to make a simple #Flask 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 #pythonSDF for pretty much all my #3DDesign's now because it makes (some) things much easier (smoothness, rounding, infinite objects, etc.).
-
@Stark9837 @3dprinting I am still looking for way to easily make the #pythonSDF 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.
-
@Stark9837 @3dprinting Me too. I don't like the original #HoneycombStorageWall press-fit concept. I print with larger nozzles, layer heights and speeds and this frequently caused the original to not fit at all. My #Screwiverse inserts snap into place, lock extremely tightly when something is screwed in, and are just as easily to remove. The #Screwiverse with all its attachments is my first real project with #PythonSDF and I'm really happy how well it works for designing.
-
@mcdanlj Cool! Sounds like a job for :openscad: @OpenSCAD #OpenScad or #pythonSDF
-
📋 The #Tübix2023 schedule is out:
https://cfp.tuebix.org/tuebix-2023/schedule
My three submissions were all accepted 🥳
:gitannex: #gitAnnex : https://cfp.tuebix.org/tuebix-2023/talk/THBBK7/
:openscad: @OpenSCAD #OpenSCAD and #PythonSDF : https://cfp.tuebix.org/tuebix-2023/talk/HKC9R7/
💸 #plainTextAccounting with #hledger : https://cfp.tuebix.org/tuebix-2023/talk/HNF7K7/
Will be an awesome day!
Maybe we'll meet there? 👀
-
In #pythonSDF 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 #OpenSCAD.
One of the huge benefits of every object being just a mathematical function of the distance to the nearest surface.
I forked it btw: https://gitlab.com/nobodyinperson/sdf
-
Now that's what I expect of a customizable, modular tool wall 😎
https://www.printables.com/model/470787-hsw-screwiverse
#HoneycombStorageWall #HSW #3dprinting #3dDesign #3dmodelling #pythonSDF #Printables
-
⚠️ Today is Call For Papers deadline for the #Tübix2023 #LinuxDay in #Tübingen the 01.07.2023.
I submitted a workshop on :gitannex: #gitAnnex, a talk about #3DModelling :openscad: @OpenSCAD and :python: #pythonSDF and a lightning talk about #plainTextAccounting with #hledger.
💪 Make this an awesome day with your contribution: https://www.tuebix.org/callforpapers/
-
@stepheneb With my fork of #pythonSDF: https://gitlab.com/nobodyinperson/sdf
The code for these particular screws is here: https://gitlab.com/nobodyinperson/hsw-screwiverse/-/blob/194a0584c7f8ade1a8eaa3e4ea3814647e1ccdcc/hsw_screwiverse.py#L56
But vase mode is a setting of the slicer, it's not in the model. Though it's trivial to shell an object in #pythonSDF and probably many other CAD programs.
-
I added modulating the width along a bezier curve to my fork of #pythonSDF. So now we can make an octopus 🐙 with it! 🥳
-
@rcarmo I'm curious, how did you initially find #pythonSDF? It's an awesome way to do #3ddesign but it's known very little.
-
I added functions to examine the distance to the object surface to #pythonSDF. 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 #OpenSCAD 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! 👍
#3ddesign #3dprinting #HoneycombStorageWall #Screwiverse #Python #Jupyter
-
I added mirror()ing at arbitrary points into arbitrary directions to (my fork of) #pythonSDF 🪞:
https://github.com/nobodyinperson/sdf/commit/879224e8eaa2588dd232a4db35a7a098e019a91b
It's so awesome that it's just high school math underneath and adding a feature like this mostly boils down to a single #Python 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. 〰️
https://github.com/nobodyinperson/sdf/blob/879224e8eaa2588dd232a4db35a7a098e019a91b/sdf/d3.py#L638
-
I'm really getting the hang of #pythonSDF and use it also for more complicated designs now. This is an attempt for a #HoneycombStorageWall 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 #STL viewer here 😛 It does it great! Would be awesome if it could open STL files natively from the file browser.
-
@neil And what about code? I made the design with #pythonSDF. If the code flies around somewhere, is that a problem?
-
Design: :openscad: @OpenSCAD and #pythonSDF (https://github.com/fogleman/sdf)
Slice: #PrusaSlicer
Share: https://printables.com and GitLab -
I made a design to non-destructively attach your #HoneycombStorageWall to a flat wall with Tesa Powerstrips:
https://www.printables.com/de/model/464973-hsw-tesa-powerstrips-wall-mount
-
Good luck doing something like this with :openscad: #OpenSCAD 😅
This is a cut-open shell of some smoothly unioned thick #Bézier curves.
#pythonSDF really makes this easy. A great OpenSCAD alternative for parametric #CAD with #Python. It shines where OpenSCAD fails: smoothness and transitions. The codebase is also *really* simple and understandable for what it does.
-
Yay, tonight I managed to implement #Bézier curves with #pythonSDF 🥳
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 #pythonSDF is!
-
A friendly Italian 🇮🇹 colleague of mine made a meme about me preferring the #Terminal over graphical user interfaces as I don't like #GUI's doing weird stuff behind my back 😅
And it's true: I edit pretty much any text exclusively in :vim: #vim and wherever I can I use the #commandLine instead of graphical apps. I don't like graphical point-and-click #CAD but prefer :openscad: #OpenSCAD / #pythonSDF, write my #TexLaTeX papers in #vim, code my #Arduino's in #vim and flash with #PlatformIO, etc. 😊
-
Just realised that another big advantage of #pythonSDF ( https://github.com/fogleman/sdf) for #3Ddesign is that *distances* are a byproduct which you can make use of. 🔧
For example the below #OpenSCAD screw container (https://gitlab.com/nobodyinperson/screw-container) 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! 🥳
-
Apparently there is no good #FOSS STL viewer for #Android (let alone #SailfishOS), let alone one that auto-refreshes when the file changes.
And @alpinelinux doesn't have :openscad: #OpenSCAD packaged for #aarch64, so using alpine #Apptainer 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: #PythonSDF works perfectly on #SailfishOS to do parametric 3D design. Just an STL viewer with auto-refresh is missing.
-
@[email protected] @blub @rcarmo Okay, #3DModelling with #PythonSDF in @Jupyter is starting to be fun! 🥳
Some functions arguments are unintuitive, but the smoothing and transitions are gold coming from :openscad: #OpenSCAD! 🤩