(评论)
(comments)

原始链接: https://news.ycombinator.com/item?id=40428827

由于 CAD 系统对现实世界设计的影响,因此对于创建复杂对象至关重要。 虽然 Tinkercad 适用于更简单的对象并且拥有庞大的用户群,但更复杂的模型需要高级工具。 除了 Tinkercad 之外,还存在多种选择,包括商业云软件包和免费开源软件。 FreeCAD 是一种流行的开源替代方案,提供杂乱但功能强大的功能和基于工作台的系统。 然而,它也带来了挑战,例如拓扑命名问题和圆角/倒角问题。 这些困难与其说是简单的对比(例如 Photoshop 与 GIMP),不如说是与复杂的专业制图解决方案(例如 ArcGIS 与 QGIS)相比。 关于 FreeCAD 使用的决定取决于个人喜好、预算以及所需的自由度和灵活性。 虽然 FreeCAD 仍然不完美,但我们不断努力解决其局限性,潜在的好处使其成为一个有价值的选择。 致力于开源系统的用户通常会发现这一过程具有挑战性,但最终会带来回报,从而为不断发展的技术领域带来进步和独特贡献。

相关文章

原文


I'm very excited about what Matt is building, the world desperately needs a good open source parametric CAD package. One where the UI/UX is designed to be as "easy" to use a SolidWorks.

The biggest reason this hasn't happened so far is the lack of a truly capable parametric kernel, Truck, the kernel that Matt is using looks like an incredible project and exactly whats needed. The only other kennel till now that been close to being whats needed is OpenCascade, but its lacks important features, is buggy and at times quite unstable.

Once Truck (and CADmium) lands stable fillets (surprisingly one of the hardest features to make stable) it will prove itself as the perfect successor to OpenCascade and and the perfect platform to build the future of open source parametric CAD upon.



Maybe I'm not enough of an evangelist, but I just want a good, non-subscription local-first CAD package.

I've recently moved over to Alibre Atom3D, which, while not open-source, costs $200. Once. Then (as long as your host OS doesn't change too much) you can access your designs forever. It runs on the ACIS kernel.

"Browser first" and (from the readme) "Beyond that, I will try to monetize by offering a hosted version of the software as a paid product." reads to me like this project is doomed to either fizzle or to grow and transform into an open-core, subscription-requiring product, accumulating more complicated dependencies to install and "security features" that make it harder and harder to run in truly local fashion.



The problem with Alibre is that it only works on Windows. I switched from FreeCAD to the free (as in beer) version of Onshape, which works in the browser and is a night and day difference over FreeCAD.

Your designs are wide open for anyone to see, but I can live with that for hobby stuff.



I wouldn't mind having my models public, but that it SaaS is such a nuisance and the reason I am sticking to FreeCAD. I want to be able to edit offline, like on an airplane and not lose the ability to edit my stuff if some company shuts their servers down.



Did you do any tutorials? I've done like 10 hrs of the MangojellySolutions beginner tutorials on YouTube and after that I've been pretty much able to do what I want or only had to look up solutions to a very specific problem.

I one time had an issue where I messed up and had to post on the FreeCAD forum and got two of the best responses I've gotten anywhere on the internet ever. Two people opened up my model and took screenshots highlighting where my issue was and gave me several suggestions on how to improve my model in other ways. The initial time investment was substantial and there are still a few workflows that could be smoother for me (attaching a sketch to a different face after it's been created), but that's fairly minor.



On the flip side I spent probably 30 minutes each to get acquainted with Fusion and Onshape, and completed my first designs within a couple of hours.

I've invested several hours already in trying to learn FreeCAD and achieved nothing. Its a hot mess that desperately needs a new UI.



Right. But this is the choice, isn't it?

I don't know if you can really get away without learning general things about CAD systems if you want to make complex things, because those general things are so influential on the existence and design of real world objects.

It's like saying "but I don't really want to learn about different programming languages or software design, because I only want to write apps for iPhone."

If you want to make very simple objects and not learn deeper concepts, use TinkerCAD. It's fine. Weirdly competent in places; people pull off crazy stuff. It uses a simple physical world model.

Beyond that, you need more abstract tools. Ultimately you have to decide whether you want to exist within the (shifting) free plan limitations of a commercial cloud package, spend money on something like Alibre Atom3D, pay the cloud firms, or use something open source.

I'm not sure if it should be surprising that the open source systems are more of a commitment.

FreeCAD (main branch) has one fundamental limitation which is being mitigated -- the topological naming issues -- and some smaller issues to do with fillets/chamfers, but apart from that is a disorganised-but-competent, open source workbench-based system.

And the tradeoffs are not straightforward. This is less like Photoshop vs GIMP and more like ArcGIS vs QGIS. Is ArcGIS initially more coherent? Yes, allegedly. Is it universally more powerful? No.

FreeCAD is really a lot like QGIS, IMO.

You can learn QGIS, and when you learn it, you might decide that the freedoms and flexibility it offers are worth the pain. Or you might front up the cash for ArcGIS.



This. And I think it now has the best tutorials on youtube. And the Facebook group is weirdly fantastic. It’s such a nice community.

But there’s no denying that FreeCAD is still a bit of a lifestyle choice :-) I love it, but I don’t try to sell everyone on it yet.



I definitely agree on it not being intuitive. Something where I likely will spend hundreds of hours of work and learning is something I want to be unambiguously available to suddenly being taken away from me or be behind a paywall of thousands of dollars. You are 100% correct though that this tradeoff isn't for most people.



Even $2k per year in 3D CAD is entry level pricing. Good CAD for $200 once is probably a prank tier idea to suitspeople, even though it's a necessity for 3D printing community.



It is worth noting that what is doable/practical with entry level CAD has increased a lot over the last 20 years. Hobbyists will not feel restricted, and one can do quite a lot of commercial relevant work also.



I think RS Electronics still maintains and gives away a version of DesignSpark for Windows, which is likely a smart move if it integrates with their catalogue.

Alibre Atom3D is the entry level package, but the whole thing seems very much like the Affinity suite model. It looks very good.



Feel the same way. Honestly I think there's more money to be had going open source than competing in a sea full of sharks. But hey, that's probably wishful thinking from my part.



All subscription software is just a protection racket.

Nice files you got there. It would be a shame if they suddenly become unreadable, eh?

Even the so called "open" core is a joke. Just try to add anything useful. It will get rejected in favor of a paid option.

The whole thing is just an offensive anathema to open source.



I will say that the FreeCAD weekly builds have made massive strides; I believe the toponaming fix is in the latest mainline weekly now and Ondsel have been contributing great work back from their branch as well.

I’ve been playing around with the weekly version and using the OpenDark theme. It looks pretty slick.

It seems like a really exciting time for open-source CAD (hopefully!).



FreeCAD suffers from the same issues that much open-source software suffers from: it has bugs. Bugs erode user confidence.

Apparently, there are now > 500 bugs open.

When commercial software has bugs, you don't even know they exist often. Sure, but there are also ways to make bug free software, but hardly any open-source software exists that uses those development techniques.



You think professional software is bug-free? I have some experience with NX and I can tell you it’s not exactly bug-free either. It’s very likely better than FreeCAD, but requiring zero bugs is just unrealistic.



Sadly a lot of people think that way.

Particularly younger engineers have their mind blown over the concept of not immediately upgrading all your software just because there's a new version.

In the physical engineering spaces, it's more valuable to keep using the same software version you started a project with, rather than have hundreds of thousands of dollars in damages because of a dickhead bug.



It has that in common with CAD software which has 5 figure annual subscriptions. Find me a CAD user who doesn't notice bugs in the software they're using and I'll show you someone who has <1 hour of experience.



I can only talk about professional visual effects (VFX) software like Maya and Nuke.

Let's just say I've seen their (internal) bug trackers.

TLDR; you couldn't be more wrong.

When OSS software has bugs, at least someone with an interest in the issue and the skills can do something about it.

For closed source software nobody can. Even the people working at the resp. company who are developers rarely or never decide about priorities.

And as an added hurdle, adding features always has higher priority as it drives sales.



It’s not just that. It’s also ugly and awkward to use. I tried to use it after learning Fusion360, and it’s just lacking. I wasn’t even trying to do anything particularly complicated, and it just kinda sucked.

You see the same problems with a lot of “flagship” oss ware. Gimp seems to have the same awkward feature set for 25 years. Apparently the only thing that has changed is they no longer compile against Gtk 1.0, and they decided to have all images in a single window.

Still can’t do smart background erase.

Inkscape kinda works, but it always seems like attachment points for easily alignment, and a non sucky text editor are forever out of reach.

I’m sorry. I know software is hard, but it’s been literally decades of stagnation.



> Gimp seems to have the same awkward feature set for 25 years. Apparently the only thing that has changed is they no longer compile against Gtk 1.0, and they decided to have all images in a single window.

Off the top of my head:

- Full color management

- Non-destructive filters

- 32-bit per channel precision

- Late binding CMYK support

- Unified transform tool

- Vastly better selection and cropping tools

- Vastly better text tool

Should I go on? :)



You’ve proven my point. A bunch of data loading crap, but nothing substantial on the usability.

This is a simple tutorial task. Is it this easy in Gimp? No. It’s not. But hey, we have the same crappy ScriptFu plugins from a quarter century ago. Anyway, you have the source! Shut up and be grateful you insensitive clod!

https://youtu.be/K25F9RPrP9Q



> You’ve proven my point.

No, not really. You did say 'feature set'.

> A bunch of data loading crap,

Sure, if you like editing with color fidelity loss.

> but nothing substantial on the usability.

Except non-destructive editing is a major UX improvement.

Except unified transform tool is a major UX improvement.

Except... Well, you get the idea. And I barely got started.

It's almost like you just hate the project and won't accept any changes they do.

I too have my fair share of frustrations with the project — enough to quit it as a team member a couple of years ago. But somehow I don't go around pretending big changes aren't big bc I'm feeling petty all of a sudden.



>> You see the same problems with a lot of “flagship” oss ware. Gimp seems to have the same awkward feature set for 25 years.

I think Kritta is the new flagship OSS image editing software. I don't use either, but that's my impression.



Very recently (well: yesterday and today), I made the same non trivial shape for an electronics project, and I tried Fusion360, OnShape and FreeCad.

I basically want to extend the base of an Ikea lantern (Enrum); this require creating an (irregular) octagonal shape, and then creating a slot so that the lantern base can sit on it.

I had some distant memories of modeling stuff in Solidworks for a project back in university, so I'm not starting from zero.

I was able to finish my design in Fusion and redid it in one evening in Onshape. As for Freecad... I still don't know how to do it. Or rather: I could probably do it, but only with so much more googling on how to do basic stuff that it is discouraging to even thing about it.

I think the main issue is that Freecad generally expects you to know exactly what to do, and has very poor affordance.

Let's take the very few steps for instance. In order to create my lantern "shoe", I first need to recreate its base. It's some sort of octagon, so the plan is to draw an octagon, extrude it and then probably repeat the operation with several other octagon to carve a slot for the lamp.

So the very first thing is to create a sketch on the xy place. In both OnShape In both Fusion and OnShape, the very first menu item in the toolbar is the "create new sketch" one [1][2]. So you can immediately click on it, then chose you plane, then start to draw.

[1] https://ibb.co/4YMtDnD

[2] https://ibb.co/ZMCf1Yy

In Freecad though, the first thing in the toolbar are.. the camera controls (which are somehow redundant with the interactive cube view of the main area). In fact, you cannot even create a sketch from the default toolbar; at best you can create a Part.

[3] https://ibb.co/ww791Bd

In order to create a new sketch, you need to go to the dropdown menu. This menu is ordered alphabetically. So the first item is "Arc", then "Draft", then "FEM", ... If you do not know the jargon and/or is just starting out, good luck finding where to next ("what's the difference between Draft and Sketch ?" they would say). And even select Sketcher from the combobox, the first controls you see are still the camera ones. Worse: the "create parts" button from earlier is still there ! [3] And so the "new sketch" button is hidden on the right side of while it's probably the very first thing you want to do.

[3] https://ibb.co/xXrTd6t

And for the very short time I spend trying Freecad, issues like were constant.

There's seems to be some open issues related to this in the Github issues viewer, but no tangible commitment as far as I know.



"The biggest reason this hasn't happened so far is the lack of a truly capable parametric kernel"

Does parasolid not fit this requirement? The capabilities I've seen in Plasticity are very impressive. Or do you specifically mean FOSS?

The more I use CAD platforms, the more I develop the sense that general-purpose CAD is much less useful than single-purpose applications that provide tailored solutions to narrow problem domains. SVG/DXF/DWG output is a plus, but I think a drawing software that works for high-volume machine parts, one-of-a-kind architecture, highways, 50-mile pipelines, circuits, urban transit plans, and art is the wrong direction. I use industry standard roadway design software and a "road" does not exist in the object model. Horizontal, vertical, and sectional components are all independently defined despite these things being inseparable and having some very obvious and well-specified rules about their interaction. I really think designers should spend more time thinking about outcomes and less time telling the computer how to display them.



I think this is a great point. When looking at ‘best practices’ for constructing robust parametric models I keep thinking “this is so much like software engineering where the programming language is the CAD system” (as an aside, I’ve tried OpenSCAD but found the rendering UI waaay too slow even with simple stuff to be usable for me).

So as a model builder you end up trying to build these higher-level abstractions into your model, where the parameters are your top-level interface.

I think CAD is so much like programming in those ways, although I could just be biased since I’m a software engineer.



You are right! CAD users encode a design intent into the software, just like you encode a design intent into an editor. I model a construction outcome with geometry like you might model business rules with functions and objects.

Some of the wisdom from programming would do well to pass onto design software. Like how strong type systems can provide safety by pushing rules to compile time and make some errors unrepresentable. Meanwhile, I can fire up Microstation, draw roads crossing at the same elevation with no intersection (think stops and signals, not geometry) between them. Or a drain culvert could terminate in a big Hello Kitty picture. These things should be impossible. If the task is designing a road, I don't need the ability to draw anything I can possibly imagine. I really need the software to know what a road can and can't do, produce a model that obeys those constraints, and to give me files and documents I can give to an owner and a contractor which convey an accurate understanding of what that model is.



In the ECAD world design rules and design rule check exists to prevent or at least detect that.

Then it is just up to you or your organization to come up with a design rule set that ensures your boards can be manufactured by the board house.



I don't know a lot about these tools, but I've used QCAD[1] for home improvement projects, drawing schematics and layout diagrams, and been very happy with it. It seems quite powerful. It's also open source, although not browser based.

I'm just wondering why QCAD doesn't seem to get much if any mention on HN when CAD tools and open source comes up.

1 - https://www.qcad.org/



QCAD is not a parametric 3D CAD program. You have to know what your part will look like before you draw it, because all it really does is neatly draw lines and curves.

Contrast with Solvespace (or FreeCAD, or any of the popular commercial parametric 3D CAD programs), which lets you specify relationships (constraints) between elements in 2D and 3D. The shape of your part is the finished result, not the starting point.



I'm impressed what people are doing with 2D CAD, because for the life of me I can't figure out how they do it. I love the constrained based sketching in 3D CAD tools and didn't have the impression that qcad had anything like it?



Qcad is commercial software. The author is doing his best to ride the line between commercial and OSS, but most free software developers don't want to play. LibreCad was forked from an earlier version of Qcad and fell behind. Now they're doing a whole new LibreCAD but it's been years in the making.



LibreCAD v3 is very nearly abandoned. I could be wrong, but the vast majority of the new code there came from GSoC students who didn't quite stick around for long except just one who did multiple GSoCs but also eventually left.



> The biggest reason this hasn't happened so far is the lack of a truly capable parametric kernel, Truck, the kernel that Matt is using looks like an incredible project and exactly whats needed.

Indeed. This is a great application for Rust. It's something that's complicated, difficult, and has to work right.



For fillets to work well they have to connect three important features of a parametric CAD package:

1. Surface tangency matching - perfectly matching the tangent of the connecting surface on either side of the corner.

2. Edge tangency following - you select an edge, and the fillet should be able to follow along all connected tangent edges.

3. Edge reference tracking - when you modify the model further up the feature tree the kernel needs to keep track of that edge, even if the surfaces that make it drastically change or are split.

All three are hard problems on their own, once you connect them all it becomes a great indicator of the capabilities and stability of a parametric kernel.



I was subscribed to Shapr3D and had been using their parametric beta before switching to Linux and even in that fillets would mess up what I could do with my models afterwards.

The impression I’ve gotten while learning FreeCAD is that making a CAD ‘just work’ is incredibly difficult and the commercial packages probably have a lot of very messy workarounds and heuristics in place to work like they do.



What a concise, informative answer this is. You write well.

FreeCAD’s (well, OpenCascade’s) issues with fillets and chamfers appear to be most acute with a subset of your third point: sometimes adding one involves the new feature fully consuming another edge. This is unsolved in OCC and it’s why sometimes even infinitesimally changing the depth of the fillet or chamfer is enough to stop an edge being destroyed.



For Solvespace I was looking at using curve offsetting to determine where the fillet touches the surface. This would not produce a "rolling ball" fillet in more complex cases, but should be fine for simpler extrusions. It turns out generating an offset curve is another somewhat hard problem in itself.



Yep, it would be difficult to maintain a consistent radius with that method.

My assumption (I've not looked) is that you could offset the surfaces from the two sides (say A and B), and then calculate the intersection of an offset of A with the original B. Then do the opposite for the other side. I think that will give you two edges that will produce a consistent radius.

Offsetting surfaced and calculating intersections aren't exactly easy problems to solve on their own. Fillets are hard!

(Solvespace is awesome BTW! If I had the time (or the expertise) it also makes a brilliant foundation for all this)



I used solid works on my robotics team.

Tried using some other program but I loved the way solidworks let's you create parts, and then some other features where its hard to exactly discribe the exact thing but for me solidworks seemed so much more intuitive.

I dropped my summer internship money on the version which was a few hundred bucks. ...pretty sure it was cuz I got the student or the hobbist deal.



I think this makes sense for a certain market segment. In the commercial arena, cost of AutoCAD (and similar) is negligible compared to the revenue it generates.



I love this idea. However, the value of solid works (and other expensive solutions) are the domain-specific assets that are available.

SketchUp has a lot of community assets but these still leave you hanging almost immediately.

You need to be able to scrounge up drawings of certain parts by part number that can be inserted quickly.

This is surmountable but I think it would take at least a decade to reach parity...in a best case scenario where CADmium is readily adopted.

I would put in the time to learn CADmium. Having worked in FreeCAD some and SketchUp moreso.

I hate that I can't automate things easier or build my drawings from scriptable components--like a XAML file.



I don't think think this is a problem at all, the industry has standardised on STEP for assets, as long as CADmium and Truck have STEP support (which they will) then they have access to all assets. True, there are dynamically configurable assets for SolidWorks, but any community around a cad package will quickly recreate those.



As one of the Solvespace maintainers I have a few comments:

1) You don't want just 2D constraints, 3D is better. If you were writing in C++ I'd say just take our constraint solver (Like Dune3D did). Since you're loving Rust, I can point you to the work of Michael F Bryan who wrote one in Rust and blogged about it here: https://adventures.michaelfbryan.com/posts/constraints-part-...

I think his code is over at gitlab. I haven't looked at it in a couple years. He wrote that after I nerd-sniped him ;-)

2) For geometry kernels... I've got 3 classes of bugs I want to squash in the Solvespace kernel and then it should do booleans pretty reliably, but I haven't had the time. Ours is just under 6k LOC so you could learn a lot from it. My email is the same ID at gmail if you want to ping on this topic. Its been a while since I looked at Truck and I thought it had stagnated a bit. This is a really hard problem, which is why there are so few options out there even in the commercial world. Even triangulating a trimmed NURBS shell is tricky.

3) History/feature tree is closely related to the "topological naming problem" that FreeCAD has. Solvespace handles this by creating each entity from a set of known things. If you try to recreate (regenerate in our lingo) it will just return a handle to the existing entity rather than creating a new one. In other words, every entity "came from something" and that relationship is remembered. Where we handle topological naming it works perfectly. But not everything in solvespace is covered by this. You need to bake this in from the start, it's not something you can easily bolt on afterward.

4) where is the link to try out CADmium?



Solvespace is freaking awesome. I tried so many different tools and it hits the sweet spot for reasonable learning curve (esp. for someone that is not a mech engineer), power, Linux, cost (free), and safe from disruption (no way I'm subjecting designs to all the risks of hosted offerings). Keep up the great work!



> As one of the Solvespace maintainers I have a few comments: > > 1) You don't want just 2D constraints, 3D is better. If you were writing in C++ I'd say just take our constraint solver (Like Dune3D did).

There is also a wrapper around SolveSpace's solver for Rust[1] but I dunno how hard that would be/is to compile for the webassembly target ...

[1] https://github.com/thekakkun/rust_slvs



I'm confused, IIUC the AGPL can be simplified as "you can offer this software over the network, but like GPL the source must be available".

Whereas Elastic license is about, "you must not deliver this software over the network as a cloud service".

The things the Elastic license is trying to prevent seem very different to me?



In effect, these are the same thing. If you try and deliver the software as a cloud service, you'll need to make the part that ties into your auth & observability stack, at the very least, open source.

Cloud companies are unlikely to be comfortable doing that.



I think this is amazing. I'd love to get to the point where we are with open source EDA with open source physical CAD.

> Another downside is that solving this kind of matrix equation gets prohibitively slow when you have a lot of unknowns, which gives rise to the conventional wisdom that individual sketches should be small and simple.

I've gotten quite deep into this, and this is really not a problem in practice[1]

1. FreeCAD's main issues with constraint performance come from a redundant & unnecessary GUI layout algorithm, which falls over with just a few hundred constraints.

2. Eigen's sparse QR decomposition benchmarks at 18s for 2200 constraints, which is really not too bad

3. There are sparse QR decomposition libraries that can handle 500k-1M constraints in about 18s. I can't imagine a CAD sketch with more than a few thousand constraints.

[1]: https://github.com/FreeCAD/FreeCAD/issues/11498#issuecomment...



Without knowing anything about CAD, it's surprising to me that the author didn't try any of these matrix solvers. Particularly since the case of non square matrices with iterative methods is common to many fields.



As someone who learned CAD on autodesk (inventor) ages ago, the only free modeling software I could grasp after working for a few hours was Onshape. Usability seems to be a real problem in this space, Freecad for example seemed to have a billion ways to do the same thing, but in the end only one of them was the real way, some tutorials leaving me with a model that doesn't conform.

Awesome work! It seems like a hard problem

Repo: https://github.com/MattFerraro/CADmium



Ugh Freecad. Love hate relationship.

I pretty much only use the Part Design, Sketcher and Spreadsheet workbenches. Those mostly work OK together. I don’t dare branch out because of poor interoperability between benches; I sometimes use the Part bench as well but it’s so fiddly because you had to take it through two internal format changes to make it work in Part Design.

Hoping that one of the many open source CAD projects can supplant it eventually.



Agreed, as someone with significant experience with SolidWorks, and varying experience in Creo and NX, Onshape is the only "free" CAD software that has equivalent user experience to any of those, just such a shame that Onshape's "Free" option sucks and their paid option is obviously not priced for hobbyists. Fusion360 is workable, but its user experience is pretty terrible compared to any of the commercial packages I've got experience in.

My ask for a free CAD software would really be for someone to go through and take the robustness and speed of Creo and combine it with the user friendliness of Solidworks, even if it were to have a fairly limited feature-set to start.



Man, I thought FreeCAD’s problem was me being an idiot, but glad to hear someone else come to the same conclusion. I recently spent an hour or two almost every evening for about 3 weeks to come up with what I thought was a simple object I needed to print. The cycle was:

1) Watch and do one tutorial that gets you 80% of the way there.

2) Try to stumble together the rest of the way.

3) Find out the fundamental tutorial doesn’t set up my project in a way that allows me to finish the 20%.

4) Watch the whole project fall apart as I try to modify one of the previous steps.

5) Repeat.

Does the order typical matter that much in CAD? I went all in on this thinking it was a simple object and how hard can FreeCAD be. Turns out, very hard.



There are many, many bad small tutorials on youtube where the presenter has something that works for them but fails to understand the core principles. Or it's from way back before the 0.18 redesign of Part Design.

The Mango Jelly Solutions videos, the Joko engineering videos, the Adventures In Creation videos and thehardwareguy's videos are excellent.

There is no doubt that understanding how to mitigate TNP is important, though. Many of the videos do not go into this each time (which will be good once the issue is mitigated, very soon, but is obviously an issue at the moment).

The fundamental issue I see with bad Youtube tutorials is people skipping from Part Design to other workbenches without understanding that they are not wholly interchangeable. That is, all Part Design Body objects are Parts, but not all Parts are Part Design Body objects. Part Design is a subset.

There is at least one excellent video by Mango Jelly Solutions going into the detail of why you should choose one over the other.

But the guts of it is that Part Design does have an ordered flow -- it's a sequence of steps from a simple to a complete object, executed one after the other and implicitly booleaned together. So it has additive features and subtractive features.

Whereas in a non-Part-Design workflow, you are in charge of when something is cut from something else; there's no subtractive tooling, only boolean tools. More CSG-ish.

A good grasp of FreeCAD involves understanding Part Design's relatively special guided flow, and that outside of it is a more open-ended approach.

The RealThunder developments to Part Design after TNP was fixed do go a long way towards making this less relevant (Part Design can work with multiple bodies rather than being focussed on a single body, and you can "wrap" non-Part-Design objects in a Part Design Body object more freely without using a macro). And that way you get to use Part Design much more like Fusion 360.

But there are definitely FreeCAD proponents who would say that Part Design is training wheels for what is really going on, and that there's no substitute for many general concepts inside Part Design. The latter is true; also the implicit booleans in Part Design make some of the PD operations slower.



> Does the order typical matter that much in CAD? I went all in on this thinking it was a simple object and how hard can FreeCAD be. Turns out, very hard.

Yes, it does matter. I discovered this through my own self learning with OpenSCAD, FreeCAD and OnShape. I actually prefer the workflow of FreeCAD to OnShape for a lot of tasks.

FreeCAD isn't that hard, cad isn't that hard. Especially for any developer with some level of XP in breaking down a complex problem domain into smaller composable parts.



Onshape is an excellent tool in terms of performance and usability. As total newbie I was able to design fully working robot arm with 3d printed joints, design all the motors, their placements and other stuff and even animate movement. The model even worked on my phone, while it was not very practical...



I had 10y or so experience with CAD when onshape showed up around 2014. You could tell from the beginning that they cared a ton about usability and had their minds wrapped around how people use CAD. It’s only got better since.

I highly recommend the cadmium folks just soak themselves in onshape’s UX.



> You could tell from the beginning that they cared a ton about usability and had their minds wrapped around how people use CAD.

Well, what else can you expect from the very same guy who came up with SolidWorks in the 1990s? :)



Probably because every contributor has their own variation of UX they prefer, which they contribute and merge with all the other code. It leads to a lot of inconsistencies which are avoided when you have a hierarchy and a leader who makes everyone adjust their vision. It’s hard to do that with smaller OSS projects, they probably can’t afford alienating contributors by telling them how to do stuff.



> Why is open source always so bad at UUX - it's so frustrating.

To illustrate why... There's a certain "artistic" FOSS project (before you ask — not GIMP) where the community, incl. former lead dev basically say this:

- UX is bullshit, it's just opinions (verbatim quote)

- No two people agree on what is the right way, so anyone willing to improve UX in this project will have to fight everybody else, don't hold your hopes high (almost a verbatim quote)

- We don't like drama in this community, so we tend to just accept patches that change UI (you'd think this contradicts the previous statement, but somehow the impossible is possible)

They'd also mock a person who wrote a very elaborate first impressions blog post about the software, claiming she is an idiot who didn't bother learning the software.

I don't think the FreeCAD community was ever this bad, but there certainly was a strong element of chaos before. Things are considerably better today. There's a design working group working its way through various incosistencies, for one. It's a long-term project, no doubt about it, they are slowly getting there.



I used OnShape several years ago and loved it. Unfortunately, they priced me out — I'm in the "intensive hobby" segment, which means I'm fine with paying $500/year, but not OK with $1500/year. And OnShape is either free or $1500/year.

Another consideration for many is a good integrated CAM. This is where Autodesk Fusion, much as I dislike the company and the software, is unbeatable today.



Isn't the only difference between the free and $1500 tiers the private projects and direct support? Or did you specifically need the private projects.



SolveSpace is good. It's the only free CAD software I've found that's remotely usable (yes including FreeCAD). Unfortunately it has some pretty big missing features, notably bevels & filets.



For those unfamiliar, Ondsel is just a custom build of FreeCAD, with some different UI/UX and workbench defaults and their cloud oriented plugin/features enabled by default. They also have some features that haven't yet made their way into a stable FreeCAD release, but most likely will eventually.

I've got no qualms with anything Ondsel is doing, except that their "releases" are based off of the dev versions of FreeCAD, which are still in active development where things are rapidly changing and are poorly tested as a whole package. This leads to the situation where, for example, very basic sketches will cause the most recent Ondsel version to puke in odd ways, but it's a problem that's already been fixed in the FreeCAD dev builds.

So certainly give Ondsel a try; there a lot to like, and they're adding some much needed features to FreeCAD, but until their releases are based off FreeCAD stable, treat it like the unstable dev build it is.



SolveSpace is how I teach people CAD at my local makerspace. It's the only program I know of that can be properly onboarded in an hour or so, figured out from there, is useful on its own, and that makes for a good stepping stone to Inventor/SolidWorks/OnShape/etc.



Similarly, I learnt PTC Pro/ENGINEER (now Creo) in university and have tried to learn SolidWorks, Tinkercad, Onshape and FreeCAD but never found them as usable or powerful as ProE. The constraint system, 2D sketch tool and assemblies were hard to map into these other systems.

I feel it’s similar to having learnt Photoshop (7) and then struggle to use GIMP. I keep looking for tools that aren’t there, expect panels to show certain details and they come up short.

It reinforces for me how valuable usability and interface design is for power user tools. But also, how important training materials are, and how loyal a user will be once they are accustomed to completing a workflow with their tool of choice.



It's exciting to see a new entry into this space, especially one that is trying to create a new kernel. Unfortunately, it seems unlikely to be successful. The top kernels in the industry have been in development for decades by armies of CAGD PhDs and programmers, with funding from automotive and aerospace companies. Getting to table-stakes with the feature set will take a long time.

I also question what user problems this is trying to solve. CAD users don't necessarily need things to be open source. They may have limited budgets, but open source is not a user facing feature in this space the way it might be for some developers. Plasticity has shown that it is possible to license Parasolid and make money at a very low price point.

I've been using parametric CAD tools for 30+ years. I find that Onshape is a pretty amazing solution to many of the issues that exist with Creo or Solidworks. I never loose data. Having the equivalent of Google Docs for collaborative CAD with unlimited undo based on a ground up database instead of a file system is life changing. That said, its modeling capabilities are still playing catch up with other tools.

A big downside to Onshape (and Creo and Solidworks) is that it started as 2D sketches to extrude/revovle/loft etc into 3D objects. 3D tools are an add on and afterthought to the fundamentals. Plasticity (and Rhino and Alias) are all much more 3D first.

Onshape's FeatureScript is really cool and powerful, but it is not as good for CAD users to build their own tools as say Grasshopper in Rhino.

I would focus on what user problems are being solved. How will CADmium be a better CAD tool for a certain market than any of the others paid or free? Even though this is very early days in the development process, it's not too early to try to understand user needs. Open source is not in and of itself a goal.



New CAD users would appreciate a good open source alternative. Moreover, the world is a diverse place, not everyone has the same kind of money or quantity.

I think CAD users would benefit greatly from good open source alternatives.



People have said the same about browser engines, that it's impossible to start and new one and catch up due to the unfathomable number of man hours invested. But it's happing, Ladybird browser is making incredible progress. With modern tools, the learnings from older engines and the lack of entering debt it's possible for a small team to build things on par or better than 30yo software.

I have no doubt that a small dedicated team could build a new parametric kernel and CAD package, particularly one that's open source.



There will be significant differences in demands made by the end users of a web browser and a viable CAD system for serious work though.

It is an extremely tough market that many have been shaken out of.

Reliability is a must, particularly on the data representation and exchange front. And those assurances carry ENORMOUS costs. Big money at immediate risk in downstream, physical product if that goes south at any time - spread across multiple manufacturers and other product lifecycle parties.

Lots of workstation compatibility certification work done on CAD kernels.

PLM alone, embedded in many engineering organizations, is a very sticky element for retaining a certain CAD program and certain kernels internally - and it is my understanding that PLM is where the major money is made (not so much on the per seat CAD licensing costs).

New grads are coming out from college today after using CAD company-supplied software in much of their classwork for 4 years.

Many CNC controllers use Parasolid internally for certain visualization and programming operations - machines that will be working on the floor for decades from today.

The fact is that the per seat licensing cost and lock-in tradeoff is simply not a serious issue for many - and such costs have become arguably marginal for even small design houses and manufacturers.



I mean… Onshape, Creo, and Solidworks use the same kernel so it’s not too surprising the UI/UX is similar (I’m speculating for OnShape but given the company history, they probably are). Rhino and the like are geared towards 3D graphics on top of CAD so it’s not surprising either that they’re a Freeform surface modeler first. That being said, I don’t know about the open source part not being a goal. It’s like KiCAD vs Altium. If they manage to have 90% of what Onshape has to offer but open source, I can imagine people using it. I get the angle of cost though, since Solidworks license is about the order of $3-5K, most companies would rather pay it and use something proven.

FWIW, Onshape was created for less than $10M to make a MVP in less than 3 years. I don’t think you need decades of PhDs to make a new CAD program nowadays.



Onshape and Solidworks (and Shapr3D, and Nx amongst others) use the Parasolid kernel. Without Parasolid, Onshape wouldn't have happened so quickly. It also helped that it was founded by many of the core team behind Solidworks. Parasolid started being developed in 1988. [0]

Creo uses the Granite kernel, which was developed by PTC, starting in 1985. [1]

Onshape and Solidworks (and many others) also license the same 2D solver, D-Cubed, now from Siemens as well (originally from a company founded in 1989). [0]

None of this is to say that it is impossible to start fresh, just that there are insane numbers of person-years of development work embodied in these libraries. To get anywhere near the level of completeness and power will take a lot.

[0] https://www.engineering.com/story/parasolid-d-cubed-and-siem...

[1] https://www.shapr3d.com/history-of-cad/parametric-technology...



Why in a browser if it's local-first?

Solvespace has the benefit of being a single download/executable.

It also has a constraint solver which has been used in a couple of projects: CADsketcher as you noted, and Dune 3D: https://github.com/dune3d/dune3d where the author noted:

>I ended up directly using solvespace's solver instead of the suggested wrapper code since it didn't expose all of the features I needed. I also had to patch the solver to make it sufficiently fast for the kinds of equations I was generating by symbolically solving equations where applicable.

Any relation to: https://github.com/jay3sh/cadmium ?

Also, for CAD kernels, Manifold was not mentioned: https://github.com/elalish/manifold/wiki/Manifold-Library --- while I understand it to have many of the same disadvantages as OpenCASCADE, it does seem worth mentioning.

Interestingly the kernel was previously discussed here:

https://news.ycombinator.com/item?id=35071317

It seems really interesting/promising, esp. the compleat history and editability (I'd love to see that history listed in a pane which could be opened/closed --- add a series of disclosure triangles which would allow hiding finished elements so that one could focus on the current task and it would be a dream come true for me --- if I can puzzle out the 3D stuff, so far I've crashed and burned on all the apps I've tried (BRL-CAD, FreeCAD, Solvespace, Alibre Atom...) --- the only thing I've been successful w/ is OpenSCAD and similar coding tools).



> Why in a browser if it's local-first?

Because the web browser did what systems developers have failed at for at least 60 years: creating a platform that can host an application that just works on many different devices.



There is no serious comparison to the performance and richness offered by native applications. Famously (and wisely), Apple quickly reversed their decision on web apps for iOS devices.



They make money getting their cut of ios app payments. They wouldn't be able to do that for web apps. So they've done their best slowing down adoption of pwa's to keep that revenue coming.



That's long gone. Long long gone actually. Now browser is such a huge and capable platform that there's nothing comparable available anywhere.

Even XBox controller's drivers come baked into browser. Just check the number of APIs on MDN.

As for performance, that's already not anywhere into discussion. Check Google Docs. Everything single thing you are on screen is drawn using Canvas and it works just.... everywhere.



> Why in a browser if it's local-first?

Because it means it'll work regardless of whether I have a Linux, Mac, Windows, ChromeOS, iPad, or just try to check some detail of my part on my phone.

When I design a part at home, need to make an adjustment at work, and then need to make it using whatever is available in the makerspace, not having to install something is a big win.



>> Manifold was not mentioned

Manifold is a triangle mesh library. CAD should use NURBS surfaces and only triangulate them for rendering. I had looked at replacing the solvespace triangle mesh code with Manfold, but it's a lot of work and what we really need is to fix the NURBS bugs so we don't need to lean on the mesh code so much.

BTW the solvespace constraint solver is also used in the Assembly 3 workbench of FreeCAD ;-) It's really getting around these days.



Yeah, triangle mesh library and NURBS are very different, they do different things. Interesting to know that the solvespace folks wanted to try integrating manifold. Feel free to open an issue or discussion if needed, there were many changes as manifold was actively developed and gaining more users.

I am also interested in having a simple constraint solver for some kind of constructive geometry useful for CAD modeling, but not necessarily a full-fledged NURBS kernel. I think it can be interesting for text-based modeling, probably similar to some of the CadQuery APIs.



What an excellent summary of the CAD kernel landscape.

Favorite quote from this:

"The only popular open-source b-rep kernel is OpenCascade, which is the Pontiac Aztek of b-rep kernels: It is ugly, barebones, and it might break down on you, but it is drivable and you can get one for free."

SO true!



I have to say I love your approach to solving sketch constraints.

Many times I have used traditional solvers to map out an old building where no angles are 90°. I measure a bunch of distances (with some inaccuracy of course) and spend hours fighting with the solver to get to something that satisfies most of the measurements.

This takes time because I am in essence doing exactly the converging spring forces simulation that you propose. Except much slower :-)



I really hope CADmium can wean me off of OpenSCAD. With OpenSCAD, I don't really have to think at first; I use a simple language to write modules that build on other modules. The problem with OpenSCAD is there's no solver: I have variables, but no constraints. As I make changes, suddenly I have to think hard and solve the constraints manually and it's easy to introduce errors. However, the problem isn't severe enough to get me to use something else, because starting a model with OpenSCAD is IMHO far easier that anything else I've tried.



FreeCAD has a built in OpenSCAD engine.

I started with OpenSCAD but found FreeCAD to be way more productive for me when it came to actually producing 3d objects. Sometimes I want to start with a square, then delete a line, and add a semi circle. But I don't always know that until I start sketching. With OpenSCAD I feel you have to know the shape primitive you need, then the exact way to modify it, and the fact that it encourages 3D primitives over 2d w/ extrusion and rotating was kinda annoying imo.



Just wow. I've tried CadQuery and I'm too dumb to use its fluent syntax. But Build123D has amazing DSL, it was an instant understanding what code actually does and it's easy to write also. Thank you for recommendation!



Impressively it’s even the same underlying object system so the two can coexist, use the same previewer etc., and I think there’s even Jupyter support.

But yes, the syntax is IMO much better because it isn’t trying to be so clever.



https://build123d.readthedocs.io/

Many interesting features, and as it is bRep you have faces and edges, some access to constraints, the ability to import STEP etc. (oh and fillets/chamfers, with the usual OpenCascade caveats)

I have not got into it yet (mostly I am a happy FreeCADder) but your feelings about OpenSCAD resonate with me and this looks like it addresses many of them.

On the one hand OpenSCAD was the first thing that ever gave me any confidence that I would be able to make my own designs to print, and on the other the fact that it is wholly declarative is exasperating.

People make such amazing things in OpenSCAD (like Edgar Kech’s scalable large format field camera) but I do not have the tenacity to keep up with all the maths, or keep consistently avoiding coplanar issues in the preview.



As the complexity of a model increases, so does the complexity of determining correct dimensions and object placement. At some point the work becomes complex enough that I spend most of my modeling time cleaning up equations rather than finishing the model. A solver would theoretically replace many of the equations.

As a trivial example, let's say I want a square and a diamond and I want the diamond's corner to touch the square on the side. It would look something like this:

square([10, 10], center=true); dx = 5 + 5 * sqrt(2); translate([dx, 0, 0]) rotate([0, 0, 45]) square([10, 10], center=true);

This is a simple case, but what if either shape is replaced with a hexagon, a gear, or a duck? What if I decide there should be some other shapes between them? What about...?

Ideally, it seems like I should be able to tell OpenSCAD that the square contains a reference point on one side, and one of the corners of the diamond is also a reference point, and OpenSCAD should translate the diamond however is needed to make those two reference points match.

Alternatively, I should use some other software that lets me do something like that.



To illustrate what can be done with the BOSL2 library for openscad this can add 3 "diamonds" to the RIGHT, FWD, and TOP direction of a square, with the RIGHT and FWD diamond's corner touching the square on the side and the TOP diamond sitting atop the square:

cuboid([8,8,2]) align([RIGHT, FWD, TOP]) cuboid([5,5,2], spin=45);



Different person but I've had the same experience.

You can't just write code to, for example, "put this line at a 56.7 degree angle and have it end 0.22mm from this surface". You have to break out the trigonometry to calculate how long that line needs to be.



It's great to see others investing time and talent into open-source CAD. At Ondsel, we believe open-source CAD is incredibly important and we're thrilled to see innovation in this area.



I am trying to look you up, but I am not sure I completely understand your organization and offering. Is Ondsel to FreeCAD the same as Codeweavers to Wine?



We're an open-core company building commercially around FreeCAD. We're leading the development of the new integrated assembly workbench and contributing to many parts of the application. We have our own build of FreeCAD which includes our latest contributions.

We're also building an optional web-based file sharing and collaboration layer.



I wonder if Ondsel would make a plan for supporters. You folks make a great job there, the UX is way easier and better, I'm very impressed.

I'd be happy to support the project but current subscription levels are too high for a hobby shop. I wonder if there is a chance for a pathreon or similar type of support.



Businesses that ask for donations don't have a long and happy life :)

What you could do instead is donate to the FreeCAD Project Association. Part of the money goes into the development fund, that is, grants for developers.



Why donations? Supporter plan, without any additional benefits or fictional ones and with a tiny price will do.

As for the FreeCAD Project Association, thanks for the tip, that's already included. I prefer to spread the butter all over the bread I'm eating, if I can say it that way.



No, it's not, not really -- because the UX work going into Ondsel is going into mainstream FreeCAD (if it didn't originate there, and a lot of recent work did).

I am sure Ondsel will vary somewhat in UX over time (because they will be somewhat ahead of what they upstream) and because a few things may be unavailable for open-source licensing.

But most of what has changed in terms of UX is already in 0.22-dev. For example OpenTheme will work (don't know if it is included by default), the "glass" tree overlay from RealThunder is there, the overlay panels, the sketcher improvements, the new integrated Assembly workbench etc.

Ondsel is a commercial distribution of FreeCAD with a cloud-based engineering suite integrated -- file sharing, cloud compute (for parametric recalculations and STEP export) etc.

Here is how they describe themselves -- in some useful detail:

https://ondsel.com/handbook/About/about_ondsel/



Aside from the cloud bits I think the most notable way they are different at the moment is that they have their new configuration variable sets functionality, which maybe core FreeCAD hasn't agreed on yet (it's also not finished I believe).

Ondsel are seemingly using that to integrate with recalculation of designs in the cloud compute facility (think Thingiverse customiser but a bit less basic).

I eagerly anticipate that in mainstream FreeCAD, because none of the alternatives are great -- e.g. Spreadsheet is simultaneously cool, powerful and utterly exasperating once it's well-integrated. I am sure we will see it.



Correct. Variable sets (varsets) is partially merged into upstream main development branch. Other work is ongoing. Varsets are much more important than just our web service though. Being able to configure and control variants in a design is underappreciated and will be essential to having complex assemblies with multiple copies of identical parts. Imagine a hinge that is reused in many places in the design. The current angle of the hinge should be controlled on a per-copy basis. When you change the angle, you don't want all copies everywhere to reflect the new state. This is a variant.



Yes -- I've seen the video and spent some time absorbing it and I'm really excited to see that. I really enjoy using spreadsheets and configuration tables but there are some really maddening aspects; I understand global recalculation is kind of unavoidable, but I'm not sure why that has to happen when I change the font of a cell, for example :-)

Thank you for all of your work -- I am away from my CAD projects at the moment but I will be digging properly into 2024.2 as soon as I can.



In the meantime, have you ever watched the Brodie Fairhall video I mention in a sibling comment?

The shapebinder technique near the end of this video is amazing!

https://www.youtube.com/watch?v=Yp6cIMA7LsI

And there's another clever technique using variant links (which you can take a bit further with BaseFeatures):

https://www.youtube.com/watch?v=m9C_ahIVKOI

It's funny. People describe FreeCAD as maddening or sadistic, and for sure there are elements of the workflow that are frustrating (I'd be happy if I could do the five things I use the Draft workbench for without ever having to open it), but at the same time, it's so liberating and enthralling once you get your head into its way of thinking.

For me it's like QGIS or Inkscape: it's mindblowing that this tool is available to me for free. The trivial things I've been able to do have really changed my life (and I don't mean to overstate that -- these are things I never thought I'd learn and the impacts on my creativity have been striking).



Outstanding writing that is clear and convincing.

I am a mostly (and increasingly) happy FreeCAD user (though I agree with your framing) but OMG I am happy for you, and I will try to get involved when I can.

Best of luck.



We spend a lot of time working on the correct type system for STEP, I don't think that using an untyped format like JSON is a good idea.

I know that ISO 10303-243 uses JSON but in hindsight I think that was a mistake.



I recently messed around with using OpenSCAD's WASM build to make a serial plate generator for Voron printers[1], and the one take away from it is that we desperately need a cad export format that preserves variables and history so that parts can be regenerated with new parameters. OpenSCAD, or some other project built on top of it could get there, but not without some major work. Currently building complex projects in OpenSCAD feels like a form of self harm.

[1] https://serial-generator.privatebutts.dev/voron



I’m slightly confused by the 2D constraint problem solver, it seems to me like they have a probably sparse, possibly banded problem. Of course, in a high level description a whole lot can be excused under

> In practice many optimizations are made.

And I’m sure there’s a good reason to do physics. But, do iterative solvers like gmres or whatever have trouble with these kinds of problems?



Quoting directly from that github: "Status: Early prototype. This tool is not yet an MVP, but is being developed in the open. Please do not share this to HN or Reddit or things like that."



> 3D CAD apps are among the most complex UIs that exist.

I agree.

> If you want to make a good one and you only have a small team, the framework had better do a lot of heavy lifting!

I am skeptical that general-purpose UI frameworks can be a good long-term solution for 3D CAD. At times, a nice UX will need to think about many of the following at once:

    - the parametric 3D model
    - its mesh approximation
    - its hidden-surface projection into lines and patches
    - the pixels in the frame buffer
    - UI widgets.
The frameworks make too many assumptions about information being easily partitioned and limited in size.

Maybe the frameworks will help for prototyping, but if the project grows, I expect at some point they will end up ditching frameworks for the core 3D viewport interactions, and have mostly their own code in between OpenGL (or similar) and mouse/keyboard events.

Frameworks for buttons, lists, etc. will probably be fine, but even those tend to be much more dynamic in 3D CAD than in average apps.



This looks great! I hosted some discussion about open source cad late last year on this GitHub discussion board. People tend to say that building a new CAD kernel would take ten full time engineers ten years. I like where truck is going and I’m curious to see what its current limitations are. Sadly I haven’t had as much time as I’d like to evaluate the various options. (The other promising option for a complete package is Ondsel).

See that discussion forum here:

https://github.com/tlalexander/open-cad-foundation/discussio...



Presumably because there aren't many mature Rust GUI options at the moment. Egui is pretty good for what it is, but it's "immediate mode" which comes with some restrictions. Slint seems promising but the developer experience was a little rough when I tried it a couple months ago. Not sure the licensing is compatible with this project either.



This looks cool.

What would people recommend for a CAD program to run on Linux that I could use now (that is either free or cheap). I have simple requirements, I want to make a box for some electronics, but need the ability to import (and extrude etc) SVGs.

I couldn't see the SVG feature when I looked at dune, and I had some problems when I used freeCAD, but was planning on looking into it again.

What would people suggest?



>If you'd like to join the effort, join the Discord!

Why is it that open source programs always want me to use an awful (and proprietary) chat app?



Good to see someone is making this. Losing free student access to Autodesk Inventor exposed me to the hideous world of free-as-in-money 3D CAD software, and my interest in 3D CAD fizzled pretty quickly as a result.

On a related note, we really, really need a worthy replacement for EAGLE. It's only a couple years away from EOL, and KiCAD is light years away from being feature-equivalent.



Which specific features are keeping you on Eagle? Most of my more "serious" work is still in Altium, but I've been really pleased with a lot of the QoL features KiCAD has been picking up on as of the later releases (bulk sheet symbol entry placement) and feature coverage is good enough that I'm happy doing mixed signal boards with a few high speed interfaces.



Live synchronization of layout and schematic files. I consider this essential to circuit design, especially in later iterative stages. That alone totally eliminates KiCAD as a professional EDA in my opinion.



Live synchronization of layout and schematic files is a feature you find in EAGLE, but in almost no other EDA program.

If you say KiCAD is not an professional EDA due to missing live synchronization, the same argument applies also to Altium, Cadence Allegro, and most other EDA systems which are considered as professional by most people.



Fine. KiCAD's manual tool still gives me more trouble than Altium ever has. How about the lack of a built in autorouter? Infuriating wire placement UX? We can keep going here.



Hopefully it's an easy to use CAD, because my preferred CAD right now on Linux is FreeCAD is way too complex and the user input in the UI horrendously clunky.

The good side is that all CADs have a very steep learning curve, with most tutorials made by people who are oblivious to the ignorant masses. The landscape is so complex today, that it's easier to use a vector drawing tool and transform it into a 3D model than to use any CAD to make a cylinder.



Ondsel, built on top of FreeCad, aims to make free ad more user friendly and easy to collaborate on projects. Plus Freecad is close to propose a solid solution for topological naming issues. It will be this year, fingers crossed



Totally going to check this out. I've been rooting for FreeCAD but I think it's just going to be consumed by Ondsel in the next few years.

Does CADmium suffer from a topological naming problem like FreeCAD?



I appreciate the sentiment. But we both know that plans change. Especially in the software world and even more so in the startup business.

Also, "no plans" doesn't really mean much. "I guarantee" is a lot more meaningful.



Well, I could go on and on about this, but consuming FreeCAD is not just unrealistic, it's undesirable.

The best a startup company can do is work in quick iterations: throw things at the proverbial wall to see what sticks, then scale up development accordingly. "Consuming FreeCAD" is the opposite of that. It's how you paint yourself into a corner and die a horrible death.

A much healthier approach is to build a great working relationship with the community: lead the way in a few areas where you have great expertise and encourage development in other areas. It has worked nicely so far.

So no, sorry, I don't see Ondsel consuming FreeCAD over the next few years (or ever). But we can agree to get back to this conversation in, oh, 5 years time would be enough?



If you worry about freecad/ondsel

Well this article talks about revisiting venture capital in the future. Which pretty much means the end of cadmium at that point haha



Why would anyone want to do CAD in a web page?

JavaScript should be limited to 1997 Netscape 3.0 performance to stop this kind of garbage. And WASM should never have been attempted, and should be removed.

Write real native software if you’re trying to make something good for end users.



It looks like they also have an electron program.

It might be sensible to run CAD in a web page hosted by a server on your local network? I have no idea if they added functionality to have the crunchy bits run on the server instead, that’d be a neat trick.



This is an awesome project. I work with Revit(Python coded) so immediately tried shift + mouse wheel click drag. If you can get anywhere near Revit that would be impressively scary for Autodesk.



Onshape is definitely great, but it could go away or have its free version cut down (like Fusion 360) at any time. Having an open source alternative that's less of a slog than FreeCAD would be awesome.



Getting negative vibes from the name. Cadmium's a nasty substance. I mean, you wouldn't call an augmented reality app ARsenic, would you? Constructive, I hope, criticism.



I suspect naming it after a substance that's poisonous to humans isn't an issue for most average users, and for the users who are even aware what cadmium is, might just improve memory retention when trying to think of the name again further in the future.

Personally, I think it's a catchy name.



You could add even more punniness to the AR name by calling it ARscenic. I don’t think anyone wouldn’t use the software just because it’s named after a toxic substance.

联系我们 contact @ memedata.com