libfive
sdf
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
libfive
- PicoGK is a compact and robust geometry kernel for Computational Engineering
-
OpenSCAD Survey - what programming language do you want to be added to app?
Guile/Scheme: https://libfive.com/
-
Meta Releases Intermediate Graphics Library
You probably have already seen this, but I would take a look at libfive for inspiration
- Better OpenSCAD?
-
Show HN: Make 3D art in your browser using Lisp and math
No; Bauble doesn't know how to "rasterize" SDFs into meshes; it only knows how to raymarch them. It's theoretically possible, but it's a pretty complex problem that would take me much too long to figure out and implement. So Bauble is relegated to just making pretty pictures for now. If you want to produce meshes using SDFs, check out https://libfive.com/
-
Antimony – computer-aided design tool from the Lisp machine parallel universe
This is a mid-point in Matt Keeter's research.
Start at:
http://mattkeeter.com/research/thesis.pdf
then see:
http://www.mattkeeter.com/projects/kokopelli/
then Antimony (see the article at: http://hackaday.com/2015/05/29/otherworldy-cad-software-hail... ), then the current effort:
https://github.com/libfive/libfive
(and also see: https://www.gitlab.com/kavalogic-inc/tovero "a binding of Libfive to Common Lisp, including a standalone REPL-based viewer"[https://github.com/Irev-Dev/curated-code-cad] can be integrated with https://www.gitlab.com/kavalogic-inc/clive
Currently I'm using OpenSCAD (w/ BlockSCAD as a front-end: https://www.blockscad3d.com because I prefer a sort of visual representation), but have been stymied by the lack of file I/O (I want to write out G-code).
Still looking for a 3D modeling tool which is:
- a node or block editor
- Learning CAD on Linux
- OpenSCAD 3D rendering just got an order of magnitude faster
- CadQuery –- A Python parametric CAD scripting framework based on OCCT
-
What happened Tovero (libfive bindings) and Clive (scene graph and 3D GUI) from Kavalogic and previously hosted on common-lisp.net?
From another random git commit I found it it seems the project moved to being hosted on gitlab.com under the account name "kavalogic-inc" but all the repos got deleted: - https://gitlab.com/kavalogic-inc
sdf
- Sdf – Generate 3D meshes based on SDFs
-
CAD Sketcher, free and open-source project bringing CAD like tools to Blender3d
>these the the central core that understands BREP and implements the geometric operations.
I've seen people quote a good modern CAD kernal as a 100 man year project. It's probably not going to happen, maybe there's some avenue for government funding?
Alternatively Signed-Distance-Functions are pretty nice. They're not BREP, but they're a lot easier to implement, and it might be possible to shove them into a BREP-shaped hole.
Here's a signed-distance-function based CAD kernal written in a few thousand lines of python+numpy, that seems to be about as fast as openscad. Maybe faster. https://github.com/fogleman/sdf
-
Signed distance functions in 46 lines of Python
Excellent. You might be interested in a Python library that I wrote for generating 3D meshes (STL files) from SDFs : https://github.com/fogleman/sdf
It just uses marching cubes for triangulation but the SDFs are all numpy'd and the SDF is evaluated in batches on multiple threads so it's relatively fast.
-
10 ways to get the best out of OpenSCAD
Try out fogleman/sdf[1]. It is like OpenSCAD in many ways but the distance field model gives you offsets and fillets more easily.
-
Curated Code CAD
> Basic things like 'hollow this object out, leaving a 3mm shell' are nearly impossible.
Yeah, I think that's a consequence of how they're constructing the objects. But things like signed distance fields make that easier* because it'd just be "expand the SDF by 3mm" - https://github.com/fogleman/sdf has `shell` for this.
* if you can wrap your head around the math/geometry, I guess
-
Guerrilla guide to CNC machining, mold making, and resin casting (2015)
> https://github.com/fogleman/sdf
Holy crap, why have I not seen this before?!?!!? I was even planning to start coding something like this myself. This is awesome!
> Which I reckon is me being too used to cli-tools and hardly ever going outside the cli world
You might get some mileage out of OpenSCAD if you can define your object parametrically (I used it to make a Switch controller middle-bit.) Or there's stuff like https://github.com/fogleman/sdf which I've used to make resin-printed buttons for my mother.
(I also cannot get the hang of Blender despite dipping into it for a couple of weeks every year since about 2013.)
- I am planning on creating a programming language for my Informatics Bachelor Thesis. What are your ideas for such a project?
- Show HN: 3D Meshes of Signed Distance Functions in Python
What are some alternatives?
meshlab - The open source mesh processing system
trimesh - Python library for loading and using triangular meshes.
jupyter-cadquery - An extension to render cadquery objects in JupyterLab via pythreejs
curv - a language for making art using mathematics
libredwg - Official mirror of libredwg. With CI hooks and nightly releases. PR's ok
cxx - Safe interop between Rust and C++
fosscad-repo - Official FOSSCAD Library Repository
sdfx - A simple CAD package using signed distance functions
meshio - :spider_web: input/output for many mesh formats
cadquery - A python parametric CAD scripting framework based on OCCT
vedo - A python module for scientific analysis of 3D data based on VTK and Numpy
rayray - A tiny GPU raytracer, using Zig and WebGPU