Hacker News new | past | comments | ask | show | jobs | submit login
Constraint-based geometry (CAD) sketcher for Blender (github.com/hlorus)
106 points by khimaros on May 22, 2022 | hide | past | favorite | 30 comments



I really wish there was a open source cad modeler on the same level as blender. It really is next level. My dream for if my startup succeeds is to bootstrap such a product. Especially if it had a fully extensible architecture. it would be possible for third party services to plug into it (both paid and open source) for creating and designing new inventions.


The fundamental problem is that there isn’t a good enough open source parametric kernel. FreeCAD uses OpenCascade which is the best available, but quite dated, FreeCAD is pushing it to its limits.


Is there a good description of what such a parametric kernel does? Or are there any alternatives to OpenCascade?

Edit, found this article with a little explanation: http://mikeestee.com/2012/03/open-source-parametric-cad/


The two big CAD kernels are Parasolid, owned by Siemens, and Acis, owned by Dassault. Both of them are proprietary, quite pricey, and light years ahead of OpenCascade in capability and stability. The current state of open-source CAD is very sad.


Thank you! Based on this, I found the wikipedia article: https://en.wikipedia.org/wiki/Geometric_modeling_kernel

I wonder if there is currently a concentrated open-source effort in this direction, like a greenfield project for today's needs (including capabilities toward design optimization, subtractive and additive manufacturing, while addressing any shortcomings in OpenCascade).


Step files work well for interchange but have no parametric features as far as I can tell. They are also proprietary. For whatever reason, I haven’t seen any serious effort to make an open source cad kernel. Maybe one reason is unlike 3D modeling for artistic domains, very few users are capable of working on software and there’s probably much lower pressure to use software to automate design.

I don’t really see a need to focus on subtractive and additive manufacturing in the kernel, although some hints in the UI for a particular program would be useful. Analysis and optimization predates 3D cad, in a way so it would be interesting to see what could be done from scratch.


And interestingly, Dassault’s Solidworks uses parasolid and not Acis.


FreeCAD? It is used professionally by a lot of big companies such as Behringer to design hardware.

https://www.freecadweb.org/


I use FreeCAD relatively often (once or twice a month) over the past 3 years and I can say with certainty that it is nowhere close to Blender in terms of quality or stability.

I've been keeping up with the latest versions, but even with all the bug fixes that go in I am more likely than not to have it segfault or lose its GL context or something else that causes it to crash. This isn't even hyperbole, I literally get 2 or 3 crashes at minimum per session, and when it happens it's rarely reproducible. I simply save after every couple of changes I make because I've just come to expect it to happen.

When it does work, I frequently run into problems like the infamous topological-naming-issue that, while I understand it is a difficult software problem to fix, I do not run into in the other CAD programs I've used. The only way to avoid these kinds of issues is to understand the underlying cause and then adjust your workflow so that you don't run into them.

The only reason I use it is because there's not really any other FOSS that fits the same niches. I did learn about SolveSpace and this blender plugin today though, so I'll probably take a look.


Take a look at SALOME. It uses the same CAD kernel and constraint engine as FreeCAD, but is very stable. Best kept secret in the open source CAD world.


Same. I don't know much about 3-D modeling, but I took a Maya class years ago and was annoyed at design flaws in its UI.

I didn't expect much from Blender, owing to the shitty UI offered by other widely-used open-source software like GIMP and Audacity. But I was pleasantly surprised by Blender, and I'm excited to learn it.

But the CAD space is dominated by pay-only rental-style solutions, and even most of those seem to be Web-based (Autodesk) or Windows-only (SolidWorks).


Blender suffered from UI issues and arguments for a loooong time. But from 2.8 onwards it seems to have been made acceptable to most.

So maybe one day GIMP and Audacity will get there.



The industry is pushing behind Blender in a massive way. There just isn't the same sort of energy behind GIMP and Audacity.


Not only has it moved to rental, but lots of the offerings have absolutely punishing license terms. For example, if you stop paying maintenance fees, when you upgrade you have to back pay all missed fees or purchase the software again for $10k to $40k.

And at some point you have to upgrade because the file formats change every year.

I always recommend Solidedge these days because it’s the only remaining capable option that has a simple monthly/yearly license.


Solvespace is the only thing vaguely close (FreeCAD is rubbish), but it's missing lots of basic features you might expect like bevels and fillets.


Is blender not open-source?


blender is a mesh modeler, That means the underlying represntation of the scene is a a set of surfaces connected by nodes subdivided by triangles. Its efficient and quick for 3d animation and concept art but not so great for cad design.

real cad tools like fusion360, autocad etc are parametric. they represent a shape in the form of constraints. The underlying representation of the shape is different in a way that facilitates modeling something that you are going to create a real world counterpart from.

Yes there are open source cad programs but nothing I've seen comes close to rivaling professional tools the way blender does.


Yeah, thanks for that explanation of the issue.


Thanks for the insight.


Blender is mostly an artistic tool (mesh modelling), which actual CAD software is designed for industrial engineering, accurate physical simulations, manufacturing, and architecture (constraint based modelling).


Yes. Blender has some volumetric operations. You can take the union or intersection of two meshes, or use one to cut out part of another. But it's a bolt-on to an underlying mesh system, and the resulting meshes have lots of ill-chosen triangles.

Serious modern parametric CAD (Autodesk Inventor, Solidworks, etc.) does constructive solid geometry well, but is not well suited to animation. Making a face via CSG is terrible. Although it's gotten better; you can now do sculpted shapes in CAD, because people design cars in them. That has both sides of the hard problem - the smooth shapes must look good, and the bolt holes for the stamping dies must line up precisely.


solvespace is much better than blender in modelling.


This add-on is using solvespace for solving constraints.


Just came here to talk about OpenSCAD. http://openscad.org

it can also be used in blender, embedded into other applications. design cad as code, use git version control for your objects & designs. vs-code has plugins, or use the openscad

for many hackernews oriented persons this approach will be better than using a mouse.


OpenSCAD is only really suitable for highly parameterised or programmatic shapes. Stuff like fasteners, gears, belts, chains, art, etc.

Those things are really the exception in CAD. It would be masochistic to use OpenSCAD for the things CAD is more commonly used for (consumer products for example).


Homepage:

https://www.cadsketcher.com/

This is pretty cool and looks already very usable for basic things. So far I've usually worked with MeasureIt and lots of patience, but I'll definitely try this. If you're wondering how this works, here are some basic tutorials:

https://www.youtube.com/watch?v=92QmjS-xDaI

https://www.youtube.com/watch?v=ANUlFo01qfM


Lately I have been experimenting with geometry nodes as a kind of CAD modeling. You can create inputs (for example thickness) as constraint. This works but is a lot of work. So this plugin looks very helpfull.

But in the end Blender is mesh based. So for round models you need a lot of vertices or else it will be inaccurate (subdivision modeling doesn't make it more accurate, it does only make it smoother).


I use Solidworks a lot for designing 3d printed parts for hobby projects. For me, the biggest thing missing from open source alternatives is assemblies. Being able to do constraint-based assembly of your parts and see how they fit together makes a massive difference when designing more complicated structures or mechanisms, but even for simple things like designing an enclosure for a PCB. I’m aware that FreeCAD has some prototype assembly plugins but they look very experimental.


This a pretty interesting development.

I'm wondering to what degree tessellation is configurable, e.g. if I want polygon-dense output to have nice curvatures for additive manufacturing, or polygon-light output for rapid workflow and speed if I have complicated geometry.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: