sdf
opencascade-emscripten-port
sdf | opencascade-emscripten-port | |
---|---|---|
18 | 1 | |
1,485 | 17 | |
- | - | |
0.0 | 0.0 | |
3 months ago | almost 3 years ago | |
Python | C++ | |
MIT License | GNU Lesser General Public License v3.0 only |
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.
sdf
- Sdf – Generate 3D meshes based on SDFs
-
FreeCAD User Book (2019)
I used to like OpenSCAD for its simple approach but then I discovered SDF-based modelling with Python made possible with this neat library: [1]. This is perfect if you are a programmer that doesn't know anything about CAD-Software.
1.: https://github.com/fogleman/sdf
-
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.
-
Plot of triangle mesh with py5
I used the SDF repo by Michael Fogleman. Check out his website, there's a ton of useful stuff on there. He contributes a lot to the open source community and has been mentioned in r/PlotterArt before.
-
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.
[1] https://github.com/fogleman/sdf
-
Is it possible to 3d print signed distance functions?
https://github.com/fogleman/sdf this python project can create mesh from sdf
- Curated Code CAD
-
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!
- I am planning on creating a programming language for my Informatics Bachelor Thesis. What are your ideas for such a project?
opencascade-emscripten-port
-
Curated Code CAD
There is an OpenCascade version compiled down to wasm [1] that we're currently using embedded in our own app. Rendering to WebGL is relatively straight-forward and the system as a whole works well. Gives me a lot of power when designing mechanical systems and running simulations on the resulting models. Perf of the CAD kernel on the web is not great, but 'just good enough'.
Troubleshooting issues is tricky though. If something doesn't work debugging is nearly impossible and the (C++) docs are very challenging.
OpenCascade is very powerful, but the ergonomics of the API aren't great. Writing a simple FP-style immutable wrapper around it has proven very fruitful and we can now describe relatively complicated models with a bare minimum of TypeScript code. Lot's of fun!
[1] https://github.com/gabrielcuvillier/opencascade-emscripten-p...
What are some alternatives?
meshlab - The open source mesh processing system
cadquery - A python parametric CAD scripting framework based on OCCT
trimesh - Python library for loading and using triangular meshes.
sdfx - A simple CAD package using signed distance functions
CQ-editor - CadQuery GUI editor based on PyQT
meshio - :spider_web: input/output for many mesh formats
TR2Main - Tomb Raider II Injector Dynamic Library
vedo - A python module for scientific analysis of 3D data based on VTK and Numpy
cq-containers
libfive - Infrastructure for solid modeling
ViewSCAD - A Jupyter renderer for the OpenSCAD and SolidPython Constructive Solid Geometry languages