Live data from Hacker News

Show HN: Hestus – AI Copilot for CAD

hestus.co

41–50 of 88 posts

Re: Show HN: Hestus – AI Copilot for CAD

#41
post #30

Nice work!! I tried to run it, but got an API Error: Due to some internal changes made to the Fusion API, the Add-In: 'sketch_helper' from 'Hestus, Inc.' cannot be loaded. You need to install a new version of the Add-In that is compatible with this version of Fusion. Can you just put it up on the Autodesk app store? I struggle with this model, because of the capture by Autodesk and the other CAD providers. If you rea…

> And if this add-in becomes popular, Autodesk can trivially release something that has the same functionality, built into Fusion 360 by default. And, as you are no doubt painfully aware, the Fusion API can be limiting.

This is always the problem with add-ins like this as a business - you're essentially doing free market research for the application vendor.

Re: Show HN: Hestus – AI Copilot for CAD

#42
post #40

Earlier quoted context omitted.

> The Fusion sketch solver is badly compromised, it can't do more than two or so simple successive Tangent relations without bugging out. And, my experience with Solidworks is the same, not sure if this is still true. In my experience of building a sketcher at D-Cubed for a consultancy client (1995-2000) on top of D-Cubed's DCM, this is because DCM's curves (which are unbounded BTW) are not directed so that there are…

Thank you for the great response, that does mirror my experience, those tangent curves want to flip/change direction. I can't believe that all of Fusion, and many other CAM software, is built on such a shaky "sketchy" foundation. It seems that in general 2D sketch constraint models are far from solved in computer science, this seems ridiculous as such a basic and elementary problem. It should be so obvious that the t…

> Wonder if the 2D sketch experience is much better in Onshape, NX, Catia, etc?

Well those systems and pretty much all of the mechanical CAD industry is built upon D-Cubed's DCM, so I'd expect the behaviour to be the same.

If I was creating a new 3D CAD system from scratch now I'd probably license Parasolid eventually, but I'd pass on DCM.

I don't want to dump on D-Cubed and John Owen though. I have huge respect for him and the company he created. This is technical criticism with the benefit of hindsight.

Re: Show HN: Hestus – AI Copilot for CAD

#44
post #31

Earlier quoted context omitted.

Surely all of GitHub is “enough training data”

Well, there's a lot less OpenSCAD on GitHub than Python. At first glance maybe a few orders of magnitude less. But the bigger problem is (probably) not the lack of code, but the lack of good tutorials and well-documented libraries. And since there's no package manager ( https://github.com/openscad/openscad/issues/3479 ) there's still no agreed-upon way to reuse code between projects. All this is conjecture, of course…

OpenSCAD is frequently written on the same level as M4 macro language, or assembly code with no comments. If you're bad at mental arithmetic and bad at keeping track complicated internal state, like LLMs are, you will have a bad time.

Look at the one linked below, for instance. This is from the official OpenSCAD repo, examples folder. There is no way for even an experienced programmer to understand and successfully modify that code without sitting down with a pencil and paper and doing arithmetic and geometry for half an hour.

https://github.com/openscad/openscad/blob/master/examples%2F...

Re: Show HN: Hestus – AI Copilot for CAD

#45
post #31

Earlier quoted context omitted.

Surely all of GitHub is “enough training data”

Well, there's a lot less OpenSCAD on GitHub than Python. At first glance maybe a few orders of magnitude less. But the bigger problem is (probably) not the lack of code, but the lack of good tutorials and well-documented libraries. And since there's no package manager ( https://github.com/openscad/openscad/issues/3479 ) there's still no agreed-upon way to reuse code between projects. All this is conjecture, of course…

The low amount of training data is definitely one issue, but I also think back to the SCAD I've written and it's not got very much in the way of English prompt-friendly text in it to "guide" the LLM towards using it.

Arguably, this might mean I don't comment the code "enough", but in other languages, the variable names and overall structure seem to carry a lot of that for the human programmer and also in a way that guides an LLM towards effectively using it. I don't know much about how LLM's work internally either, but I picked a random SCAD file of mine and I don't know how it'd be found to create a PCB spacer with generous clearance for an M3 screw.

  $fn = 90;
  
  outer = 4.5 + 1.6;
  inner = 4.5;
  h = 13.5;
  
  //round = true;
  //square = true;
  hex = true;
  
  if (square)
    difference() {
      cube(size = [outer, outer, h]);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
      translate([(outer-inner)/2, (outer-inner)/2,-0.05]) cube(size = [inner, inner, h+1]);
    }

  if (round)
    translate([0,15,0])
      difference() {
        cylinder(d = outer, h = h);
        translate([0,0,-0.05]) cylinder(d = inner, h = h+1);
      }

  if (hex) translate([0,30,0])
    difference() {
      cylinder(d = outer*1.25, h = h, $fn=6);
      translate([0,0,-0.05]) cylinder(d = inner*1.25, h = h+1, $fn=6);
    }

Re: Show HN: Hestus – AI Copilot for CAD

#46
Good luck guys! I watched the video on YT - hopefully will get around to trying the Fusion 360 add-in at some point.

Does the current add-in use AI at all?

What is your plan when, in the event of you getting some traction, Autodesk etc. copy you innovations into the main product?

As per my other comments [1][2], I worked on this area at D-Cubed and Solidworks from 1995 to 2002. Feel free to connect with me via twitter DM @delhanty [3].

[1] https://news.ycombinator.com/item?id=41440016

[2] https://news.ycombinator.com/item?id=41440150

[3] https://twitter.com/delhanty

Re: Show HN: Hestus – AI Copilot for CAD

#48
post #27

I've been using parametric CAD (Pro/E / Creo, Solidworks, and Onshape) for 30+ years. Automatically adding sketch constraints is nothing new. Just about any 2D sketching tool out there will have some sort of snapping and/or auto-constraint-adding system. What's often more frustrating is fixing things when they get accidentally over-constrained. Solidworks tries to help with this in the form of cycling through what it…

> I've been using parametric CAD (Pro/E / Creo, Solidworks, and Onshape) for 30+ years. True - I implemented the first Solidworks Autodimension sketch as a contractor around 2002 based upon earlier work that I'd done for a consultancy client at D-Cubed in the late 1990s. I'm sure it could be improved with AI and a large data set of sketches though. > Solidworks tries to help with this in the form of cycling through w…

I am not an expert but surely an under constrained sketch is not a completed sketch.

Does "fully constrained" mean the simplest set of constraints that yields a shape (volume/hypervolume)? Or something rather more complicated? A simple yes or no, with a pointer to a paper will do!

Re: Show HN: Hestus – AI Copilot for CAD

#49
post #48

Earlier quoted context omitted.

> I've been using parametric CAD (Pro/E / Creo, Solidworks, and Onshape) for 30+ years. True - I implemented the first Solidworks Autodimension sketch as a contractor around 2002 based upon earlier work that I'd done for a consultancy client at D-Cubed in the late 1990s. I'm sure it could be improved with AI and a large data set of sketches though. > Solidworks tries to help with this in the form of cycling through w…

I am not an expert but surely an under constrained sketch is not a completed sketch. Does "fully constrained" mean the simplest set of constraints that yields a shape (volume/hypervolume)? Or something rather more complicated? A simple yes or no, with a pointer to a paper will do!

"fully constrained" means that there are no degrees of freedom left so that there are only a finite number of valid solutions, which are then consequently disconnected in the space of possible solutions.

DCM then chooses one valid solution that it believes is "close" to initial supplied positions/directions/radii etc for the geometry.

Re: Show HN: Hestus – AI Copilot for CAD

#50
post #48

Earlier quoted context omitted.

> I've been using parametric CAD (Pro/E / Creo, Solidworks, and Onshape) for 30+ years. True - I implemented the first Solidworks Autodimension sketch as a contractor around 2002 based upon earlier work that I'd done for a consultancy client at D-Cubed in the late 1990s. I'm sure it could be improved with AI and a large data set of sketches though. > Solidworks tries to help with this in the form of cycling through w…

I am not an expert but surely an under constrained sketch is not a completed sketch. Does "fully constrained" mean the simplest set of constraints that yields a shape (volume/hypervolume)? Or something rather more complicated? A simple yes or no, with a pointer to a paper will do!

To add to delhanty's reply, a "degree of freedom" can be thought of as a dimension of the drawing that can be changed or "stretched" or moved without violating a constraint (this is slightly inaccurate, but it's a good start). In a CAD program, a fully constrained drawing can't be freely stretched or dragged around; the program won't let you and the drawing will feel "rigid".

It's very intuitive if you play around with a CAD program for a bit. There is a free (GPLv3) 2D and 3D CAD program called Solvespace (https://solvespace.com/) that is probably easiest one to obtain and learn. There are detailed tutorials on the website, and you could probably download it and finish the first tutorial in an hour.

Post reply on HN