There are currently a lot of newer browser CAD projects that already wraps OCCT WASM, like FluidCAD and Chili3D. And as you said previously, current CAD tools are slow to improve, and part of the reason is because of using kernels first built in the 1980s, and projects like Shapr3D and Plasticity both hit limitations of their existing kernels and switched to Parasolid when their project got bigger, and OCCT's per entity tolerance issue is pretty well know by now.
On another topic, getting a plate with thousands of holes to mesh in under a second is some serious performance, and I do agree with your conclusion that most CAD apps are slow not because of programming language but because accurate NURBS math is inherently slow, but their is also the issues with the 2D constraint solver and fillet/boolean algorithms too. Happy to talk more about the geometry kernel stuff too.
Thanks for asking. Core ops are OCCT. It's got great primitives and tolerant modeling. For performance purposes, I've implemented my own algorithms for hidden line rendering, tessellation, and others. I've spent my whole career (15 years+) working on and around kernels.
More detail for the curious: it’s C++ compiled to WebAssembly and runs entirely client-side with a WebGL2 renderer, so there’s no server round-trip for geometry. OCCT does booleans, fillets, and STEP. I replaced its mesher with my own tessellator because BRepMesh was the bottleneck at scale, and hidden-line/Make2D are custom too. Happy to go deeper on any of it.
Thanks so much! That’s basically my favorite thing to hear. :) We spent a ton of time ironing out the bottlenecks for huge projects. CAD users are notorious for pushing products as hard as possible. A few things we did:
The C++/WASM engine owns the model, selection and WebGL2 renderer on one thread, so nothing is copied back and forth on every edit. We use multithreading, SIMD, the works...
For instance, we wrote our own tessellator to replace OpenCASCADE’s mesher, and it only re-meshes the faces that changed. A plate with 2,500 holes meshes in 127 ms instead of about 10 s.
Solids are batched into a few draw calls, and repeated geometry is instanced automatically.
We hunt down anything quadratic. If I had to guess, that is what makes most CAD software interaction slow.
Truly nice stuff. I've been looking into getting into 3-d printing recently and wondering could this output the kind of files I could use for that? Truly possibly a noob question, but just wondering if this could do that.
Thanks. Yes, Aircad can be used for 3d printing workflows! You can import and export stl and obj file formats, which are used for 3d printing. We plan to add more formats.
Aircad is a general solid modeler. So, you can model anything w the solid modeling tools, and then convert to a mesh. They participate in boolean ops like union and subtract. There's a collection of commands specifically for manipulating meshes: https://aircad.com/docs/commands#meshes. The agent can also write scripts to generate and process meshes completely from scratch: https://aircad.com/docs/ask
Fair concern, and it’s the right question to ask of any new tool. A few concrete answers:
Your work isn’t trapped. Drawings export to DWG, DXF, PDF, and STEP at any time, and you can save the native file locally. If Aircad vanished tomorrow, your drawings open in AutoCAD.
The engine runs in your browser, not on our servers. Modeling and drafting don’t round-trip to a server, so it’s fast and isn’t fragile the way server-side CAD is.
On liability: the professional of record carries it whatever the tool. AutoCAD’s license disclaims it too. What a firm needs from software is accuracy, standard formats, and an exit path, and that last one is why DWG round-tripping got so much of my time.
The price is low because a small team building on modern infrastructure has much lower costs, not because corners were cut.
That’s fair, and it’s the right thing to weigh with any new tool. Right now it’s a small company and I’ve written most of the engine. What I’ve tried to make sure is that your work never depends on Aircad surviving. Everything exports to DWG, DXF, PDF, and STEP whenever you want, and you can keep native files locally, so the exit path is always open. The engine also runs entirely in your browser, not on our servers. I’d rather earn trust over time than ask for it up front.
Figure I try pitching at least, but would you consider evaluating my Aetheris kernel to use as Aircad's geometry kernel over OCCT?
https://github.com/yuechen-li-dev/Aetheris
There are currently a lot of newer browser CAD projects that already wraps OCCT WASM, like FluidCAD and Chili3D. And as you said previously, current CAD tools are slow to improve, and part of the reason is because of using kernels first built in the 1980s, and projects like Shapr3D and Plasticity both hit limitations of their existing kernels and switched to Parasolid when their project got bigger, and OCCT's per entity tolerance issue is pretty well know by now.
On another topic, getting a plate with thousands of holes to mesh in under a second is some serious performance, and I do agree with your conclusion that most CAD apps are slow not because of programming language but because accurate NURBS math is inherently slow, but their is also the issues with the 2D constraint solver and fillet/boolean algorithms too. Happy to talk more about the geometry kernel stuff too.
What is the geometry kernel? That's always the first question I have.
Thanks for asking. Core ops are OCCT. It's got great primitives and tolerant modeling. For performance purposes, I've implemented my own algorithms for hidden line rendering, tessellation, and others. I've spent my whole career (15 years+) working on and around kernels.
More detail for the curious: it’s C++ compiled to WebAssembly and runs entirely client-side with a WebGL2 renderer, so there’s no server round-trip for geometry. OCCT does booleans, fillets, and STEP. I replaced its mesher with my own tessellator because BRepMesh was the bottleneck at scale, and hidden-line/Make2D are custom too. Happy to go deeper on any of it.
Product aside, it's nice to see what seem like real answers over equivocality. Wishing you the best of luck!
Thanks so much! Appreciate it. It's a long road from here in CAD land. :)
Just checked it out; the whole experience is incredibly smooth.
Thanks so much! That’s basically my favorite thing to hear. :) We spent a ton of time ironing out the bottlenecks for huge projects. CAD users are notorious for pushing products as hard as possible. A few things we did:
The C++/WASM engine owns the model, selection and WebGL2 renderer on one thread, so nothing is copied back and forth on every edit. We use multithreading, SIMD, the works...
For instance, we wrote our own tessellator to replace OpenCASCADE’s mesher, and it only re-meshes the faces that changed. A plate with 2,500 holes meshes in 127 ms instead of about 10 s.
Solids are batched into a few draw calls, and repeated geometry is instanced automatically.
We hunt down anything quadratic. If I had to guess, that is what makes most CAD software interaction slow.
Truly nice stuff. I've been looking into getting into 3-d printing recently and wondering could this output the kind of files I could use for that? Truly possibly a noob question, but just wondering if this could do that.
Thanks. Yes, Aircad can be used for 3d printing workflows! You can import and export stl and obj file formats, which are used for 3d printing. We plan to add more formats.
Aircad is a general solid modeler. So, you can model anything w the solid modeling tools, and then convert to a mesh. They participate in boolean ops like union and subtract. There's a collection of commands specifically for manipulating meshes: https://aircad.com/docs/commands#meshes. The agent can also write scripts to generate and process meshes completely from scratch: https://aircad.com/docs/ask
the landing page and copy is top quality
Aw thanks! I spent longer than I wish to mention on this.
Congratulations on launching.
I would not bet a business that depends on CAD on something that only costs $19/month. Even if it didn't require taking a dependency on a website.
Or to put it AutoCad is cheaper than being sued. Good luck.
Fair concern, and it’s the right question to ask of any new tool. A few concrete answers:
Your work isn’t trapped. Drawings export to DWG, DXF, PDF, and STEP at any time, and you can save the native file locally. If Aircad vanished tomorrow, your drawings open in AutoCAD. The engine runs in your browser, not on our servers. Modeling and drafting don’t round-trip to a server, so it’s fast and isn’t fragile the way server-side CAD is. On liability: the professional of record carries it whatever the tool. AutoCAD’s license disclaims it too. What a firm needs from software is accuracy, standard formats, and an exit path, and that last one is why DWG round-tripping got so much of my time.
The price is low because a small team building on modern infrastructure has much lower costs, not because corners were cut.
As a related note, reading lots of "I built" here is not confidence inspiring, no matter how good you are. There's always that bus factor thing.
That’s fair, and it’s the right thing to weigh with any new tool. Right now it’s a small company and I’ve written most of the engine. What I’ve tried to make sure is that your work never depends on Aircad surviving. Everything exports to DWG, DXF, PDF, and STEP whenever you want, and you can keep native files locally, so the exit path is always open. The engine also runs entirely in your browser, not on our servers. I’d rather earn trust over time than ask for it up front.