Powerful, Open-Source, Programmatic CAD
Comments
mdaniel
jhvkjhk
It seems that this project has been taken over by other people. The latest commit is just two months ago. https://github.com/Haskell-Things/ImplicitCAD
sitkack
ImplicitCAD is unusable, the CSG algorithms it uses are not stable and give horrible results. There is zero chance that you can use it to make engineered objects.
It is entirely possible to write broken software in Haskell.
naasking
The Wikipedia page doesn't really describe any issues, so I'm not sure what they're supposed to be or if maybe they've been resolved since that comment was written in 2015.
mkl
But see the current OpenSCAD thread for plenty of reasons you might not want to, and for alternatives: https://news.ycombinator.com/item?id=41543386
naasking
ImplicitCAD is more powerful than OpenSCAD. See the FAQ:
sitkack
It isnt because it doesn't work. The CSG algorithms they use are broken.
naasking
In what way?
sitkack
Run this in both implicitcad and openscad
https://github.com/Haskell-Things/ImplicitCAD/blob/master/Ex...
Try and form a clean ring by subtracting a cylinder from it, you have to dial the resolution so high that it takes minutes to get a result that approximates what you can get min milliseconds in openscad.
The team is not interesting in fixing it and shows a fundamental flaw with how they handle thin intersections. ImplicitCad is sadly nothing more than a non-functioning hobby project and should be labeled as such.
Zopieux
Every time this is posted I look at the "API reference" which sadly is severely lacking. Perhaps the software is actually limited to just a few primitives.
omeid2
The readme is much better, but generally, this kind of CAD is a bit like OpenGL, very few primitives to create crazy staff.
Also, it is written in Haskell, so maybe there is finally some other useful project in Haskell other than the Haskell Compiler, as the joke goes.
vincent-manis
Pandoc
zem
and xmonad!
peppertree
Libfive is the closest successor. Blender also starts to support implicit modeling. https://libfive.com/
mytwoscents
https://build123d.readthedocs.io/ is IMO a much better choice than openscad and implicitcad. Describing your objects in Python is just how things should be (at least for me ;)
ValentinA23
Writing a transpiler targeting OpenScad is trivial, at least the part that is comparable to a markup language. Control flow, arithmetic and datastructures can be handled one level above in the transpiled language, because OpenScad never produces data – you can't ask it to determine the volume of an union for instance – so two way communication between your code and the geometric engine is not an issue. Just like build123d it seems.
w4rh4wk5
Is there support for rounding / chamfering edges?
I no longer use OpenSCAD because its annoyingly complicated to do for non-trivial shapes.
itishappy
Second example from the repository:
//example2.escad -- A rounded union of a square and a circle.
union(r=14) {
square([80,80]);
translate ([80,80]) circle(30);
}
https://github.com/Haskell-Things/ImplicitCADjohnnyApplePRNG
So i have recently begun learning jewelry design using blender since there are a lot of videos on it out there but i have this sneaking suspicion i should be learning CAD instead... Thoughts?
adfm
If you're learning jewelry design, I'd like to point you towards Rhino, which is popular in the jewelry design community. It's not OSS, but since you're learning, I'll point out that they have a generous educational discount.
iancmceachern
There are CAD packages specific to the jewelry industry, they really speed up the work. If you are wanting to do it professionally I'd look into learning those.
Source - Dad was a master jeweler and my parents ran a shop for nearly 40 years
Centigonal
They are both useful skillsets. CAD is nice when you want to manufacture your end result, but you have to think more about constraints and parameters up front.
johnnyApplePRNG
It's mostly the cost aspect that is preventing me from even exploring the jewelry CAD options... Matrix Gold which is apparently the preeminent CAD software in the jewelry industry... Costs a few thousand dollars and only runs on Windows... Both of which are completely out of touch with my open source Linux setup.
iancmceachern
Solidworks is the same way, I just run windows, it's worth it.
Animats
It's really surface vs. volume representations. Blender, Maya, and most 3D graphics programs, define surfaces. Modern 3D CAD programs such as FreeCAD, Fusion, and SolidWorks use constructive solid geometry, where everything is a volume. There are exceptions - SketchUp was a constructive solid geometry program, and original AutoCAD was just lines.
The big difference comes when you combine objects or operate on them. Surface-based programs are not that good at combining surfaces. CSG-based programs have to be really good at combining volumes, including subtracting from them. This requires a very difficult geometry program underneath.
bmicraft
Okay so this is a from-the-ground-up rewrite of OpenSCAD with a couple of bonus features?
DidYaWipe
"Bet your expecting"
After that I'm not expecting much.
dvh
Not in Ubuntu repository
injidup
Just use onshape and learn to use their API for creating custom nodes in the history tree. Ie write a small module that generates planetary gears and then use them in the context of a standard, sketch and extrude history based CAD system.
relevant top comment from the author in the prior submission: https://news.ycombinator.com/item?id=9249268
> Author here. Sorry, I abandoned this two or three years ago. Please look at this in the context of a project done several years ago and never completed.
> Honestly, I no longer believe ImplicitCAD was the right approach to the problem, or that there's even as much of a problem as I originally thought. In particular, the system ImplicitCAD uses to represent objects, a variant of f-rep (http://en.wikipedia.org/wiki/Function_representation) has issues.