Text-to-CAD
zoo.dev
zoo.dev
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.
- [1]: https://www.mcmaster.com/
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.
Response: Sorry, there are codes that counteracts other building codes.
That or gothic cathedrals: https://en.wikipedia.org/wiki/Gothic_architecture
After they get comfortably seated, they are informed that the plane was built by their students.
All but one jump out of their seats and immediately run for the exits.
Later, the lone professor who remained calm was interviewed, as he clearly had more confidence in the ability of his students than any of the others.
“It's true, I know my students' ability very well, and I can tell you for a fact this plane won't move an inch.”
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.
At least, that’s how I view 3d.
At the very least, the tool should be able to do additive and subtractive operations (boolean). Union, add, subtract, intersect, etc.
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.
We use 3d CAD to generate 2d drawings, that's the standard way 3d cad is used, to generate 2d drawings that let you make stuff.
Many people get 3d modeling like for games or computer graphics confused with CAD, which is different.
CAD is fundamentally 2d and 3d in nature both, as a function of how we use it to make parts
they're not one and the same, although some programs are capable enough to do both
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.
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.
Why would you use tools that don't work?
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
Blender is definitely the wrong tool for this kind of job. It's a graphics tool, not a CAD tool.
A drafter may use a pen, but that doesn't mean a calligraphy pen will do.
Same question, what are the products you are referring to?
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.
I was trying to parse through that with you...
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.
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.
It's just easier to wait another few months until somebody does it in the open.
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?
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.
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.
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.
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?
Trouble is, the timing is never right to get out when there is always another payday just within reach.
These days I an happy to be paid to teach anyone anything but I have no interest in writing proprietary software anymore for any amount of money.
Everything I know and have built is because of FOSS and I owe that community my creations built on their work.
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.
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.
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.
There is an ISO directive to not use any of their standards when training an LLM, would be interested to know what this group has done.
What? This seems mind bogglingly short sighted. You would thing a standards body of all places would want AIs outputting standards compliant output.
> ... In the future, we will give you the generated KCL (KittyCAD Language) code so that you can edit it in our Modeling App!
Trying some prompts:
- "1/4 inch bolt, hex head" -- result is a cylinder with no bolt head.
- "1/4 inch bolt" -- "The prompt must clearly describe a CAD model"
- "1/4 inch threaded rod, 3 inches long" -- same
- "0.25in threaded rod, 3 inches long" -- same
- "Plate, 3in x 5in, with rounded corners." -- same
- "Plate with rounded corners" -- blank result
Now it's too overloaded to do anything.
This is kind of an interesting idea. It's a good project to get a large language model and a constructive solid geometry model on speaking terms.
This needs to be a dialog. Something like this:
> Create a flat plate, 100mm x 300mm x 3mm thick.
> Round corners, 20mm radius.
> Drill four holes in the corners.
> Holes are inset 20mm from edges.
> Holes are 6mm diameter.
> Allow extra hole diameter for standard 6mm screw.
> Round edges of top surface of plate.
Those are all things you can express to Autodesk Inventor through its GUI.
What you'd really like to say is:
> Import this file. Here is a mounting plate for a motor.
OK
> The four holes near the center are mounting bolts for a standard NEMA motor.
OK.
> What motor frame size is it for?
NEMA 42
> Change the bolt holes to fit a NEMA 56 at the same position.
OK. (Drawing changes).
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.
[1] https://text-to-cad.zoo.dev/view/fac162c0-0d5e-4e33-a2d8-2c3...
Now it's totally broken:
This Serverless Function has timed out.
Your connection is working correctly.
Vercel is working correctly.
504: GATEWAY_TIMEOUT Code: FUNCTION_INVOCATION_TIMEOUT ID: sfo1::ktr6w-1703145542635-43fe4abe1bec