
Show HN: Popkern – open-source CAD kernel with G2 corner blends, browser IDE
popkern is a parametric boundary-representation geometry engine for solid CAD.
以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。
popkern is a parametric boundary-representation geometry engine for solid CAD. It lets anyone build complex parts with simple code, backed by research-class CAGD algorithms, with interactive script editing and MCP support. It's open source, free forever, and aiming to be one of the best kernels available.
Every one of these is an example in popkern live, rendered there. Open one and the same script builds the same model in your browser. Each had to be proven watertight to ship.
Every popkern part is a short Rhai script. Rhai is a small and friendly scripting language, and the same script builds the same part in your browser or on your own machine.
Bigger parts grow as projects. A project is a folder of numbered migration scripts, each picking up where the last one left off, much like database migrations. A later step can reach back and change an earlier feature, and the history scrubber replays the part one step at a time. Projects are git friendly and convertible via popkern build into a .pkn document or a STEP file from the command line.
// migrations/001_plate.rhai let m = model(); m.profile(xy()).rect(2.4, 1.6) .sketch("plate_sketch").extrude(blind(0.4)); m
// migrations/002_boss.rhai let m = previous(); let boss = m.tool(|m| m.profile(xy_at(0.2)) .circle(0.35).sketch("boss_sketch").extrude(blind(0.8))); m.active().union(boss); m
// migrations/003_rounds.rhai let m = previous(); m.active().fillet(edges().between("cylinder", "plane"), 0.08, #{ label: "rounds" }); m
What works today
Quite a lot, actually! Booleans, fillets and chamfers (with properly smooth corners), sweeps, revolves and lofts, shelling, sketches with constraints, STEP in and out, and a full feature tree with undo.
It's also early, so plenty doesn't work yet. The launch post is honest about what's missing.
popkern is written by AI agents, working from published research under human direction. Every change has to pass thousands of automated tests and the kernel's own validation before it is committed, and results are cross-checked against OpenCASCADE wherever the two can be compared. When an operation can't produce a valid solid, it declines and says why, rather than handing back something broken.
The kernel is AGPL-3.0, so improvements to it stay open. An exception covers everything you make with it, including your scripts, your models, your STEP files. Those are yours, full stop.
If you've got a part popkern can't build, open an issue and it becomes a test case. That's the most useful thing anyone can do right now!
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。