6 ms·
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 design
by etskinner 8mo 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 8mo agoYou're correct, I'm completely uneducated! Pull requests welcome :)
- IshKebab 8mo agoThe 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.
- aaronblohowiak 8mo ago>I still feel like there's an 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. I think you can do this if the data representation of operations and values is human readable. The simplest implementation would restrict the language/data format to operations representable in the gui. Unlike trying to solve the "visual programming" problems, we don't need or desire Turing completeness. Very interesting indeed!
- NonHyloMorph 8mo agoAre you aware of Rhino 3D with grasshopper?
- dymk 8mo agoRhino has no free tier. I’d love to play with it, and it’s where AutoDesk made the right call. It’s why Fusion 360 has such a strong ecosystem for hobbyists / prosumers.
- WillAdams 8mo agoA more affordable option is Moment of Inspiration 3D (written by the same dev who did Rhino originally) which also has a node editor available: https://moi3d.com/forum/messages.php?webtag=MOI&msg=11614.118 https://moi3d.com/forum/messages.php?webtag=MOI&msg=11614.11...
- amelius 8mo ago> Like editing an SVG in notepad instead of Inkscape. Speaking of which, I would love to have parametric capabilities in Inkscape.
- TheTaytay 8mo agoI recently stumbled across cuttle.xyz, and it’s a code-based parametric vector editor. I recently did a real world art project in it and LOVED it.
- avhon1 8mo agoFWIW, the FLOSS CAD program SolveSpace can generate parametric sketches and export them as SVG files (file > export 2d view)
- WillAdams 8mo agoIs there a facility when doing this for controlling colour/fill?
- avhon1 8mo agoSolveSpace does have some ability to control the color and fill of areas. It's nowhere near as powerful as Inkscape, but enough to make simple diagrams. The exported SVGs can also be edited in Inkscape.
- WillAdams 8mo agoNice! (if memory serves, the last time this came up that wasn't possible)
- fainpul 8mo agohttps://graphite.art/ https://graphite.art/ https://paragraphic.design/ https://paragraphic.design/
- WillAdams 8mo ago
- DannyBee 8mo agoThis is actually what onshape is, under the covers. The GUI is really just using their scripting primitives, etc. You can access it the same as they can, actually.
- throwup238 8mo agoOnshape is just a GUI over the Parasolid geometric modeling kernel, the same kernel used by Solidworks [1]. Whatever their scripting primitives are, they're at best a thin wrapper over Parasolid (which is true for the entire industry - it's all Siemens Parasolid and Dassault ACIS). [1] https://en.wikipedia.org/wiki/Parasolid#Applications https://en.wikipedia.org/wiki/Parasolid#Applications
- squeedles 8mo agoAnd both of them were written by Ian Braid, Alan Grayer, and Charles Lang (and others) in Cambridge. Parasolid was v1 and old school C, then they got the C++ bug like many of us at the time and did ACIS as v2.
- DannyBee 8mo agoYes, this is all true, but the comment I responded to wanted to be able to basically code rather than GUI sometimes , but still have the GUI up to date. Because of how onshape was built it makes this very very easy. Solidworks very much does not. Fusion360 also has good enough python bindings but it's still nowhere near as easy or integrated to do this (or debug it) as onshape. So I'm kinda not sure what you are going for here. The fact that they are all the same kernels under the cover is sort of irrelevant. It's not that thin a layer and the layer matters a lot since it is what you get to use. It's like saying all of userspace is just syscalls. That's not what users see or interact with, the layer they interact with matters a lot to them.
- throwup238 8mo agoAh sorry, I misunderstood.
- 8mo ago
- deleted 8mo ago[deleted]
- hyperbrainer 8mo ago> "highly paramteric like fastners, gears, 3D printed boxes" 1. These parts should probably be on McMaster. If you are not using them straight from there, you better have a _great_ reason as to why not when it comes up in the design review. 2. Solidworks has Smart Fasteners, Inventor has Spur Gear Component Generator, Sketch->Extrude->Shell takes 30 seconds, so not sure why 3D printed boxes would be faster or better with this for most stuff. Also, this stuff is easily solved by things like the component library and configurations.
- IshKebab 8mo ago> you better have a _great_ reason as to why not Because I don't live in America?
- dymk 8mo agoAre ISO standard parts not used where you live? McMaster is in the US but the much of the parts and CAD are standard
- hyperbrainer 8mo agoI download and use parts dimensioned in metric to ISO standards all the time...
- bluGill 8mo agoAre you saying that you don't us McMaster because they don't ship to where you live? That seems silly - you can still download their drawings and then find an alternate source. They are a great listing of everything you might ever want to buy, but you can almost always find an alternative source. There is also the possibility you think because McMaster is in the US they don't have metric parts. This is wrong, a lot of engineering in the US is done in metric - nearly all big manufacturing companies went metric 40 years ago, so they have plenty of metric parts that you should work with. Of course most manufacturing is small companies that still haven't gone metric, but they also deal with metric once in a while, and in any case you wouldn't be ordering from them anyway.
- prennert 8mo agoHa! Since you mention SVG, there is a trick! Draw your free-hand shape in Inkscape, export to SVG, import it in FreeCAD and go from there. I used that trick to trace a part from an image and it worked surprisingly well. Not very efficient compared to commercial tooling, but despite the clumsiness its fairly intuitive and free.
- jfindley 8mo agoAll the good commercial parametric CAD apps have an API that allow you to define models programatically to avoid repitition, or do more complicated things like ensure gear ratios are exactly correct. I'm not sure I entirely understand what you're getting at with the "stays in sync" part though.
- dang 8mo ago> The pull request is to delete the project Ouch. Please don't attack someone's work this way. It's too aggressive and against the site guidelines: https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html. I'm sure you didn't intend it as an attack, but it's easy to cross into poisoning the community without meaning to. Many people have been hounded into abandoning HN because of this type of swipe, or at least into never sharing their work here. We all lose when that happens. It's a pity, because what you wrote was otherwise a fine contribution. if you had begun your comment at the good part ("It looks like a nice alternative [etc.]") it would have been great.
- gwbas1c 8mo agoRead 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 8mo agoFor that there’s openscad
- hnuser123456 8mo agoI'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.
- dymk 8mo agoBreaks down for complex parts with lots of repeated operations, suffers from floating point rounding errors. No constraint solver.
- WillAdams 8mo agoUsually when one needs constraints one can code it up as a recursive function.
- 8mo ago
- bangaladore 8mo 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.
- throwup238 8mo ago> but without realizing that CAD is about constraints, parametrizing, and far more Constraints and parametrizing are the trivial parts of CAD, something you can now implement in a weekend with Claude Code, the MINPACK/SolveSpace test suite, and OpenCascade as an oracle. The hard part is a geometric kernel that can express boundary representations for complex shapes (sketches, chamfers, fillets, etc) and boolean operations while somewhat handling the topographical naming problem without driving the user insane (which existing kernels are still all shit at).
- cindyllm 8mo ago[dead]
- delusional 8mo ago> Constraints and parametrizing are the trivial parts of CAD, something you can now implement in a weekend with Claude Code You go ahead and try that.
- throwup238 8mo ago;) Keywords: Jacobian, Newton-Raphson, Levenberg-Marquardt, Powell dog leg, Schur complements, sparse QR/Cholesky, and so on. The LLM can figure the rest out. Try it yourself! I recommend Rust because the methods are old and most of the algorithms are already implemented by crates, you just have to wire them together. Like I said the hard part is the b-rep: you’re not going to find anything equivalent to Parasolid or ACIS in the literature or open source.
- 8mo ago
- b38tn1k 8mo ago[dead]
- jetter 8mo agoIf you like OpenSCAD, you should check https://modelrift.com https://modelrift.com which is an OpenSCAD browser-based IDE which uses LLM to generate .scad and instantly shows the .stl 3d model result via 3d model viewer. Since AI models are still not good at openscad, the useful feature of modelrift is the "screenshot-powered" iteration where human annotates visual problems and sends it back to AI assistant to fix, all using hotkey shortcuts.