TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

CADmium: A local-first CAD program built for the browser

669 点作者 samwillis12 个月前

39 条评论

samwillis12 个月前
I&#x27;m very excited about what Matt is building, the world desperately needs a good open source parametric CAD package. One where the UI&#x2F;UX is designed to be as &quot;easy&quot; to use a SolidWorks.<p>The biggest reason this hasn&#x27;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.<p>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.
评论 #40432006 未加载
评论 #40433795 未加载
评论 #40434358 未加载
评论 #40432768 未加载
评论 #40431503 未加载
评论 #40431432 未加载
评论 #40431297 未加载
评论 #40433992 未加载
评论 #40442221 未加载
评论 #40437311 未加载
phkahler12 个月前
As one of the Solvespace maintainers I have a few comments:<p>1) You don&#x27;t want just 2D constraints, 3D is better. If you were writing in C++ I&#x27;d say just take our constraint solver (Like Dune3D did). Since you&#x27;re loving Rust, I can point you to the work of Michael F Bryan who wrote one in Rust and blogged about it here: <a href="https:&#x2F;&#x2F;adventures.michaelfbryan.com&#x2F;posts&#x2F;constraints-part-1-expressions&#x2F;?utm_source=reddit&amp;utm_medium=social&amp;utm_campaign=constraint-solver-1-expression-trees" rel="nofollow">https:&#x2F;&#x2F;adventures.michaelfbryan.com&#x2F;posts&#x2F;constraints-part-...</a><p>I think his code is over at gitlab. I haven&#x27;t looked at it in a couple years. He wrote that after I nerd-sniped him ;-)<p>2) For geometry kernels... I&#x27;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&#x27;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.<p>3) History&#x2F;feature tree is closely related to the &quot;topological naming problem&quot; 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 &quot;came from something&quot; 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&#x27;s not something you can easily bolt on afterward.<p>4) where is the link to try out CADmium?
评论 #40432955 未加载
评论 #40432666 未加载
评论 #40440676 未加载
评论 #40432090 未加载
评论 #40432858 未加载
alright256512 个月前
I think this is amazing. I&#x27;d love to get to the point where we are with open source EDA with open source physical CAD.<p>&gt; 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.<p>I&#x27;ve gotten quite deep into this, and this is really not a problem in practice[1]<p>1. FreeCAD&#x27;s main issues with constraint performance come from a redundant &amp; unnecessary GUI layout algorithm, which falls over with just a few hundred constraints.<p>2. Eigen&#x27;s sparse QR decomposition benchmarks at 18s for 2200 constraints, which is really not too bad<p>3. There are sparse QR decomposition libraries that can handle 500k-1M constraints in about 18s. I can&#x27;t imagine a CAD sketch with more than a few thousand constraints.<p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;FreeCAD&#x2F;FreeCAD&#x2F;issues&#x2F;11498#issuecomment-1832892073">https:&#x2F;&#x2F;github.com&#x2F;FreeCAD&#x2F;FreeCAD&#x2F;issues&#x2F;11498#issuecomment...</a>
评论 #40434185 未加载
评论 #40435575 未加载
gen312 个月前
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&#x27;t conform.<p>Awesome work! It seems like a hard problem<p>Repo: <a href="https:&#x2F;&#x2F;github.com&#x2F;MattFerraro&#x2F;CADmium">https:&#x2F;&#x2F;github.com&#x2F;MattFerraro&#x2F;CADmium</a>
评论 #40431205 未加载
评论 #40431280 未加载
评论 #40431115 未加载
评论 #40436196 未加载
评论 #40437864 未加载
评论 #40436604 未加载
s1mon12 个月前
It&#x27;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.<p>I also question what user problems this is trying to solve. CAD users don&#x27;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.<p>I&#x27;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.<p>A big downside to Onshape (and Creo and Solidworks) is that it started as 2D sketches to extrude&#x2F;revovle&#x2F;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.<p>Onshape&#x27;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.<p>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&#x27;s not too early to try to understand user needs. Open source is not in and of itself a goal.
评论 #40431802 未加载
评论 #40432429 未加载
评论 #40465740 未加载
评论 #40431737 未加载
评论 #40439446 未加载
JeremyHerrman12 个月前
What an excellent summary of the CAD kernel landscape.<p>Favorite quote from this:<p>&quot;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.&quot;<p>SO true!
评论 #40431130 未加载
WillAdams12 个月前
Why in a browser if it&#x27;s local-first?<p>Solvespace has the benefit of being a single download&#x2F;executable.<p>It also has a constraint solver which has been used in a couple of projects: CADsketcher as you noted, and Dune 3D: <a href="https:&#x2F;&#x2F;github.com&#x2F;dune3d&#x2F;dune3d">https:&#x2F;&#x2F;github.com&#x2F;dune3d&#x2F;dune3d</a> where the author noted:<p>&gt;I ended up directly using solvespace&#x27;s solver instead of the suggested wrapper code since it didn&#x27;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.<p>Any relation to: <a href="https:&#x2F;&#x2F;github.com&#x2F;jay3sh&#x2F;cadmium">https:&#x2F;&#x2F;github.com&#x2F;jay3sh&#x2F;cadmium</a> ?<p>Also, for CAD kernels, Manifold was not mentioned: <a href="https:&#x2F;&#x2F;github.com&#x2F;elalish&#x2F;manifold&#x2F;wiki&#x2F;Manifold-Library">https:&#x2F;&#x2F;github.com&#x2F;elalish&#x2F;manifold&#x2F;wiki&#x2F;Manifold-Library</a> --- while I understand it to have many of the same disadvantages as OpenCASCADE, it does seem worth mentioning.<p>Interestingly the kernel was previously discussed here:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=35071317">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=35071317</a><p>It seems really interesting&#x2F;promising, esp. the compleat history and editability (I&#x27;d love to see that history listed in a pane which could be opened&#x2F;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&#x27;ve crashed and burned on all the apps I&#x27;ve tried (BRL-CAD, FreeCAD, Solvespace, Alibre Atom...) --- the only thing I&#x27;ve been successful w&#x2F; is OpenSCAD and similar coding tools).
评论 #40432672 未加载
评论 #40431421 未加载
评论 #40432049 未加载
blt12 个月前
&gt; <i>3D CAD apps are among the most complex UIs that exist.</i><p>I agree.<p>&gt; <i>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><p>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:<p><pre><code> - the parametric 3D model - its mesh approximation - its hidden-surface projection into lines and patches - the pixels in the frame buffer - UI widgets. </code></pre> The frameworks make too many assumptions about information being easily partitioned and limited in size.<p>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&#x2F;keyboard events.<p>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.
评论 #40432299 未加载
hathawsh12 个月前
I really hope CADmium can wean me off of OpenSCAD. With OpenSCAD, I don&#x27;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&#x27;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&#x27;s easy to introduce errors. However, the problem isn&#x27;t severe enough to get me to use something else, because starting a model with OpenSCAD is IMHO far easier that anything else I&#x27;ve tried.
评论 #40434624 未加载
评论 #40435470 未加载
评论 #40440011 未加载
评论 #40434407 未加载
评论 #40435143 未加载
评论 #40433626 未加载
评论 #40444084 未加载
sliptonic12 个月前
It&#x27;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&#x27;re thrilled to see innovation in this area.
评论 #40430588 未加载
ecjhdnc202512 个月前
Outstanding writing that is clear and convincing.<p>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.<p>Best of luck.
rjsw12 个月前
We spend a lot of time working on the correct type system for STEP, I don&#x27;t think that using an untyped format like JSON is a good idea.<p>I know that ISO 10303-243 uses JSON but in hindsight I think that was a mistake.
评论 #40435754 未加载
评论 #40433568 未加载
PrivateButts12 个月前
I recently messed around with using OpenSCAD&#x27;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.<p>[1] <a href="https:&#x2F;&#x2F;serial-generator.privatebutts.dev&#x2F;voron" rel="nofollow">https:&#x2F;&#x2F;serial-generator.privatebutts.dev&#x2F;voron</a>
andybak12 个月前
Weirdly hard to find the actual project urls:<p><a href="https:&#x2F;&#x2F;mattferraro.github.io&#x2F;CADmium&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mattferraro.github.io&#x2F;CADmium&#x2F;</a><p><a href="https:&#x2F;&#x2F;github.com&#x2F;MattFerraro&#x2F;CADmium">https:&#x2F;&#x2F;github.com&#x2F;MattFerraro&#x2F;CADmium</a>
评论 #40431299 未加载
peppertree12 个月前
Plasticity was open source before it abandoned c3d in favor of Parasolid. The repo can still be found here: <a href="https:&#x2F;&#x2F;github.com&#x2F;nkallen&#x2F;plasticity">https:&#x2F;&#x2F;github.com&#x2F;nkallen&#x2F;plasticity</a>
sliptonic12 个月前
A 2D solver works great for sketches and some kinds of assemblies. However, it is insufficient for many kinds of 3D assemblies. The solver Ondsel released (LGPL) which underlies the new integrated assembly workbench is a true 3D solver. <a href="https:&#x2F;&#x2F;github.com&#x2F;Ondsel-Development&#x2F;OndselSolver">https:&#x2F;&#x2F;github.com&#x2F;Ondsel-Development&#x2F;OndselSolver</a>
RobotToaster12 个月前
&gt; In contrast, the open source CAD landscape looks like this:<p>He missed BRL-CAD, which also does brep. The interface is clunky but the kernel seems advanced.
评论 #40432330 未加载
adastra2212 个月前
It appears to be written in Rust. Why package it as a wasm app inside of electron instead of compiling to native and using wgpu directly?
评论 #40431187 未加载
评论 #40431158 未加载
bee_rider12 个月前
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<p>&gt; In practice many optimizations are made.<p>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?
TaylorAlexander12 个月前
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).<p>See that discussion forum here:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;tlalexander&#x2F;open-cad-foundation&#x2F;discussions">https:&#x2F;&#x2F;github.com&#x2F;tlalexander&#x2F;open-cad-foundation&#x2F;discussio...</a>
jesperwe12 个月前
I have to say I love your approach to solving sketch constraints.<p>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.<p>This takes time because I am in essence doing exactly the converging spring forces simulation that you propose. Except much slower :-)
jpm_sd12 个月前
What a great piece of writing. Clearly explained, nicely illustrated, got me really excited about the project.
fahhem12 个月前
The claim that onshape runs in a gpu-enabled AWS instance and &#x27;streams the result&#x27; to your browser seems far-fetched. I haven&#x27;t investigated, but I don&#x27;t have the best internet connection and onshape isn&#x27;t laggy like anything else built like that. It&#x27;s possible the core solvers run elsewhere, but the UI and other interactions are definitely all rendered locally.
JAlexoid12 个月前
Hopefully it&#x27;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.<p>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&#x27;s easier to use a vector drawing tool and transform it into a 3D model than to use any CAD to make a cylinder.
评论 #40432814 未加载
mijoharas12 个月前
This looks cool.<p>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.<p>I couldn&#x27;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.<p>What would people suggest?
评论 #40440045 未加载
xinayder12 个月前
Seems like an exciting project, I&#x27;d like to try it out as soon as there&#x27;s a public testing phase.<p>On another note, please don&#x27;t use Discord for development: <a href="https:&#x2F;&#x2F;drewdevault.com&#x2F;2021&#x2F;12&#x2F;28&#x2F;Dont-use-Discord-for-FOSS.html" rel="nofollow">https:&#x2F;&#x2F;drewdevault.com&#x2F;2021&#x2F;12&#x2F;28&#x2F;Dont-use-Discord-for-FOSS...</a><p>use IRC or Matrix but not Discord.
ryukoposting12 个月前
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.<p>On a related note, we really, really need a worthy replacement for EAGLE. It&#x27;s only a couple years away from EOL, and KiCAD is light years away from being feature-equivalent.
评论 #40436069 未加载
porphyra12 个月前
I like how the Truck kernel&#x27;s github [1] says that their choice to use Rust and WGPU is due to &quot;Trendy Tools&quot; being a core principle. I&#x27;m super excited about this.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;ricosjp&#x2F;truck">https:&#x2F;&#x2F;github.com&#x2F;ricosjp&#x2F;truck</a>
bimguy12 个月前
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.
logrot12 个月前
Totally going to check this out. I&#x27;ve been rooting for FreeCAD but I think it&#x27;s just going to be consumed by Ondsel in the next few years.<p>Does CADmium suffer from a topological naming problem like FreeCAD?
评论 #40434465 未加载
评论 #40432990 未加载
juliangmp12 个月前
&gt;If you&#x27;d like to join the effort, join the Discord!<p>Why is it that open source programs always want me to use an awful (and proprietary) chat app?
phero_cnstrcts12 个月前
I dislike the browser idea but I’ll take it over any subscription based app.
syntaxing12 个月前
Absolutely amazing. I have high hope for this project to be a real OnShape competitor!
stirfish12 个月前
Inequality constraints! This makes me really excited
bilsbie12 个月前
Why should I use this over openscad?
dvh12 个月前
Are boolean operations working yet?
MCLAU15512 个月前
onShape has been great
评论 #40430535 未加载
评论 #40430398 未加载
eschaton12 个月前
Why would anyone want to do CAD in a web page?<p>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.<p>Write real native software if you’re trying to make something good for end users.
评论 #40434393 未加载
xipix12 个月前
Getting negative vibes from the name. Cadmium&#x27;s a nasty substance. I mean, you wouldn&#x27;t call an augmented reality app ARsenic, would you? Constructive, I hope, criticism.
评论 #40436561 未加载
评论 #40434716 未加载
评论 #40430800 未加载
评论 #40433592 未加载