libfive
dotSCAD
Our great sponsors
libfive | dotSCAD | |
---|---|---|
20 | 28 | |
1,190 | 639 | |
1.9% | - | |
2.8 | 9.5 | |
about 2 months ago | 3 months ago | |
C++ | OpenSCAD | |
- | 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.
libfive
-
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
-
Tovero 3D Modeling system - where is it?
A recent question on AutoCAD lisp pointed to the libfive C++ library with C bindings. It's GitHub page points to the Tovero 3D Modeling system (link on Gitlab). That project is not found on Gitlab.
-
A New Era for Mechanical CAD
Or https://libfive.com/, which is less clunky (but no longer OpenSCAD-based).
-
Anyone interested in a 14x21 dactyl?
I thought that early on, and looked (several times!) for something else besides OpenSCAD that would fill the bill (i.e. language-based CAD). There were some dozen projects, and most of them had been abandoned. The closest I got was in using libfive, an f-rep system with a binding to Scheme. But it was too easy for me to cause it to put out no shape at all, and to take a long time doing it.
- Created using libfive/studio : a CAD engine built around a DSL based on guile-scheme. libFive is https://github.com/libfive/libfive Source for this object is https://gist.github.com/mds2/166f6c0b6687af31f5012d5fffbacdfa
dotSCAD
-
RIP Lin Xinliang (Liang Gege) 1975~2022
Justin Lin passed away due to illness in 2022 at the age of 48.[0]
On December 22, 2022 OpenSCAD posted:
> Today's advent calendar door is a sad one. We'd like to commemorate Justin Lin, who passed away a while ago. In the OpenSCAD community he is best known for his #dotSCAD library. His designs always brought joy and amazement. Thank you, we will miss you.[1,2]
On October 11, 2022 dotSCAD v3.3 released — it was the last commit by JustinSDK on GitHub.[3]
[0] https://www.ithome.com.tw/caterpillar
[1] https://twitter.com/openscad/status/1605758512746881025
-
Does anyone know how I could join all the spheres together to create a single curve? I am trying to use the hull() function.
https://github.com/JustinSDK/dotSCAD - as far as I can tell this is widely used
-
"tria(_p1, _p2, _p3)" module implements "spherical triangle" on sphere, allows for sperical polygon as well
// require https://github.com/JustinSDK/dotSCAD use use use n = 5; radius = 10; thickness = 1; geom = geom_icosahedron(radius); points = geom[0]; faces = geom[1]; for(f = faces) { triangle = [for(i = f) points[i]]; // subdivide the triangle triangles = tri_subdivide(triangle, n); points1 = [ for(t = triangles, p = t) let(unit_vector = p / norm(p)) unit_vector * radius ]; points2 = [ for(t = triangles, p = t) let(unit_vector = p / norm(p)) unit_vector * (radius - thickness) ]; ff = [for(i = [0:3:len(points1) - 3]) [i, i + 1, i + 2]]; color(rands(0, 1, 3)) sf_solidifyT(points1, points2, ff); }
use // require https://github.com/JustinSDK/dotSCAD n = 10; radius = 10; // given three points on a sphere triangle = radius * [ [1, 0, 0], [0, 1, 0], [0, 0, 1] ]; // subdivide the triangle triangles = tri_subdivide(triangle, n); // put all points onto the sphere for(t = triangles, p = t) { unit_vector = p / norm(p); translate(unit_vector * radius) sphere(.2); } for(t = triangles) { hull() for(p = t) { unit_vector = p / norm(p); translate(unit_vector * radius) sphere(.1, $fn = 4); } }
-
Treble clef dragon
If you are into OpenSCAD, grab this chap's work - https://github.com/JustinSDK/dotSCAD/tree/master/src and use his modules, they are rather good.
-
Preferred way for rounding corners?
// use // a shape function from https://github.com/JustinSDK/dotSCAD // sq_outer = shape_square(size = 50, corner_r = 5); sq_outer = [[20, -25], [21.9471, -24.6053], [23.5868, -23.4835], [24.6602, -21.8118], [25, -20], [25, 20], [24.6053, 21.9471], [23.4835, 23.5868], [21.8118, 24.6602], [20, 25], [-20, 25], [-21.8118, 24.6602], [-23.4835, 23.5868], [-24.6053, 21.9471], [-25, 20], [-25, -20], [-24.6602, -21.8118], [-23.5868, -23.4835], [-21.9471, -24.6053], [-20, -25]]; // sq_inner = shape_square(size = 30, corner_r = 3); sq_inner = [[12, -15], [13.8551, -14.3577], [14.9158, -12.7057], [15, -12], [15, 12], [14.3577, 13.8551], [12.7057, 14.9158], [12, 15], [-12, 15], [-12.7057, 14.9158], [-14.3577, 13.8551], [-15, 12], [-15, -12], [-14.9158, -12.7057], [-13.8551, -14.3577], [-12, -15]]; polygon( points = concat(sq_outer, sq_inner), paths = [ [each [0:len(sq_outer) - 1]], [each [len(sq_outer):len(sq_outer)+ len(sq_inner) - 1]] ] );
- Creating a library for OpenSCAD
-
3D Maze
If you download the zip file of dotSCAD 3.2, you would find the src folder after unzipping it.
What are some alternatives?
jupyter-cadquery - An extension to render cadquery objects in JupyterLab via pythreejs
BOSL2 - The Belfry OpenScad Library, v2.0. An OpenSCAD library of shapes, masks, and manipulators to make working with OpenSCAD easier. BETA
curv - a language for making art using mathematics
cxx - Safe interop between Rust and C++
BOSL - The Belfry OpenScad Library - A library of tools, shapes, and helpers to make OpenScad easier to use.
implicit - A math-inspired CAD program in haskell. CSG, bevels, and shells; 2D & 3D geometry; 2D gcode generation...
libredwg - Official mirror of libredwg. With CI hooks and nightly releases. PR's ok
fosscad-repo - Official FOSSCAD Library Repository
OpenAstroTracker - 3D printed DSLR tracking mount
NopSCADlib - Library of parts modelled in OpenSCAD and a framework for making projects
cadquery - A python parametric CAD scripting framework based on OCCT
PolyDiceGenerator - A customizable Polyhedral Dice Generator for OpenSCAD.