As someone who has used 3D CAD professionally for decades, I must confess I had low expectations for this tool. My expectations have been greatly exceeded, and there is real value in something like this.
The value is not in creating models of new/custom parts, but in quickly generating models of standard parts such as pipe fittings, bolts, connectors, and stuff you could buy from a catalog. Prompts like "m4 cap screw which is 50 mm long" or "2 inch ASME B16.5 pipe flange" seem to reliably generate adequate results. Design of large assemblies often requires locating or drawing dozens (or hundreds) of such models (though there are sometimes libraries available). It's almost like the model was trained on the entire McMaster-Carr catalog! (maybe they scraped it?) The models will still need to be checked to ensure quality, but this is true regardless of whether a human or AI creates them.
Modeling even simple fixtures and brackets with a system like this is cumbersome: I tried, but requires paragraphs of metes-and-bounds language. Nevertheless I got the parts I wanted. Much of engineering happens at the interfaces, so accurately describing things like hole patterns and mating surfaces is critical. This can certainly be done in text, just not time-efficiently.
Additionally, the output (STEP files, etc) are what we call in the business "dumb solids." They don't include any parametric logic, and the sorts of edits which can be made to them are limited and often require serious creativity.
Another drawback: this thing is slow! A good CAD user could draw a lot of these parts in less wall-clock time. I assume this can be overcome by throwing more iron at the problem.
The UI/UX is has a ton of rough edges (and I'm still not sure if I made an account or not) but is totally fine for a proof-of-concept.
I went into this with incredibly low hopes: I've heard many promises of software which promises to make CAD faster and easier and accessible to non-experts. These look great in sales pitches, but the engineers and designers in the audience invariably wince (or worse). This is something that I could actually use and would make my life easier.
This is good feedback thank you! The model will only get better from here and we will work on speed and UX, we are also getting a bit pounded at the moment which might account for some slowness.
Also the goal is ultimately to return a KCL file which is our scripting language for CAD which is very parametric :) and easily editable, this will come next year
The value of a ML model for this is fairly low, though. An expert model, with fuzzy matching if needed, is going to be far more reliable for "standard" parts.
The only value of a "generative" model would be for "creating models of new/custom parts", but that's what you explicitely say it isn't for...
This ML/AI fad is looking more and more like the blockchain fad: redoing exactly what we already know how to do with boring technologies, but repackadged in a shinier coat hiding worse results, and the unproven promise of just-around-the-corner progress to suck in investors.
I'm sure there are instances where you have to model these parts manually, but I've never run into a situation where McMaster-Carr[1] didn't have the models I'm looking for.
When ever I see CAD mentioned on hackernews it's always 3D and never the more ubiquitous (in the construction industry) 2D documentation CAD. I wonder if this would be able to generate 2D vector files.
I'm actually in the building construction industry and CAD generated 2D vector documentation is still the standard go-to for workshop and design drawings. Especially when it comes to contractors as-installed drawings. Some work had moved to 3D BIM modeling but often you'll still end up with 2D for a multitude of reasons and unless something drastically changes I don't see 2D work disappearing any time soon. Specifically because you can "show for calarity" in 2D more flexibly than with any 3D system because you are not modeling a space, you are documenting it.
You "could" generate 3D objects to use in a traditional CAD package but most of the time that would be overkill and just make your drawing, at best and un-editable and at worst a performance nightmare.
Rest assured, if the fabricator is in demand you are being charged a premium for turning up with a PDF instead of a 3D model they can auto-convert to toolpaths.
Individual structural members, window and door frames are typically CNC'd off-site. Obviously the amount depends on what kind of build (eg. residential one-off, high vs. low spec, apartments, commercial, etc.) but in general for anything departing base-grade one-off small scale residential you will see more and more CNC'd elements.
Right, but I think the point is that the 2D can often be just as tedious to create as the 3D (and less enjoyable) but it gets less attention. Tools like this take for granted 2D documentation, not to mention the ability of the part to be fabricated reasonably through a standard process (CNC, injection molding, etc.)
Those sound like terrible CAD programs that aren't terribly usable for real work. I don't know how I'd do my job with them.
Proper modern 3d CAD systems like Solidworks, Catia, Creo (was ProE), Fusion360, Inventory, etc. have super robust 2d drawing and export functionality. If they didn't we couldn't make the built world the way we have.
It's the same for 2d packages like Autocad. You can draw in 3d in Autocad, but it's not solid modeling its just drawing in 3d, totally different. But it works.
in some cases, it was because the programs you're naming didn't exist at the time, except for autocad, which didn't have useful 3-d functionality
in other cases, because the 'tools that don't work' from your point of view can do things in minutes that would take hours in those other programs, which i don't have in any case. blender, for example, is terrible at making 2-d dimensioned drawings compared to something like solidworks, but you can model things in blender nobody has ever been able to model in solidworks, and then you can 3-d print them. and, though solidworks can do everything openscad can, there are things that are easy to do in openscad which are a real pain in solidworks. but openscad is also utterly terrible at 2-d drawings
sorry, by 'products you need out of your cad program' i meant things like prints with dimensions and callouts, or stl files, or gerbers, not the physical artifacts those things are used to produce
i just answered that in the comment you're replying to, so you have exhausted the presumption of good faith, and this is my last comment in this thread
I'm trying to get at what CAD program outputs you would want that aren't drawings, etc. I'm not aware of any. I'm trying to get at what true application Blender had which you are referencing.
If you don't want a drawing or a manufacturable thing out of your CAD program then its likely not CAD your doing but graphics design or 3d modeling, not design. This is fine, but itsba different thing.
That a CAD program can only handle 2D doesn't mean that it doesn't describe 3D. Even when plans where physical large format blueprints, 2D, the product they described was of course always 3D. In French, the draughtsman was called a "dessinateur projeteur" - as projecting the 3D objects to a 2D plane (the plan !) was his core skill.
Seems like a massive waste of time to me, like hours vs seconds kind of waste of time. With 3D CAD, if I have a top view of a part and want to add a side view, it's like 3 clicks to just... make it exist. All views are derived from the 3D part/assembly, there's no effort needed to make new views pop into existence.
Maybe I'm out of date on 2D CAD knowledge, but from what I remember you'd literally have to re-sketch the entire part for the new view. Because it's drawn in 2D, you can't just "flip it on its side" like you can a 3D part. And then you have to make sure you actually sketched the part correctly and didn't forget anything.
I see it as analogous to programming with toggle switches.
Exactly, because the end result is a 3d object in the real world that needs to function with its surroundings in 3d space. How we write down that shape to communicate it to eachother doesn't matter so much. It's like language vs content
I've noticed the same problem, no LLM to manufacturing/construction CAD yet as far as I can tell?
It would be nice to feed the LLM a set of dimensions, constraints, desired features, etc and have a few different versions generated. Quickly explore the problem space of designing house for a piece of land, or for 3d printing.
The way I see it, 2D is inherently included in 3D CAD, but 2D CAD is limited it's 2D-only nature.
Parts physically exist in 3D CAD. When you're working on your blueprint, it's done more-or-less by performing the operations on the part that will be performed when it's manufactured. Every 2D view you could ever want is inherently included in a 3D part.
But 2D... it's not much better than sketching by hand on a piece of paper. Everything's disconnected. You can forget to add a feature to a view, you can make mistakes between views. With 3D if you add a new flange or a hole or whatever to a part, every drawing is instantly updated.
Depends on what it is. I use DALLE3/midjourney to give me ideas for furniture pieces all the time and then build them. This is obviously not as complicated as a CAD for a building but it’s still a great starting point.
The only LLM-as-a-service I use is phind for the sole reason that it allows me to use it without "signing up" first.
If the sign up is a necessary barrier for your needs is for you to decide, but I just wanted to let you know that I was excited to try your product for my wood working and 3d printing needs until the required signup.
Just some anecdata that even a little friction can be a hindrance in people using your product.
Chiefly, a desire for privacy and anonymity. A signup will identify my interactions with an endpoint dedicated to me circumventing other privacy and anonymity measures I take such as fingerprint resisting and use of VMs and VPNs.
Also, sharing my email puts me at risk of having my email forwarded against my will or without my consent, as well as potentially clogging my inbox with endless "promotional updates".
Finally, I am unable to make an informed decision whether the risks of sharing my email with this company is worth the utility of the tool it provides until after I try it.
I think a fair response to your question is a question of its own: What do they want with my email?
So I have struggled with this when building services that need to store a user's data or manage a user identity. I'd prefer to not collect an email address. For me it comes down to whether or not I need to support features that most users expect like resetting an account password or notifying the user about some event.
I get it, and labor on the question as well with the tools I make.
The problems you present seem easily managed with an option to sign up while limiting certain use cases to those using the service anonymously.
I like a limited local first design, and a “demo login” with a simulated fully featured account that I feel allow a person to make the decision to share a piece of their identity with our product without any stress or coercion.
I tried to acknowledge that they may think the sign up is necessary for them, and that is a completely acceptable decision to make. I was just pointing out that it carries the risk of turning away weirdos like me.
If I was to build something in the LLM space I would likely try to glean some answers to these questions by cold emailing the phind team to ask them what considerations went into their decision to provide their tool in the way they do.
I am not the OP, but I also skipped on trying the demo, because I didn't want log with my real email into a random website (a few too many times it led to unwanted interactions), and I didn't bother to create a temp account.
It's just easier to wait another few months until somebody does it in the open.
Disappointing to see Jessie Frazelle building closed source centralized tech.
This approach mirrors "Open"AI sending all queries to central servers with no mention of any privacy measures. The admins surely get to see who is making sex toys, prop weapons, or medical parts and that data will be sold or leaked, as is tradition.
This is a great idea though and I look forward to supporting whoever makes an open source alternative I can run locally as a Blender, FreeCAD, or OpenSCAD extension.
As someone who spent an enormous amount of free time with zero pay contributing to one of those open source cad tools you mentioned, i say good for her. Make that bag. I work in a low level job thats got nothing to do with open source nor with CAD because i spent way too much time waiting for open source to magically produce income. There is a spectrum between open source dreams and pragmatic reality. People who judge you are almost universally wrong in their assumptions and their worldview and listening to them was a waste of time. I hope she makes a million dollars and uses it to support open source projects.
I'm inclined to believe that the people who make proprietary software are the ones with the "wrong worldview", if there is such a thing. People with morals are not the ones at fault for making the world parasitic to its core.
You say you had to stop with the open source because you needed money. That has nothing to do with open source, and everything to do with the fact that you're not allowed to access the basic necessities of life if you don't allow yourself to be exploited for profit.
>the fact that you're not allowed to access the basic necessities of life if you don't allow yourself to be exploited for profit.
This is the underpinning of capitalism. Some people speculate that denying basic necessities is the only way to ensure that common people will be productive enough to make the wealthy people wealthier.
Funnily enough, in the eastern block almost everyone had to work. But as long as the wealthy people call themselves general secretary or commissar and talk about Marx it's all good, right?
Oxide & Friends had some recent episodes about keeping the lights on when working on open source. IIRC titled something like "Corporate Open Source Anti-Patterns."
TLDR: FOSS devs still need to eat, so we'd better come up with a sustainable biz model, so we can keep working on FOSS.
My play is I sell my advice and experience, and find companies willing to pay me to write open source software to meet their needs.
I have built a security firm that only audits code/ architecture and writes open source code and it can generate enough income to support a few people in a way I feel good about.
I try to put people before profit and that is probably why I am not cut out to be a billionaire.
I've also done this (and use github copilot while editing scad files in Emacs). I really wish there were more audio programming languages and examples so that we could create music like this, too.
I'm really looking forward to the future of this area, especially parallel developments in image-to-CAD. It would be incredible to get an accurate model by taking a couple of photos and then inputting measurements. Sure, you can 3D-scan something, but that makes a messy point cloud when real world objects are mostly make out of primitives that could be far more exactly duplicated.
Great start! I have a feeling this is going to cascade (no pun intended) in ways we haven't quite wrapped our heads around.
What is the underlying technology here? Is this an LLM driven workflow or Image generation driven workflow? I can imagine a way to do something similar either way given a dataset geared a particular direction. Speaking of... anyone have a lead on a CAD-esque dataset?
I have been trying to use local llm's for openSCAD code generation. My results have been quite terrible, and I would rather use Fusion or Solidworks if I am going to "sit down" and CAD something. I would really like to see the dataset used for this or something similar. My guess is this is an openSCAD or similar workflow.
Do people really want train a LLM on CAD models treating them as text? I would be more interested in trying to work from the conceptual model behind the exchange file format.
Weird, though, I asked for "6 inch by 6 inch plate with four bolt holes for NEMA 42 motor frame, centered on plate".[1] That should get me four holes in a square pattern. It got me three holes.
It has no clue what the standard NEMA motor frame sizes are, because I asked for a nonexistent NEMA number and it accepted it. That's an LLM hallucinating, probably. It's not an acceptable feature in engineering.
What about dimensions? It's a good starting point, but which software can use this to alter the dimensions precisely? This should have been called Text-to-3D.
> Today, you can take the generated STEP file of any CAD model from Text-to-CAD and import it into an existing CAD program and edit it. Even more exciting, in the future, we will give you the generated KCL (KittyCAD Language) code so that you can edit it in our Modeling App!
The value is not in creating models of new/custom parts, but in quickly generating models of standard parts such as pipe fittings, bolts, connectors, and stuff you could buy from a catalog. Prompts like "m4 cap screw which is 50 mm long" or "2 inch ASME B16.5 pipe flange" seem to reliably generate adequate results. Design of large assemblies often requires locating or drawing dozens (or hundreds) of such models (though there are sometimes libraries available). It's almost like the model was trained on the entire McMaster-Carr catalog! (maybe they scraped it?) The models will still need to be checked to ensure quality, but this is true regardless of whether a human or AI creates them.
Modeling even simple fixtures and brackets with a system like this is cumbersome: I tried, but requires paragraphs of metes-and-bounds language. Nevertheless I got the parts I wanted. Much of engineering happens at the interfaces, so accurately describing things like hole patterns and mating surfaces is critical. This can certainly be done in text, just not time-efficiently.
Additionally, the output (STEP files, etc) are what we call in the business "dumb solids." They don't include any parametric logic, and the sorts of edits which can be made to them are limited and often require serious creativity.
Another drawback: this thing is slow! A good CAD user could draw a lot of these parts in less wall-clock time. I assume this can be overcome by throwing more iron at the problem.
The UI/UX is has a ton of rough edges (and I'm still not sure if I made an account or not) but is totally fine for a proof-of-concept.
I went into this with incredibly low hopes: I've heard many promises of software which promises to make CAD faster and easier and accessible to non-experts. These look great in sales pitches, but the engineers and designers in the audience invariably wince (or worse). This is something that I could actually use and would make my life easier.