Remix.run Logo
Show HN: Vibe Code your 3D Models(github.com)
29 points by burrnii 2 days ago | 7 comments

Hi HN,

I’m the creator of SynapsCAD, an open-source desktop application I've been building that combines an OpenSCAD code editor, a real-time 3D viewport, and an AI assistant.

You can write OpenSCAD code, compile it directly to a 3D mesh, and use an LLM (OpenAI, Claude, Gemini, ...) to modify the code through natural language.

Demo video: https://www.youtube.com/watch?v=cN8a5UozS5Q

A bit about the architecture:

- It’s built entirely in Rust.

- The UI and 3D viewport are powered by Bevy 0.15 and egui.

- It uses a pure-Rust compilation pipeline (openscad-rs for parsing and csgrs for constructive solid geometry rendering) so there are no external tools or WASM required.

- Async AI network calls are handled by Tokio in the background to keep the Bevy render loop smooth.

Disclaimer: This is a very early prototype. The OpenSCAD parser/compiler doesn't support everything perfectly yet, so you will definitely hit some rough edges if you throw complex scripts at it.

I mostly just want to get this into the hands of people who tinker with CAD or Rust.

I'd be super happy for any feedback, architectural critiques, or bug reports—especially if you can drop specific OpenSCAD snippets that break the compiler in the GitHub issues!

GitHub (Downloads for Win/Mac/Linux): https://github.com/ierror/synaps-cad

Happy to answer any questions about the tech stack or the roadmap!

statuslover9000 4 minutes ago | parent | next [-]

Having played around with this a bit, I recommend using https://github.com/CadQuery/cadquery as the CAD language instead. I'm pretty sure it could even transpile to OnShape / Solidworks models as well, though it might require some funky hacks with their extensions frameworks

nebula8804 an hour ago | parent | prev | next [-]

CAD modeling seems to be safe from automation for the time being. I've tried various services and ones like sloyd.ai can't even take a simple svg and plop it onto a rectangle base.

And here I thought the CS dept in my school were the elite ones since they brought in the most money and sponsorships. Turns out my fellow Mech Eng classmates will have the last laugh.

SOLAR_FIELDS 2 hours ago | parent | prev | next [-]

These are fun but as long as it’s OpenSCAD it will always be a hobbyist toy and not able to be used for professional use. Which is fine! But imo an openscad rendering pipeline is pretty easy. I’m more interested in someone trying to take a stab at vibe coding models that output Brep compatible formats and generate STEP files. This is much, much harder to do but is the main step towards doing this for actual professional use cases.

Presumably someone is getting closer to this, curious who the most robust player in that space is.

Also curious if building an actual kernel replacement for open cascade is on the table now with AI, it’s a very tough thing to do but now it seems somewhat tractable in 2026

nszceta an hour ago | parent | next [-]

I have been trying to force LLMs to work with geometries for over a month and it's so hard. Even the best LLMs have an extremely poor sense of geometric relationships in my testing. I would also stay away from mesh based CAD like OpenSCAD and go straight for build123d which operates on real solid models (BREP): https://build123d.readthedocs.io/en/latest/index.html

KerrickStaley an hour ago | parent [-]

I recently designed an eval to see if LLMs can produce usable CAD models: https://kerrickstaley.com/2026/02/22/can-frontier-llms-solve...

Claude 4.6 Opus and Gemini 3.1 Pro can to some degree, although the 3D models they produce are often deficient in some way that my eval didn't capture.

My eval used OpenSCAD simply due to familiarity and not having time to experiment with build123d/CadQuery. There is an academic paper where they were successful at fine-tuning a small VLM to do CadQuery: https://arxiv.org/pdf/2505.14646

tatqx an hour ago | parent | prev [-]

Even with AI it is going to be incredibly difficult. Not really a full CAD kernel but I have been at something similar for the last 5 months - https://lilicad.com

contingencies 24 minutes ago | parent | prev [-]

I use openscad vibe coding quite a bit. It tends to fall down beyond extremely simple examples, though. Error categories I've encountered if you want to build better rails: (1) forgetting axis orientations after multiple layers of rotate() (2) center=true presence ignored resulting in mistaken geometry (3) inconsistent naming (4) insufficiently verbose naming (5) 3D printing tolerances (6) lack of validation (7) shared faces causing rendering issues

I would suggest that every stage has the following basic checks: (A) If it's a 'substract' type operation, ensure the resulting shape has less volume than the original shape (B) Ensure no 'subtract' results in zero volume shape (C) Ensure no 'shared faces' exist (D) Ensure output is consistent with requisite axes (eg. render an elevation in orthographic and know which way is up/down in profile so that relative terms can be quantitatively verified in the rendering) (E) Name everything with a semantic tree that is updated properly instead of hacked upon until it becomes illogical and incoherent

This would go a huge way to fixing the main issues encountered so far.