frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Parametric CAD in Rust

https://campedersen.com/vcad
86•ecto•2h ago

Comments

nynx•1h ago
Unfortunately, using a geometry kernel [1] that operates on triangle meshes means this is a no-go for serious CAD usage.

[1]: https://github.com/elalish/manifold

bigfishrunning•1h ago
My whole CAD experience is with OpenSCAD, which apparently uses the same kernel; Honest question -- what is the alternative? I would assume the vast majority of 3D model processing relies on triangle meshes...
autumn-antlers•1h ago
libfive
nynx•1h ago
Breps. Nearly all commercial cad packages operate on boundary representations of objects.
bob1029•1h ago
I would start with CSG if you are new to these ideas:

https://en.wikipedia.org/wiki/Constructive_solid_geometry

nicr_22•1h ago
OpenCASCADE?

https://dev.opencascade.org/

zokier•45m ago
Notably wrapped by build123d into cad as a code package
xixixao•59m ago
I've built something very similar (also based on triangle meshes, but in TS), and while it wouldn't work for say 3D printing, my target is game object modeling. I guess people have specific use cases in mind when referring to "CAD".
nynx•54m ago
In my mind, cad that you’re not going to manufacture is “modeling”. Not sure if that’s a common verbal distinction.
ezst•29m ago
Not sure either but sharing the sentiment.
bigiain•5m ago
An example of common terms that disagrees with that somewhat, is "CAD/CAM" where the design component is clearly distinct from the manufacturing component.

I do agree that historically, software aimed at building 3d models for games/animations and other digital use was usually called modeling and not cad. I'm thinking of software like 3D Studio Max back in the 90s here.

https://en.wikipedia.org/wiki/CAD/CAM

I notice though that the Wikipedia article for CAD says: "This software is used to increase the productivity of the designer, improve the quality of design, improve communications through documentation, and to create a database for manufacturing."

https://en.wikipedia.org/wiki/Computer-aided_design

maartenh•1h ago
Curious to how well LLM's work in this context! (mentioned as one of the reasons to embed CAD in Rust)

I only know of another text -> STL AI model, I'm quite a bit more excited about this idea.

Does someone have experience with this?

storystarling•21m ago
I've found LLMs perform surprisingly well here if you target CSG or OpenSCAD. It seems to frame the 3D modeling challenge as a logic and syntax problem rather than a spatial one, which plays to the model's strengths. You avoid the spatial hallucinations common in image generation because it's effectively just writing code.
d_silin•1h ago
Interesting, because I am trying to learn OpenSCAD for some simple modeling.
the__alchemist•48m ago
Note: This is probably a dead-end; it is not on the same level as SolidWorks, Fusion etc.
ecto•33m ago
How could I make it better?
avmich•32m ago
You're probably right, OpenSCAD seems to be limited both in speed and in exactness of the surfaces.

However purely programmatic interface allows doing surprising things which might be hard to achieve with a mouse.

whilenot-dev•29m ago
I wouldn't call a FOSS project that you compare to some 2,620 USD/year software a dead-end. It's good enough for simple modeling, especially when it comes to scripting, and has been for 10 years already.
8note•37m ago
definitely learn solidworks or something in that vein first

that, and as a prior skill, learn to draw by hand on paper orthogonal and isometric views of 3d objects.

cad is another theory building excercise, but instead of being about processes, its about objects. you want to start from a strong manual/first principles base

nomel•36m ago
If you're more interested int the result than the process, Onshape or Fusion are great, free (with use restrictions) parametric CAD. And both support scripting, to some extent.

Both have really great documentation/examples.

hambes•1h ago
I've been doing a similar thing using GhostSCAD[1], which is a relatively thin wrapper around OpenSCAD in Go. Not as typesafe, but my language of choice.

[1]: https://github.com/ljanyst/ghostscad

oussama-gmd•1h ago
Amazing work! This is what I was looking for, I thought of this few months ago and didn't have the time to create it myself. Thanks will explore it and give my feedback!
kibwen•54m ago
Note that there's an existing CAD-in-Rust project, Fornjot, which has been quietly developing since 2020: https://www.fornjot.app/
mountainriver•53m ago
Also Truck https://github.com/ricosjp/truck
davidmedin•54m ago
This sounds a lot like Fidget (https://github.com/mkeeter/fidget) and libfive (https://github.com/libfive/libfive) by the amazing Matt Keeter!
ecto•33m ago
Hadn't ran into these, thanks!
rnhmjoj•22m ago
I had a lot of fun playing around with antimony (also from Keeter) a few years ago, but unfortunately it has been mostly abandoned. I heard libfive is supposed to be the next generation, but I haven't experimented with it yet.

Do you know how it compares?

FpUser•52m ago
I am constantly designing parts myself. I just wish that instead of having many unfinished, unpolished products we had something with the level of Solidworks / Onshape / whatever.

FreeCad is getting somewhere but it is still way behind. The last thing I care about is what language was it implemented with.

kivarada•44m ago
Great work! Please consider adding a RSS/Atom Feed to your site. I would like to include it in my Tech Content Platform: https://insidestack.it
ecto•29m ago
Done, thanks for the kind words!
kivarada•16m ago
Great, I already added you!
etskinner•42m ago
The opening paragraph is very telling; the author doesn't seem to understand typical pro-level parametric CAD programs available on the market:

> I keep designing physical parts for our robots. Motor mounts, sensor brackets, wheel hubs. Every time, the workflow is the same: open a GUI CAD program, click around for an hour, export an STL, realize the bolt pattern is 2mm off, repeat.

This doesn't make sense. When you realize the bolt pattern is 2mm off, you just edit that dimension and let the CAD program recalculate. You don't need to click around for an hour again. That's the beauty of contstraint-based parametric modeling as opposed to, say, modeling in Blender.

The author's program is akin to writing vim to replace Publisher. They're solving entirely different problems. Not to mention, this code-as-model paradigm already exists: OpenSCAD

ecto•36m ago
You're correct, I'm completely uneducated! Pull requests welcome :)
IshKebab•17m ago
The pull request is to delete the project and open SOLIDWORKS or FreeCAD.

But don't actually delete it. It looks like a nice alternative to OpenSCAD. But like OpenSCAD it's really a niche thing for designs that are highly parametric like fasteners, gears, 3D printed boxes, etc.

Like OpenSCAD using it for normal "irregular" CAD is going to be extremely frustrating. Like editing an SVG in notepad instead of Inkscape.

I still feel like there's a unexplored space where you combine the benefits of both somehow though. Like a code-based CAD but it also has a GUI editor that stays in sync and avoids the need to type in coordinates by hand. That would be extremely difficult though.

gwbas1c•35m ago
Read a bit before critisizing:

> One thing I care about that most CAD tools don't: vcad is designed to be used by AI coding agents.

ilogik•29m ago
For that there’s openscad
hnuser123456•19m ago
I've even already asked an LLM to generate designs in openscad, and there's plenty of examples out there. Obviously there's a complexity limit, but there's also a cheat sheet that makes it pretty easy to discover how to do almost anything that's possible within.
bangaladore•30m ago
> That's the beauty of constraint-based parametric modeling as opposed to, say, modeling in Blender.

I was thinking the same thing. This looks more like an API that makes 3d modeling look closer to CAD, but without realizing that CAD is about constraints, parametrizing, and far more.

asdfaslkj353•39m ago
Absolutely atrocious and piss-poor contrast. Can barely read a thing.
ecto•34m ago
Are you feeling alright?
asdfaslkj353•28m ago
Yes, I am alright, the website attempts to support dark-mode but does such a poor job of it that renders it completely useless.

https://i.ibb.co/VppSx4mc/pisspoor.png

golem14•20m ago
I agree the UI on the screenshot is not very accessible. I'm also think that language and tone choice matter a lot when delivering (even constructive) criticism.
tuetuopay•22m ago
GP perhaps did not say it in a polite manner, but their criticism is valid.

Please have a check on a different monitor and browser than you are currently using, as most of the article is unreadable. Code blocks are nigh unreadable, and the screenshots are washed out as if they were HDR with improper tone mapping (I tested both with Firefox on Linux and Safari on iOS).

It's a shame, because it made me gloss over the article.

Oh, and the screenshots have the same issue both on the blog post and on the main vcad.io website. Funnily enough, code snippets on vcad.io have proper readable colors as opposed to your blog (they're still too dim to be comfortable though, but they're readable).

gwbas1c•39m ago
What's nice about this is that it allows for programmatic CAD, enabling things like web applications that can download an .stl file based on user input. I hope I can find a weekend or two to play with it.

BTW: I spent a few weekends playing with Microcad (https://microcad.xyz/). It was cool, and had a similar rust feel. I just, for the life of me, couldn't figure out how to do 3d ellipses.

ge96•37m ago
SketchUp was my go to for a while but I'm done with parametric personally, trying to fix meshes for 3D printing... time I grow up and use something like Fusion360 seems like or onshape. Still it was good/simple enough for non-round shapes in SketchUp except they have some kind of memory leak/bug at least for the 2017 version. But I guess quit being cheap and buy a modern copy on my part.

Edit: oh I guess sketchup is a surface modeler weird thought it was parametric this whole time, lol someone else said it's a polygon modeler

Yeah I don't know what parametric modeling is apparently, I use a mouse/calipers to model stuff not parameters

There is a solid validator plugin you use before you export an STL to make sure the mesh is closed/a manifold

IshKebab•15m ago
SketchUp uses direct modelling, not parametric modelling. I think they even got some patents on direct modelling.
Animats•15m ago
It's using a constructive solid geometry system. You can add and subtract volumes. Making a hole is subtracting a volume. This has classically been numeric roundoff hell, where points that should coincide and surfaces which should touch don't get handled properly due to numerical error. The geometry engine is Manifold, which guarantees watertight meshes from boolean operations.

Ah. That's what's doing the constructive solid geometry. Here's the 2009 PhD thesis behind the object merge and difference algorithms inside Manifold. Nice. At last, soundness. This is a long-standing problem. And now there's an open source implementation. Manifold itself is in C++, not Rust, though.

None of this is parametric. That's a different problem. That's where you put in constraints such as A is perpendicular to B, B is 100mm from C, etc., and the constraint solver tries to satisfy all the constraints. Change a dimension and everything adjusts to preserve the constraints. Parametric CAD is all about constraint solving and expressing conflicts to the user. Autodesk Inventor, Fusion, etc. have good constraint solvers.

[1] https://github.com/elalish/manifold/blob/master/docs/RobustB...

hahahahhaah•29m ago
Why not use OpenSCAD?
jas8425•27m ago
Is anyone else put off by the AI-sounding text? Two things that give it away for me are the excessive use of punctuation-emphasized sentence fragments ex:

> No clicking. No undo. Just recompile.

> That's our mascot. Entirely CSG.

> No garbage collection pauses. No floating point surprises from a scripting layer.

And worst of all, the dreaded "and/but honestly":

> But honestly, the main reason is the toolchain.

Am I misreading things?

ecto•14m ago
Thanks for the feedback
librasteve•26s ago
I get the sense that this author is looking for a DSL (domain specific language) and landed quite close.

Prism

https://openai.com/index/introducing-prism
253•meetpateltech•4h ago•153 comments

430k-year-old well-preserved wooden tools are the oldest ever found

https://www.nytimes.com/2026/01/26/science/archaeology-neanderthals-tools.html
293•bookofjoe•6h ago•159 comments

A few random notes from Claude coding quite a bit last few weeks

https://twitter.com/karpathy/status/2015883857489522876
170•bigwheels•1d ago•199 comments

Time Station Emulator

https://github.com/kangtastic/timestation
38•FriedPickles•2h ago•7 comments

Lennart Poettering, Christian Brauner founded a new company

https://amutable.com/about
168•hornedhob•3h ago•204 comments

Try text scaling support in Chrome Canary

https://www.joshtumath.uk/posts/2026-01-27-try-text-scaling-support-in-chrome-canary/
29•linolevan•3h ago•6 comments

Show HN: I wrapped the Zorks with an LLM

https://infocom.tambo.co/
32•alecf•1h ago•13 comments

SoundCloud Data Breach Now on HaveIBeenPwned

https://haveibeenpwned.com/Breach/SoundCloud
121•gnabgib•5h ago•56 comments

Doing the thing is doing the thing

https://www.softwaredesign.ing/blog/doing-the-thing-is-doing-the-thing
137•prakhar897•16h ago•48 comments

AI2: Open Coding Agents

https://allenai.org/blog/open-coding-agents
87•publicmatt•5h ago•17 comments

Xfwl4 – The Roadmap for a Xfce Wayland Compositor

https://alexxcons.github.io/blogpost_15.html
236•pantalaimon•9h ago•185 comments

FBI is investigating Minnesota Signal chats tracking ICE

https://www.nbcnews.com/tech/internet/fbi-investigating-minnesota-signal-minneapolis-group-ice-pa...
368•duxup•5h ago•384 comments

Parametric CAD in Rust

https://campedersen.com/vcad
86•ecto•2h ago•51 comments

Amazon closing its Fresh and Go stores

https://finance.yahoo.com/news/amazon-closing-fresh-grocery-convenience-150437789.html
110•trenning•6h ago•303 comments

Show HN: One Human + One Agent = One Browser From Scratch in 20K LOC

https://emsh.cat/one-human-one-agent-one-browser/
113•embedding-shape•9h ago•70 comments

TikTok settles just before social media addiction trial to begin

https://www.bbc.com/news/articles/c24g8v6qr1mo
73•ourmandave•2h ago•64 comments

Arrows to Arrows, Categories to Queries

https://reasonablypolymorphic.com/blog/arrows-to-arrows/
7•surprisetalk•4d ago•0 comments

Show HN: LemonSlice – Upgrade your voice agents to real-time video

48•lcolucci•4h ago•64 comments

I made my own Git

https://tonystr.net/blog/git_immitation
304•TonyStr•11h ago•138 comments

Management as AI superpower: Thriving in a world of agentic AI

https://www.oneusefulthing.org/p/management-as-ai-superpower
61•swolpers•5h ago•71 comments

Arm's Cortex A725 Ft. Dell's Pro Max with GB10

https://chipsandcheese.com/p/arms-cortex-a725-ft-dells-pro-max
31•pixelpoet•3h ago•6 comments

OpenSSL: Stack buffer overflow in CMS AuthEnvelopedData parsing

https://openssl-library.org/news/vulnerabilities/#CVE-2025-15467
64•MagerValp•5h ago•37 comments

Clawdbot Renames to Moltbot

https://github.com/moltbot/moltbot/commit/6d16a658e5ebe6ce15856565a47090d5b9d5dfb6
117•philip1209•4h ago•94 comments

The threat eating away at museum treasures

https://www.scientificamerican.com/article/how-extremophile-molds-are-destroying-museum-artifacts/
24•sohkamyung•4d ago•9 comments

How many chess games are possible?

https://win-vector.com/2026/01/27/how-many-chess-games-are-possible/
17•jmount•2h ago•5 comments

Avoiding duplicate objects in Django querysets

https://johnnymetz.com/posts/avoiding-duplicate-objects-in-django-querysets/
18•johnnymetz•4d ago•2 comments

LLM-as-a-Courtroom

https://falconer.com/notes/llm-as-a-courtroom/
23•jmtulloss•4h ago•2 comments

TikTok users can't upload anti-ICE videos. The company blames tech issues

https://www.cnn.com/2026/01/26/tech/tiktok-ice-censorship-glitch-cec
1150•kotaKat•8h ago•789 comments

The First Eighteen Lines of the Waste Land (1989)

https://yalereview.org/article/hecht-eliot-waste-land
7•benbreen•4d ago•3 comments

A History of Haggis (2019)

https://www.historytoday.com/archive/historians-cookbook/history-haggis
9•Petiver•17h ago•1 comments