GenCAD

GenCAD

gencad.github.io441 pointsby dagenix127 comments

Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Anyone finding this interesting will likely also like OpenSCAD - generate 3D CAD models from code. https://openscad.org/
  • I've seen this and other attempts like this[0] while exploring improvements for my CAD AI[1]. And I think these are potentially powerful solutions, but none of the current projects/weights have enough training (data or time) to make it work on arbitrary models. MeshCoder pretty much works only on models based of their training data. I haven't tried GenCAD but other commenters have confirmed my suspicion.

    [0]: https://daibingquan.github.io/MeshCoder/

    [1]: https://grandpacad.com

  • Maybe I missed something, if you have the image rendering in the first place, you already (likely) have the CAD. It is a nice demo, but what is the utility?
  • generate from sketch or replicate a part you don't have
  • Ideally it would tie in with an llm, no? Like you would want to be able to say something like "create a design of car suspension subject to x,y,z contrains"
  • The input is images, and the output is CAD models, so it appears you could use a multi-modal LLM to natural language -> image -> CAD
    by cush
  • The examples they show are so basic.
  • Yeah they’re basically a single extrude of the sketch
  • If you can get this to read dimensions and apply constraints, you've done it. But that doesn't look like the case.

    Every time I see one of these things,its like whoever worked on it doesn't know how to use CAD or understand what CAD is used for.

  • This.

    Every 6 months, I reevaluate how well LLMs can model from scratch or can modify existing files.

    It's very superficial (atleast the last time I tried it). I'm guessing if/when LLMs crack visual reasoning, they might be able to do it.

  • Readers may also enjoy my open source Rust BRep CAD kernel https://github.com/ecto/vcad or the hosted version at https://vcad.io.

    I also wrote a bit about what goes into CAD apps! https://campedersen.com/tessellation

    by ecto
  • (forgot to mention, it's wired up to Claude so you can vibe CAD, like OP but with a few more steps - I'd like to train a similar model soon! I also wrote about my first stab at this https://campedersen.com/cad0)
    by ecto
  • Seeing as I'm attempting to build my own CAD program in Rust I checked out the hosted website. I'm not really sure what is supposed to be working and what isn't.

    I can't help but to be skeptical of one person writing ~115k LOC in 4 months which is just the Rust crates, nevermind the frontend (which is another 100k LOC!!!).

    I'm curious why you decided to go with "eager" tessellation. Creating a circle immediately results in a bunch of lines which resemble a circle but would fail under tangency constraints quickly. Is this a current limitation or part of the strategy for the kernel?

  • To the author if they happen to see this. Please kill the auto playing video. If someone is listening to something else on their phone this always takes over and interrupts.
  • TIL: people are still browsing the internet without an ad blocker.
  • I wanted to see how well it performed on real pictures of parts or hand-drawn drawings, but when I tried setting up the docker image, immediately ran into all kinds of dependencies not being installed. The examples make me suspect it doesn't work well beyond images that were generated from CAD in the first place.
  • If only there was some kind of container that allowed you to bundle all your dependencies together with your software.
  • > docker image, immediately ran into all kinds of dependencies not being installed

    Ironically the former is engineered to avoid the latter.

  • This has been easy with OpenSCAD for a long time. I have made lots of cool, complex models this way. I built a repo of the prompts I use to show the llm how to do this and it includes many of the models I've created this way...

    https://github.com/cjtrowbridge/vibe-modeling

  • What is the inference overhead on this
  • I'm sorry, but which ones of these are complex? I'm looking through some [1] [2] [3] of the output PNGs and they look trivial. Like, my first 3d model in Blender trivial.

    In comparison, here's one of my recent designs: what I would still call a very simple case [4]. And it's not like I'm a trained mechanical engineer working commercially, this is stuff I design in my spare time as a programmer.

    [1] - https://github.com/cjtrowbridge/vibe-modeling/blob/main/outp...

    [2] - https://github.com/cjtrowbridge/vibe-modeling/blob/main/outp...

    [3] - https://github.com/cjtrowbridge/vibe-modeling/blob/main/outp...

    [4] - https://object.ceph-eu.hswaw.net/q3k-personal/fe3e54e6df604a...

    by q3k
  • Same. Working with an LLM and OpenSCAD has been totally painless.
  • OpenSCAD has almost zero crossover with B-rep modelling ('true' CAD, what this apparently is), though.
  • Neat, but I don't really see the utility. The time consuming part of CAD drawing comes from figuring out the correct dimensions of each feature, spacing, sizing, tolerances, etc., and constraining the drawing in a way so that it's easy to tweak later on- which this doesn't do at all. Maybe you could draw a 2d sketch of what you want then generate it, but you'd still have to do the hard part.
  • If down the line this model could create 3D model from 2D images that would be very neat way to pay less for war gaming models
  • Missing IKEA screws.
  • Even if you are completely skeptical about the AI cad model generation they also demonstrated their representation for model search/matching. Having a smarter search method for cad models based on 3d geometry in addition to traditional text search would be nice to have.
  • Strangely, it would work better if it generates CAD as code with clear labels. Then you can grab your caliper and make sure its all the right size.
  • Good question!

    So why $work-1 spent so much time on this was quite logical. When you have point clouds generated from crappy head mounted cameras, you get models that are very complex.

    for example, if you look at a point cloud of an Ikea LACK (https://www.ikea.com/gb/en/p/lack-nest-of-tables-set-of-2-wh...) It will be massively complex. this means that when you want to perform nay kind of interaction with it, its computationally difficult (https://www.researchgate.net/publication/221064696/figure/fi...)

    So an active area of research is point cloud to "CAD" model (ie simplyfied, where a LACK tabl would be ~40 triangles rather than 400k)

    One of those ways is to say "oh this pointcloud looks like a table, lets generate a bunch of hypothesis tables and see if they fit." One way to do that is to have a model that understands parametric CAD, and can create a number of tables with parameters that can be adjusted until it fits.

    A perhaps easier way is to take a point cloud, get an image model trained on CAD models to draw models, in 2d imagery, then use something like this to get an actual model out.

    Its not efficient, but it might work.

    There are also lots of other cases, like automatic plagiarism, which are less good.

  • If you can just take a pencil and draw a piece of furniture, press a button and get a semi-decent CAD drawing to tweak, that'd be a huge tool for carpenters and such.
    by stck