Why we’re doing this: Mechanical engineers excel at generating initial design concepts but get bogged down translating ideas into final designs due to tedious, repetitive tasks. Our goal is to automate these mundane processes, allowing engineers to focus on the creative aspects of design.
Having worked at multiple hardware companies—from medical devices to space launch vehicles—we know how often “trivial” components such as manufacturing rigging, get brushed under the table in scheduling conversations. These tasks aren’t necessarily complex, but they take time and still require the rigor of production components. From finding the perfect fastener to making sure mounting holes align, we aim to simplify and accelerate the design process from the complex to the mundane.
We're tackling this problem similarly to how coding copilots help programmers work faster. Initially, rudimentary coding assistants offered simple suggestions like auto-completing variables. Now, they understand complex tasks, write entire code blocks, and help fix bugs. We're taking this step-by-step approach, starting with a beta that focuses on sketching.
Our sketch helper offers design suggestions, such as applying equality constraints to similarly sized circles or adding tangent constraints between lines and curves. While designers can do these tasks manually, they often require dozens of precise mouse clicks. Our software makes suggestions that you can preview and accept to streamline your workflow. Over time we aim to improve at anticipating your needs and expand beyond sketching to other design aspects like resolving interference issues, auto-generating bills of materials with purchase links, and offering manufacturability suggestions.
How this is different from other solutions: we've heard of complete generative part design solutions, but we don't believe this top down approach is the best way to assist mechanical engineers. Engineers excel at and enjoy designing new concepts—we want to focus on streamlining the most tedious aspects. Crucially, we find that generative solutions often overlook manufacturability, a key aspect of design.
We invite you to try our sketch helper and share your thoughts! If you can think of any additional features that would make it more useful to you, we’d love to hear what they are. Any and all feedback is welcome!
A number of popular CAD systems use the D-Cubed 2D sketch constraint solver [0]. Siemens owns this and the Parasolid kernel, along with NX. All have been in constant development since the 80's. I really question what major new problems a startup is going to fix in 2D sketching constraints. I'm sure there a bunch of small quality of life things which may be out there, but most of the hard issues are more 3D or spline related, not finding things which could be tangent or equal.
Probably the biggest paradigm shift with constraints that still hasn't really taken off is what Siemens is doing with SolidEdge. It allows for defining the 3D equivalent of constraints between surfaces, holes, edges, etc. and then using direct modeling techniques to modify solids. Perhaps adding more intelligence to that approach would make direct modeling more popular.
Onshape has innovated in the way that it's brought Google Docs-like collaboration and GITHub like versioning, branching and merging to parametric CAD. Nothing else has these capabilities at the moment. To me that has been one of the most innovative changes in the mechanical CAD industry.
Onshape also has FeatureScript, which is the programming language which describes all the parametric features. Right now, none of the LLMs know FeatureScript well enough to be the least bit useful. They hallucinate wildly. I'd be very happy to have a Copilot for FeatureScript.
[0] https://plm.sw.siemens.com/en-US/plm-components/d-cubed/
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 what it thinks are the most likely constraints to remove and then re-solving the sketch. It's OK, but that sort of tool could be better.
I agree it could be better. The behavior with under-constrained sketches depends on D-Cubed's DCM, and I seem to recall they were rather floppy. It seems kind of ridiculous to make users jump through the hoops of making sketches fully constrained once they've added the constraints they care about.
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!
I was wondering if AI might help with writing FeatureScript. I’ve only scratched the surface but have leaned heavily on what other people have written for documentation.
Automatic drafting is something that I think might be a good target for doing some AI research on. Your prompt exists in the form of the solid model, and it's feature tree and parameters. The output is the lay out views and annotations. It's okay if the output isn't perfect, as I would expect to be reviewing it and doing some tweaks.
Helping with all of the ERP processes involved with releasing and maintaining engineering documentation would be a HUGE time saver. If I could ask a copilot program to start a change request, and give it some basic descriptions of what I'm changing, it would be massively helpful if it could start pulling relevant files, and auto-filling the right requests/forms/whatever to do that process.
fast-draft.ai
Please, please send me an email or dm if you are interested.
My questions: 1) What's your CAD background? 2) What led you to realize that this was a problem that needed solving?
Autodesk Fusion already knows how to apply those kinds of constraints. This is an easier way to input them. The general problem is to express "what am I pointing at" in cluttered situations. Just figuring out how to do that was a huge problem in CAD. For decades, you had to have multiple views on screen just to select. The UI for doing it in one view was really tough.
It still doesn't translate well to fat-fingered devices such as tablets and phones. There are lots of construction people who could really use a tablet that has the design, knows where it is in space, and shows what's supposed to go there.
However the thing holding OpenSCAD back is the fact it is CSG (basically booleans on primitives) which is just not good enough for non-trivial parts. More interesting tool is cadquery[1] which uses the OpenCASCADE b-rep kernel. Still not as powerful as commercial offerings sadly, but at least on the right path to get there.
[1] https://cadquery.readthedocs.io/en/latest/
It feels totally untrained on the step-by-step logic you need to build things in a programatic way. This is likely a problem with not having enough training data.
https://pythonscad.org/
That said, the bigger problem is that OpenSCAD is easy for things which are tractable to being described mathematically, and that the boundary for what can be described is one's fluency with mathematics --- once one gets beyond those things which can be described by rectangles, cylinders, and spheres, it gets quite difficult, and getting elements aligned often requires trigonometry (I have one backburner project which needs for me to get up-to-speed on conic sections).
There are some folks who are able to write code to generate point clouds or polygons which describe surfaces (see recent discussions on the OpenSCAD mailing list), but not many, and there isn't much such code, and when it does exist, it tends to be quite special purpose and hard to apply to different shapes.
It would help if there was a Bézier curve primitive in OpenSCAD, or better some support for a NURBS surface as a core primitive so folks wouldn't constantly be rolling their own options.
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 read the Autodesk EULA, I think it prohibits use of any open-source software in these add-ins. And I don't think anyone can use this software outside of Fusion 360. 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.
If you can have your LLM ingest a non-parametric CAD model and spit out a parametric model with a beautiful, complete, editable feature tree full of Extrudes, fully defined parametric sketches with these nice constraints, all tied to the sketch origin, now that's something.
I think Autodesk BIM is $5000/mo/user, Fusion is $500/mo/user. I have thought that means the money is in architectural/structural.
As a side note - one other tip I have, for all CAD users everywhere: avoid Tangent relationship wherever possible! Stick to vertical/horizontal on the lines and arc endpoints, and you will be golden. 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.
Curious if you dealt much with the Fusion constraint model, and have any insights into why it works so poorly, or even how it works? Many times, you click on a line, and it turns from blue to black, and back to blue again.
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 lots of erroneous solutions to attempting to constrain G1 chains of tangent bounded curves. For example the Apollonius Problem [1][2] of 3 tangent circles/lines has 2^3 = 8 solutions. IMO if John Owen had chosen directed curves for DCM then dragging configurations of tangent circles would be more stable.
I'll end with a quote from the Preface of Julian Lowell Coolidge's 1916 "A Treatise on the Circle and the Sphere" [3]:
> Among the cartesian theorems there is a sharp sub-division between those where the radius is looked upon as essentially signless and those where a positive or negative radius is allowed.
[1] https://mathworld.wolfram.com/ApolloniusProblem.html
[2] https://observablehq.com/@d3/apollonius-problem#
[3] https://en.wikipedia.org/wiki/A_Treatise_on_the_Circle_and_t...
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 tangent doesn't want to go back on itself to create zero thickness geometry.
Wonder if the 2D sketch experience is much better in Onshape, NX, Catia, etc?
That would have surprised me, as most add-ins I am using are open source and the most popular Fusion apps state that they are open source in their store listings and shouldn't have passed reviews if that were the case.
I took a look at the publisher agreement and it does have this section:
> no Open Source Software is or will be included, incorporated or embedded in, linked to, combined, distributed, or made available with or used in the delivery or provision of Your App in a manner that could cause any Autodesk Assets to be subject to any Open Source License.
There is also a definitions section about this that specifically goes into detail about copyleft licenses, so it seems like they just want to stay very clear of the issue of "copyleft poisoning" and exotic licenses, and ensure that if there is any breach of software license terms that liability is on the add-in author.
This is always the problem with add-ins like this as a business - you're essentially doing free market research for the application vendor.
I think Fusion copies the add-in to a different directory, which I need to go find and manually delete. These add-ins should really have a Windows Installer function so that I can run the uninstaller to remove it, or have it run the uninstaller when the add-in loads or something to wipe the old files.
This is part of the problem with these add ins in general. I just installed this thing on my computer, I can't see the python source code, and what did I install and run??? Even if I could see the source, I don't have time to read it. That's why they have the app store, so that it can get reviewed to make sure it's OK. Any reason why you didn't just publish on there?
I should really take the advice of the old guys who say don't trust it if you can't see the source. I'm sure you mean well, but I would feel better/safer if it was open source.
Is there anyone who has made an AI LLM that reviews source code or an installer that you want to run and tells you if it does anything problematic? Would that also work on compiled Python source code?
Curious if you linked to the Python libraries, or copied them in with the add-in? Or were you able to avoid most libraries for this?
Script Error
The message you received results from an add-in loaded on your machine that has compiled Python code that will be incompatible with the next update of Fusion or is incompatible with the current version of Fusion. This message is displayed when Fusion upgrades to a newer version of Python, and add-ins compiled against the previous version will no longer work.
If the message says, "The script will not be supported in the next version.", this is a warning telling you Fusion will no longer be able to load this add-in with the next Fusion update. When you get the update and the add-in quits working, you'll need to get an updated version of the add-in from the Autodesk App Store or directly from the app developer. Unfortunately, you can't preemptively get a newer version because the new version of the add-in will not function with the current version of Fusion, you will need to wait until after the update.
If the message says, "The script is not supported in the current version.", this is an error indicating Fusion could not load the add-in. You need to get an updated version of the add-in from the Autodesk App Store or directly from the app developer. App developers are contacted to let them know they will need to update their apps to be compatible with the new Python version, and the updated apps should be available as soon as the Fusion update goes out. If an update is not available, you should contact the app developer. App Developers
If you're a developer of an add-in for Fusion, use Python, and deliver any pre-compiled modules (.pyc files) with your add-in, this update will break your add-in. It will be broken because pre-compiled modules are tied to the version of Python used to compile them. Add-ins compiled with the current version of Python (3.7) will not be compatible with the updated Python (3.9) and will fail to load. This change DOES NOT affect any add-ins that do not deliver any pre-compiled modules and the.py source code is available. For detailed information about what you need to do to update your add-in and have it available for your customers at the time when the Fusion update goes out, see this forum post with the latest information.
Then it links to this, which is talking about Python 3.7 vs. 3.9.7, but that's from 2022: https://forums.autodesk.com/t5/fusion-api-and-scripts/import...
Would you need to release the source code then? Would there be the same problem with C++? How can people develop these sorts of apps without having to release the source code?
I'm on Fusion 2.0.19994 x86_64
This said, it sure looks cool.
What would be good would be something more like "I want to make a shape centered on this object on this other complex object, what's the best way to do it with the simplest constraints". With Fusion there are many ways to do anything and I often watch videos whose producers are way less experienced than me but they often have some really good hints, they have come across themselves or from others.
Like when you ask ChatGPT: "What's the best idiomatic way to do XXX in C++", or similar, say in a language I don't use every day, like TypeScript.
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