Show HN: AI in SolidWorks

(trylad.com)

174 points by WillNickols 21 hours ago

94 comments

Hey HN! We’re Will and Jorge, and we’ve built LAD (Language-Aided Design), a SolidWorks add-in that uses LLMs to create sketches, features, assemblies, and macros from conversational inputs (https://www.trylad.com/).

We come from software engineering backgrounds where tools like Claude Code and Cursor have come to dominate, but when poking around CAD systems a few months back we realized there's no way to go from a text prompt input to a modeling output in any of the major CAD systems. In our testing, the LLMs aren't as good at making 3D objects as they are are writing code, but we think they'll get a lot better in the upcoming months and years.

To bridge this gap, we've created LAD, an add-in in SolidWorks to turn conversational input and uploaded documents/images into parts, assemblies, and macros. It includes:

- Dozens of tools the LLM can call to create sketches, features, and other objects in parts.

- Assembly tools the LLM can call to turn parts into assemblies.

- File system tools the LLM can use to create, save, search, and read SolidWorks files and documentation.

- Macro writing/running tools plus a SolidWorks API documentation search so the LLM can use macros.

- Automatic screenshots and feature tree parsing to provide the LLM context on the current state.

- Checkpointing to roll back unwanted edits and permissioning to determine which commands wait for user permission.

You can try LAD at https://www.trylad.com/ and let us know what features would make it more useful for your work. To be honest, the LLMs aren't great at CAD right now, but we're mostly curious to hear if people would want and use this if it worked well.

areoform 16 hours ago

I have a SolidWorks Students License™©® and it's the most frustrating piece of software I have ever used. Links to tutorials don't work. And when you do manage to get one, the tutorials are designed for older versions of solidworks and point to buttons that have been moved / don't exist where the tutorial tells you to look in the 2025 version.

The UI is the inverse of whatever intuitive is. It's built on convention after convention after convention. If you understand the shibboleths (and I'm guessing most people take a certified course by a trainer for it?), then it's great, but if you don't, it really sucks to be you (i.e. me).

I would LOVE to try out what you've built, but I am afraid that if the model misinterprets me or makes a mistake, it'll take me longer to debug / correct it than it would to just build it from scratch.

The kinds of things I want to make in solidworks are apparently hard to make in solidworks (arbitrarily / continuously + asymmetrically curved surfaces). I'm assuming that there won't be too many projects like this in the training dataset? How does the LLM handle something that's so out of pocket?

  • Liftyee 12 hours ago

    If it helps, I switched from SOLIDWORKS to Onshape many years ago and the latter has only improved since. The multi-user editing is first class and personally I find the user interface more intuitive (plus, web based = Linux support). I don't need the advanced simulation, analysis, etc. features that SW has over Onshape... yet.

    Personally not familiar with curved models, but my understanding is that surface modelling with lofts guided by spline contours might be the way to go. Not sure if SW has those features.

  • InfinityByTen 3 hours ago

    Solidworks and a lot of CAD software is just a GIANT amalgamation of the original software and the work of all of the tiny companies they keep acquiring (basically whosoever built a plugin/competitor for their stuff).

    It's most likely so poorly set up that I finch considering working in that domain now.

    Source: I've had friends who've worked there. Background: we studied computational engineering, but I got a non-domain software job. Sometimes I feel I learnt more being away from that sort of work.

  • WillNickols 11 hours ago

    Every time you put in a query, LAD takes a snapshot of the current model and stores it, so you can revert whatever changes the LLM makes if it messes up.

  • zettabomb 4 hours ago

    Solidworks is not even close to the least intuitive CAD program out there. My preference is Autodesk Inventor, which I find to be far easier for beginners to pick up. Fusion 360 is supposedly excellent these days as well. For a real nightmare, try Siemens NX.

  • KeplerBoy 4 hours ago

    I genuinely envy everyone who thinks SolidWorks is frustrating to use.

    I had the pleasure to use both SolidWorks and Vivado professionally over the last decade and boy was solidworks fun in comparison.

  • butvacuum 9 hours ago

    Welcome... To The Club!

    And yea, you should find a course from a training firm rather than official documentation. It sucks and theres a reason Fusion360 seems to be really eating into the market after 5-10yrs.

mikeayles 18 hours ago

I think we are targeting different ends of the market, but I'm trying to do a full product development pipeline end to end. PCB, enclosure, peripherals, firmware.

https://github.com/MichaelAyles/heph/blob/main/blogs/0029blo...

I need to redo this blog, because I did it on a run where the enclosure defaulted to the exploded view, and kicanvas bugged out, either way, the bones of it is working. Next up is to add more subcircuits, do cloud compilation of firmware, kicad_pcb to gerbers.

Then order the first prototype!

  • Liftyee 12 hours ago

    Very interesting project! My understanding is that the circuits are human-validated hard coded modular blocks - is this correct? I didn't fully catch how PCB routing and placement is done. I haven't yet seen a credible from-scratch AI schematic design tool (though, admittedly, most of my projects are a mix of repeatable modules and custom circuitry... It would help to have a "known working" setup.)

    • mikeayles 2 hours ago

      For AI designed schematics, you need to check out flux.ai (and quilter for layout), I don't have anything to do with this, i'm a little jealous tbh, but having used it, it's not for me (but i'm making fairly complex, FuSa, type approved stuff, for the sorts of boards that would go into phaestus, it would probably be adequate)

      I'm pretty in the weeds when it comes to this stuff,

      First of all, I made https://www.circuitsnips.com/ , which is like thingiverse for circuits, so users can get bits of designs and copy and paste them into their own designs, but the reception was lukewarm at best, it needed bootstrap data, for which I scraped GH, which could have been a mistake, either way, for the tens of people using it, I think it's pretty neat!

      Circuitsnips Blog:https://www.mikeayles.com/#circuitsnips-com Circuitsnips GH:https://github.com/MichaelAyles/kicad-library

      So, then I created a fork of TOON, called TOKN, which is token optimised KiCad notation, which successfully compresses kicad schematic s-expressions by 93%, and is able to regenerate schematics from it. With the intention of trying to generate schematics, one shot them using frontier models, or even post-train an OSS model to see if that works, however when I benchmarked it, I could get 100% syntax validity, but the models hallucinated the components, the pins etc, so they would need grounding.

      TOKN Blog:https://www.mikeayles.com/#tokn TOKN GH:https://github.com/MichaelAyles/tokn

      Which brings me onto my next, next, (next?) side project: An embedded documentation MCP server!, Load in your PDF's, it parses them and puts things into a sqlite db that the LLM can interact with more efficiently. I mainly use it for writing hardware abstraction layers for chips that have terrible vendor support (looking at you, NXP KEA128). Honestly, everything about this chip is awful, even the GPIO is laid out terribly, it's like the meme where everything gets put in the square hole. PORTB? nah, you need to do PORTA + 16. Anyway...

      Bitwise-MCP Blog:https://www.mikeayles.com/#bitwise-mcp Bitwise-MCP GH:https://github.com/MichaelAyles/bitwise-mcp

      And if you've read this far, here's a little treat:

      https://www.mikeayles.com/#kidoom-featured

    • mikeayles 2 hours ago

      Yep, exactly. I'll do another blog when I have a little more to show, but the concept is, everything is on a grid of 12.7mm squares, where there is a common bus running through north-south. The boards need to be 4 layer and feature size is pretty small, 0402 passives for example, maybe even 0201 if I'm really optimising for size.

      SCH: https://github.com/MichaelAyles/heph/blob/main/blogs/0029-im...

      3D bottomside: https://github.com/MichaelAyles/heph/blob/main/blogs/0029-im...

      In the Phaestus workflow, it chooses modules, for example the main cpu block just has an ESP32C6-XIAO board on it, since it has massive compute, and radio with wifi6 and zigbee, which covers 90% of IOT. Since this is larger than 0.5" it sits in the middle of a 2x2, which bridges both sets of north-south buses, with all common pins.

      Bidged pinouts: https://github.com/MichaelAyles/heph/blob/main/blogs/0029-im...

      Early XIAO: https://github.com/MichaelAyles/heph/blob/main/blogs/0029-im...

      It's been a pain in the butt to design for, since the vias need enough clearance, and we are almost maxed out on our bottom side, so on the 2x2's i've given it as much room as I can in the middle to allow for topside routing with a few vias.

      Then, when assembling the board, it does a 0.1mm overlap n/s, which merges the nets, whilst the system keeps track of what signals are used, so I2C is all multiparticipant, spi1 gets the default CS line, otherwise it can use the aux pins via a resistor selector, the AUX5/AUX6 aren't connected to the XIAO, so if you wanted to do something like a USB power monitor, the power can run isolated at higher voltages, as long as they get fed through a current/voltage sensing block, which could be 1x1, 1x2 or 2x2.

      As for component placing in the enclosure, buttons are sub-boards with a wire-to-board connector, and the 1x1 module is a block that contains a connector and an PCA9570, which allows the button to be placed anywhere with defined mounting features.

      Similar for LCD's, the pre-designed block has a FFC connector, and comes with constraints, e.g. place at end of design, so the screen can fold back on itself, whereas if it was mounted in the middle, it wouldn't be able to go where it needs to be.

pedropaulovc 6 hours ago

This is amazing! I have no CAD experience and so I tried creating my own bespoke version of LAD a while ago by crawling the SolidWorks docs into a very LLM-optimized format [1] and then asking Claude Code to write C# code using the SolidWorks SDK. Even with docs, it still struggled: functions that fail quietly, extremely verbose code and with no easy way to run tests to ensure that the results are accurate. As an example, here's the 400 lines of code it produced for an eccentric cam [2]. Attempts to close the loop by feeding CC png renders in multiple views had absolutely horrible results. Claude could not differentiate up from down, features etc. I'll try LAD tomorrow, fingers crossed it work better.

[1] https://github.com/pedropaulovc/offline-solidworks-api-docs

[2] https://github.com/pedropaulovc/harmonic-analyzer/blob/main/...

carlcortright 19 hours ago

The craziest thing I learned clicking on this post is that solidworks has barely changed in the 15 years since I last used it

  • iancmceachern 11 hours ago

    It's the same for all mission n critical software. Catia, Unix, Matlab, Maya, on and on. This is how you build a industrial base of people with decades of experience to design all these things. If the UI changed every year how would people get truly good at their work?

  • nancyminusone 18 hours ago

    Shouldn't surprise you that much. Spreadsheets and word processing haven't changed in decades either.

    Solidworks might be as close to a final form for CAD as you're going to get.

  • jasongill 19 hours ago

    don't worry, the one thing they did change was adding "the cloud" called 3DEXPERIENCE which is universally hated and gets more and more intrusively jammed into each new release.

    oh and they changed the price as well, it went up, and up, and up

    • abe_m 12 hours ago

      We had a sales person try to explain how file handling in 3DExperience is done. They were presenting how magic everything is where the right version of the file is always present in Catia for modelling, Abaqus for FEA, and whereever else in the package.

      OK, how do we work with our CMM and CAM software? How do we send files to clients and vendors? crickets

      Not confidence inspiring.

OgsyedIE 19 hours ago

CAD and machining are different fields, true, but I see a lot of the same flaws that Adam Karvonen highlighted in his essay on LLM-aided machining a few months ago:

https://adamkarvonen.github.io/machine_learning/2025/04/13/l...

Do any people with familiarity on what's under the hood know if the latent space produced by most transformer paradigms is only capable of natively simulating 1-d reasoning and has to kludge together any process for figuring geometry with more degrees of freedom?

  • Otterly99 2 hours ago

    Commenting on the link you provided: is using a LLM the right approach for this? Why not train a specified model to generate accurate CAD drawings, rather than offloading the task to some LLM that, while it might have some knowledge of machining or CAD conception, will probably fail, because that is not really what it was built for.

  • CamperBob2 13 hours ago

    Well, they couldn't generate 2D artwork if they weren't capable of working with multiple output dimensions.

    An interesting thing about transformers is that they are world-class at compressing 2D image data even when not trained on anything but textual language ( https://arxiv.org/abs/2309.10668 ). Whether that notion is relevant for 3D content would be two or three figures over my pay grade, though.

Jemm 17 minutes ago

Windows Defender is flagging this as containing Sabsik.EN.A!ml

Legend2440 20 hours ago

I think there's a lot of potential for AI in 3D modeling. But I'm not convinced text is the best user interface for it, and current LLMs seem to have a poor understanding of 3D space.

  • bdcravens 19 hours ago

    Text being a challenge is a symptom of the bigger problem: most people have a hard time thinking spatially, and so struggle to communicate their ideas (and that's before you add on modeling vocabulary like "extrude", "chamfer", etc)

    LLMs struggle because I think there's a lot of work to be done with translating colloquial speech. For example, someone might describe a creating a tube is fairly ambiguous language, even though they can see it in their head: "Draw a circle and go up 100mm, 5mm thick" as opposed to "Place a circle on the XY plane, offset the circle by 5mm, and extrude 100mm in the z-plane"

    • numpad0 15 hours ago

      I don't get the text obsession beyond LLMs being immensely useful that you might as well use LLM for <insert tasks here>. I believe that some things live in text, some in variable size n-dimensional array, or in fixed set of parameters, and so on - I mean, our brains don't run on text alone.

      • guhidalg 14 hours ago

        But our brains do map high-dimensionality input to dimensions low enough to be describable with text.

        You can represent a dog as a specific multi-dimensional array (raster image), but the word dog represents many kinds of images.

        • numpad0 12 hours ago

          Yeah, so, that's a lossy/ambiguous process. That represent_in_text(raster_image) -> "dog" don't contain a meaningful amount of the original data. The idea of LLM aided CAD sounds to me like, a sufficiently long hash should contain data it represents. That doesn't make a lot of sense to me.

    • nitwit005 15 hours ago

      But, you need the ambiguity, or the AI isn't really a help. If you know the exact coordinates and dimensions of everything, you've already got an answer.

      • gmueckl 13 hours ago

        Not necessarily. Sometimes, the desired final shape is clear, but the path there isn't when using typical parametric modeling steps with the desire to get a clean geometry.

    • arjie 16 hours ago

      When I use Claude to model I actually just speak to it in common English and it translates the concepts. For example, I might say something like this:

          I'm building a mount for our baby monitor that I can attach to the side of the changing table. The pins are x mm in diameter and are y mm apart. [Image #1] of the mounting pins. So what needs to happen is that the pin head has to be large, and the body of the pin needs to be narrow. Also, add a little bit of a flare to the bottom and top so they don't just knocked off the rest of the mount.
      
      And then I'll iterate.

          We need a bit of slop in the measurements there because it's too tight.
      
      And so on. I'll do little bits that I want and see if they look right before asking the LLM to union it to the main structure. It knows how to use OpenSCAD to generate preview PNGs and inspect it.

      Amusingly, I did this just a couple of weeks ago and that's how I learned what a chamfer is: a flat angled transition. The adjustment I needed to make to my pins where they are flared (but at a constant angle) is a chamfer. Claude told me this as it edited the OpenSCAD file. And I can just ask it in-line for advice and so on.

  • skybrian 13 hours ago

    I think a good UI would be to prompt it with something like "how far is that hole from the edge?" and it would measure it for you, and then "give me a slider to adjust it," and it gives you a slider that moves it in the appropriate direction. If there were already a dimension for that, it wouldn't help much, but sometimes the distance is derived.

    I'd love to have that kind of UI for adjusting dimensions in regular (non-CAD) images. Or maybe adjusting the CSS on web pages?

    • WillNickols 11 hours ago

      I think that would make a lot of sense for non-CAD images, but the particular task you described there is do-able in just a few clicks in most CAD systems already. I think the AI would almost always take a longer time to do those kinds of actions than if you did it yourself.

      • skybrian 11 hours ago

        For experts maybe, but beginners would probably find asking questions about how to do things useful.

  • tsss 37 minutes ago

    Why do you think that? I can't really think of a use case where AI would be much help to me in the CAD context.

  • GivinStatic 7 hours ago

    Exactly. May be focus on ideas translation to CAD. Idea generation and concepts are done with drawings. Translate these drawings to CAD and you have improved time to market.

  • bob1029 18 hours ago

    > LLMs seem to have a poor understanding of 3D space.

    This is definitely my experience as well. However, in this situation it seems we are mostly working in "local" space, not "world" space wherein there are a lot of objects transformed relative to one another. There is also the massive benefit of having a fundamentally parametric representation of geometry.

    I've been developing something similar around Unity, but I am not making competence in spatial domains a mandatory element. I am more interested in the LLM's ability to query scene objects, manage components, and fully own the scripting concerns behind everything.

  • carshodev 18 hours ago

    Opus 4.5 seems to be a step above every other model in terms of creating SVGs. Before most models couldn't make something that looked half decent.

    But I think this shows that these models can improve drastically on specific domains.

    I think if three was some good datasets/mappings for spacial relation and CAD files -> text then a fine tune/model with this in its training data could improve the output a lot.

    I assume this project is using a general LLM model with unique system prompt/context/MCP for this.

  • WillNickols 20 hours ago

    Curious what you think is the best interface for it? We thought about this ourselves and talked to some folks but it didn't seem there was a clear alternative to chat.

    • nancyminusone 19 hours ago

      Solidworks's current controls are the best interface for it. "Draw a picture" is something you're going to find really difficult to beat. Most of the other parametric CADs work the same way, and Solidworks is widely known as one of the best interfaces on top of that. They've spent decades building one that is both unambiguous and fast.

      • thesuitonym 19 hours ago

        Maybe it's just the engineers I've worked with, but I've never heard anyone describe Solidworks as "fast."

        (Of course, you and I know it is, it's just that you're asking it to do a lot)

    • strobe 18 hours ago

      maybe some combination of visual representation with text. For example it's not easy to come up intuitive with names of operations which could be applied to some surface. But if you could say something like 'select top side of cylinder' and it will show you some possible names of operations (with illustrations/animations) which could be applied to it then it's easy to say back what it need to do without actually knowing what actually possible. So as result it maybe just much quicker way to interact with CAD that we are using currently.

    • fragmede 17 hours ago

      The clear alternative is VR. You put on hand trackers and then physical describe the part to the machine. It should be rid m this wide, gestures, and moves hands that wide.

      https://shapelabvr.com/

  • knicholes 15 hours ago

    So there's OpenSCAD, which is basically programming the geometry parametrically. But... I'd liken it to generating an SVG of a pelican on a bicycle at the current levels of LLMs.

    • morganherlocker 7 hours ago

      I designed some parts for an enclosure over the weekend using claude opus to generate an OpenSCAD file, which I then exported to STL and sent to a 3D printer. I was able to get a visually-correct-enough STL off to the 3D printer in about 5 minutes.

      I then waited about an hour for the print to finish, only to discover I wanted to make some adjustments. While I was able to iterate a couple times, I quickly realized that there were certain structures that were difficult to describe precisely enough without serious time spent on wording and deciding what to specify. It got harder as the complexity of the object grew, since one constraint affects another.

      In the end, I switched to FreeCAD and did it by hand.

    • abdullahkhalids 14 hours ago

      Will echo sibling. I have tried using Claude Sonnet for OpenSCAD to design a simple soap mold and it failed terribly in getting the rounded shape I wanted. (1) It's really difficult to explain 3d figures in text, and I doubt there is a lot of training material out there. (2) OpenSCAD is limited in what it can do. So the combination is pretty bad.

    • moffkalast 15 hours ago

      I needed some gears generated recently, and figured I could just get it done with Claude or Chatgpt in OpenSCAD in a few minutes... but oh man was I wrong. I was so wrong.

      Wasted half an hour generating absolute nonsense if it even compiled and ended up going with one of those svg gear generators instead lmao.

      • CamperBob2 14 hours ago

        You'd probably have been better off giving it a basic summary of OpenSCAD grammar and asking for a C or Python program to emit the code.

  • fragmede 19 hours ago

    It's the star trek future way of interfacing with things. I don't know SOLIDWORKS at all. I'm a total noob at Fusion 360, but I've made a couple of things with it. Sketch and extrude. But what I can do is English. Using a combination of Claude and openSCAD and my knowledge of programming, I was able to make something that I could 3d print, without having to learn SOLIDWORKS. Same with Abelton for music. It's frustrating when Claude does the wrong thing, but where it shines is when you give it the skill to render the object to a png for it to look at the scad that it's generating, so it can iterate until it actually makes what you're looking for. It's the human out of the loop where leaps are being made.

wojciem 18 hours ago

Totally relatable pain- getting LLMs to reliably drive precise CAD operations is surprisingly hard, especially when spatial reasoning and plane/extrude/chamfer decisions go wrong 70%+ of the time.

For people looking at a different angle on the "text to 3D model" problem, I've been playing with https://www.timbr.pro lately. Not trying to replace SolidWorks precision, but great for the early fuzzy "make me something that looks roughly like X" phase before you bring it into real CAD.

JoeDohn 12 hours ago

as mentioned below you need to go vertically on all CADs and reduce your risk. 3DS is a company that lives in 90s, they will simply turn off your access one day without any consideration. (also they have some shit AI chat thing in the "3d experience platform", so for them you are already a threat).

amelius 17 hours ago

I'd say let's first build an AI that can reliably read datasheets and technical drawings.

I've tried ChatGpt and Claude on datasheets of electronic components, and I'm sorry to say that they are awful at it.

Before that is fixed, I don't have high hopes for an AI that can generate CAD/EDA models that correctly follow some specification.

arjie 16 hours ago

This is incredible. Coincidentally, I've just started using Claude Code to model things using OpenSCAD and it's pretty decent. The fact that it can generate preview PNGs, inspect them, and then cycle back to continue iterating is pretty valuable. But the things I make are pretty simple.

My wife was designing a spring-loaded model that fits in our baby walls so that we can make it more modularly attached to our walls and she used Blender. Part of it is that it's harder to make a slightly more complex model with an LLM.

Solidworks is out of our budget for the kind of things we're building but I'm hoping if this stuff is successful, people work on things down the market. Good luck!

akiselev 20 hours ago

I've been working on this exact same thing with both Solidworks and Altium! There has definitely been a step change in Opus 4.5; I first had it first reverse engineer the Altium file format using a Ghidra MCP and was impressed and how well it worked with decompiled Delphi. Gemini 3 Pro/Flash also make a huge difference with data extraction from PDFs like foot prints or mechanical drawings so we're close to closing the whole loop on several different fields, not just with software engineering.

For the most part they still suck at anything resembling real spatial reasoning but they're capable of doing incredibly monotonous things that most people wouldn't put themselves through like meticulously labeling every pin or putting strict design rule checks on each net or setting up DSN files for autorouter. It even makes the hard routing quite easy because it can set up the DRC using the Saturn calculator so I don't have to deal with that.

If you give them a natural language interface [1] (a CLI in a claude skill, thats it) that you can translate to concrete actions, coordinates, etc. it shines. Opus can prioritize nets for manual vs autorouting, place the major components using language like "middle of board" which I then use another LLM to translate to concrete steps, and just in general do a lot of the annoying things I used to have to do. You can even combine the visual understanding of Gemini with the actions generated by Opus to take it a step further, by having the latter generate instructions and the former generates JSON DSL to that gets executed.

I'm really curious what the defensibility of all these businesses is going to be going forward. I have no plans on entering that business but my limit at this point is I'm not willing to pay more than $200/mo for several Max plans to have dozens of agents running all the time. When it only takes an hour to create a harness that allows Claude to go hog wild with desktop apps there is a LOT of unexplored space but just about anyone who can torrent Solidworks or Altium can figure it out. On the other hand, if it's just a bunch of people bootstrapping, they won't have the same pressure to grow.

Good luck!

[1] Stuff like "place U1 to the left of U4, 50mm away" and the CLI translates that to structured data with absolute coordinates on the PCB. Having the LLM spit out natural language and then using another LLM with structured outputs to translate that to a JSON DSL works very well, including when you need Opus to do stuff like click on screen.

  • owenversteeg 7 hours ago

    >You can even combine the visual understanding of Gemini with the actions generated by Opus to take it a step further, by having the latter generate instructions and the former generates JSON DSL to that gets executed.

    Yes, huge +1 for this. I do this in a different field and it's quite impressive. At first it felt weird using different models together but they really do have certain strengths/weaknesses (in January 2026.)

    Also, fascinating how quickly things are evolving around PCB design. It was only six months ago that "vibecoding" a PCB was far off (look how basic this was: https://news.ycombinator.com/item?id=44542880) and now that may soon become possible!

  • WillNickols 20 hours ago

    Thanks for the input! Haven't done much with Altium but it seems like you get at least somewhat of a boost for it being slightly more about the logic and less about the spatial reasoning.

    2 things related to what you said I hadn't put in the original post:

    1. In our experience, the LLMs were awful at taking actions directly with any of the SolidWorks API scripting formats (C#, VBA, etc.). Probably 75% of what they wrote just failed to run, and even when they had access to browse the documentation it wasn't much better. If you're getting Opus or anything else to interact with SolidWorks from the CLI, can you say more about how you're getting it to interface effectively?

    2. The LLMs are indeed surprisingly bad at spatial reasoning unless prompted specifically and individually. The most notable case of this is when they need to choose the right plane to sketch on. When creating revolve features, they'll often choose the face that would've only worked if they were going to extrude rather than revolve, and when creating sweeps they'll often try to put the sketch that's going to be swept on the same plane as the path that's being swept. If you go back and ask them why they did that and point out that it's wrong, they can fix it pretty fast, but when left to their own devices they often get quite stuck on this.

    • akiselev 19 hours ago

      > If you're getting Opus or anything else to interact with SolidWorks from the CLI, can you say more about how you're getting it to interface effectively?

      I just have a Solidworks plugin that translates CLI calls to JSON to Solidworks API calls and back again.

      What really started working was creating a bunch of high level CLI commands so that Claude Code could query the part/assembly by asking stuff like "What is the closest distance between the southmost surface of Extrusion1 and the surface of Cylinder2" which would then be translated to a specific high level command or a bunch of lower level commands by Gemini 3 Flash. Those would then be translated to Solidworks API calls, as would any editing commands. It also really helps to give it the ability to parametrize the queries so instead of "all features smaller than 2mm" it can say "all features smaller than $MinFeatureSize", with some logic and a downstream LLM to translate that parameter into values in the design and review it with the human in the loop before committing it to the project.

      The key is to absolutely minimize how often the LLMs think about numbers and have them think in relationships instead. The hard part is translating those relationships back to the CAD API calls but LLMs are much better at hot hallucinating if you resolve all the parametrized equations last.

  • hot_iron_dust 20 hours ago

    Interesting! How did you make Claude "know" the PCB layout/schematic specifics? Is just giving it a "reference prompt" enough to produce any interesting results? One thing that comes to mind is to use LLMs understanding of SVG to build "spatial representation" of the board layout by presenting components and tracks as SVG primitives of different type etc. I imagine a practical "PCB Design Copilot" would come from specialized models, trained from the ground up on a large design dataset. There is no GitHub for free professional grade PCB design sources to scrape though.

    • akiselev 19 hours ago

      > How did you make Claude "know" the PCB layout/schematic specifics? Is just giving it a "reference prompt" enough to produce any interesting results?

      I have a mini query language in the CLI that implements a lot of spatial queries, both structured and via prompts (another LLM translates the prompt to a structured query), against the Altium file format and an intermediate representation I keep. Most queries and editing commands use relative positioning ("to the left of"), units ("right edge minus 10mm"), and parameters (U1.P1.Top + MinSpacing * 5), etc. The LLM rarely needs to use concrete units because it's mostly parametrized by component clearances and design rules - I just choose some numbers at the beginning like board size and layer stackup (mostly set by the fab).

      The CLI has over a hundred subcommands and I use Claude skills to split up the documentation, but the agent actively explores the schematic and PCB themselves. The Claude skills include instructions to use the measurement subcommands to sanity check after making a move or when doing a review at the end, although I'm in the process of implementing a GPU based design rule checker. My Solidworks interface works the same but there are many more "verbs" there for the LLM to manage.

      At the end of the day it's mostly just orchestrating another tool which does most of the spatial logic and calculations. It's definitely easier with Altium than Solidworks so far.

  • hardware2415 19 hours ago

    Very interested in your workflow - do you have anything online to share? Also looked into automating altium more and found having to do a lot of GUI work to guide the models along. How much of going from ‘design in head’ to schematic and layout have you automated?

    • akiselev 19 hours ago

      > Very interested in your workflow - do you have anything online to share?

      Not yet but once I'm ready it's all going to be open source.

      > Also looked into automating altium more and found having to do a lot of GUI work to guide the models along.

      Have you tried the Windows UI Automation/Accessibility APIs? You can download Accessibility Insights for Windows to see the data structure and it's well supported by Altium. It has everything you need to tell the LLM what's on screen without ever sending a screenshot (except for the 2d/3d CAD view) and the UIA provides an API that can actually click, focus, etc. without sending fake keyboard events manually. When reverse engineering the file format I put Opus on a loop and it just kept fiddling with the binary file format until Altium stopped throwing parsing errors.

      > How much of going from ‘design in head’ to schematic and layout have you automated?

      At this point everything but the final PCB routing. My autorouter and autoplacer are very much a work in progress and LLMs aren't great at routing complex traces, but they can brute force it given enough time and DRC checks. Right now I just shell out to autorouters like Specctra with a DSN and route the most important nets by hand in Altium. Since the LLM sets up all the design rules and can spend hours on a loop figuring out the optimal placement, it's usually a breeze. Especially compared to when I first started out in EE and spent days with part selection and footprint capture. Now a lot of that tedium is completely automated.

      Soon I'll integrating probe-rs into the whole workflow and making end to end vibe PCBs, adding support for FPGAs, and integrating Solidworks so it does enclosures and molds too.

      • hardware2415 14 hours ago

        Very cool, definitely interested when you open source it! Great idea to use those apis, as not having the AI be able to check its own output was the big blocker. Is most of the work on the schematics therefore done through this, or manipulating the binaries themselves? Why Altium and not text based kicad for this? I presume just for the ‘professional features’ Altium has

        • akiselev 12 hours ago

          > Is most of the work on the schematics therefore done through this, or manipulating the binaries themselves? Why Altium and not text based kicad for this? I presume just for the ‘professional features’ Altium has

          I'm just manipulating the file format directly because I don't want to be tied to Windows (bleh). I only fire up Altium for a few features that I haven't implemented yet like the autorouting and the UI automation was to let the LLM figure out file corruption issues.

          I learned Altium long before KiCad was a viable option and Altium's ActiveRoute routing is the perfect blend between manual routing and autorouting so it's really hard to switch. ActiveRoute gets even better with the LLM filling out all the design rules.

  • 8note 14 hours ago

    have you figured out something like an LSP for returning the constraints back?

    ive been starting to play around with 2.5D cad system so i can sketch patterns for leather work and auto-convert into constraints, but id like to be able to have an agent in there too eventually

nsoonhui 12 hours ago

This is interesting, how do you get it done? From what I know CAD tools generally don't support text file, only binary blob which is LLM unfriendly?

Do you consider adding support for AutoCAD or AutoCAD vertically integrated software like Civil 3D?

  • WillNickols 11 hours ago

    The conversation itself is sent to the LLM in regular text, and in addition it sees the feature tree (also text) and often a screenshot of whatever the current model looks like. This is usually enough for the model to know what's going on.

    Yes - we're likely looking into other 3D systems in the future.

nico 14 hours ago

Would love something like this for Fusion 360. Being able to just prompt the UI to create or edit objects. It would be cool if (like with coding agents in which you can add context using @filepath), you could use the mouse to click/select context objects for the prompt to execute with

Tossrock 17 hours ago

> but when poking around CAD systems a few months back we realized there's no way to go from a text prompt input to a modeling output in any of the major CAD systems.

This is exactly what SGS-1 is, and it's better than this approach because it's actually a model trained to generate Breps, not just asking an LLM to write code to do it.

waynenilsen 19 hours ago

> the LLMs aren't as good at making 3D objects as they are are writing code

I am still hoping that openSCAD or something similar can grab hold of the community. openSCAD needs some kind of npm as well as imports for mcmaster-carr etc but I think it could work.

[removed] 8 hours ago
[deleted]
proee 20 hours ago

How about support for Fusion 360?

  • WillNickols 20 hours ago

    Would you use something like this if it worked well in Fusion 360? We chose to start with SolidWorks because when talking with people in mechanical engineering, almost everyone was using SolidWorks and no one even mentioned Fusion (despite online surveys saying it's like 45/45).

    • nancyminusone 19 hours ago

      The people who use Solidworks buy Solidworks to use Solidworks. You'll go up to one of them and they'll have the whole model done in like 8 key presses before you even finish typing in your prompt.

      All the people who aren't professional CAD users have Fusion, which they can get for free. They would probably benefit the most from text to model AI, but would probably also be the least willing to pay.

    • s0rce 19 hours ago

      My experience has been professional engineers are using Solid works. Hobbiests are using a variety of often free software.

      • abe_m 12 hours ago

        Fusion doesn't have the needed tools to large machine designs with multiple components. They have only just added the ability to have assemblies where the parts are separately defined in their own files. Without that, it is only suitable for small, low parts count, one off projects.

    • greenavocado 20 hours ago

      Seemingly half the FDM modellers on Printables.com use Fusion 360

      Solidworks is the GOAT though

doctorpangloss 20 hours ago

it's definitely interesting, but the demo of the coffee mug has a lot of flaws, are there some concrete examples you can think of where the hosted LLMs really shine in this problem?

  • jasongill 17 hours ago

    What are the flaws?

    I've watched the video a couple times and the only thing I can see that it does wrong is the fillets on the handle (and maybe the way it used a spline & sweep for the handle could have been improved but it's no worse than you'd see from a new Solidworks user).

    • its_ethan 14 hours ago

      Not sure if it's a "flaw" or not, but I always get stuck on AI + 3D design stuff with there being no dimensional information or control.

      How big is that mug? Slowing it down and trying to catch some dim info the initial cylinder has a radius of ~39. Regardless of if that's default inches, that's one hell of a mug.

      Sure you can scale it, but it's not great practice to design something and then just apply a scaling to get it to the intended size.

      • WillNickols 11 hours ago

        All the dimensions are in mm by default, so 39 mm radius on a mug is about right. For all their flaws, the LLMs do usually provide reasonable dimensions.

  • WillNickols 20 hours ago

    Honestly, the out-of-the-box models aren't great at CAD. We were mostly trying to figure out (1) how well it could do with the best harness we could give it and (2) whether people would want and use this if it worked well.

fallat 18 hours ago

Why would I just not use some local desktop Agent?... Like what

crobertsbmw 11 hours ago

I’m just a grumpy old man, but I like having to do it the hard way. I liked having to code the hard way too. With all the AI vibe coding stuff I now feel like I’m stupid for doing it the hard way. And I probably am. I would definitely think someone else was stupid if they were using an axe to cut down a tree when there’s a chainsaw sitting right next to them. Or if someone was writing assembly code when anything else would do just fine… I guess I feel sad that the AI gets to take over a lot of the mundane but also often times relaxing and fun parts.

  • ipnon 11 hours ago

    I feel like I am still doing it the hard way, I just have to type 10x less into my keyboard to get the same amount of code out. But as soon as my understanding of the system diverges from its reality, I still do the old fashioned work of figuring out the difference and how to resolve it. It feels like a printing press replacing scribes to me.