I'm currently developing Chili3D, an open-source, browser-based 3D CAD application. By compiling OpenCascade to WebAssembly and integrating Three.js, Chili3D delivers near-native performance for powerful online modeling, editing, and rendering—all without local installation. Access it here:
https://github.com/xiangechen/chili3d
Features:
Modeling Tools: Create basic shapes (boxes, cylinders, cones, etc.), 2D sketches (lines, arcs, circles, etc.), and perform advanced operations (boolean operations, extrusion, revolution, etc.).
Snapping and Tracking: Precisely snap to geometric features, workplanes, and track axes for accurate alignment.
Editing Tools: Modify (chamfer, fillet, trim, etc.), transform (move, rotate, mirror), and perform advanced edits (feature removal, sub-shape manipulation).
Measurement Tools: Measure angles and lengths, and calculate sums of length, area, and volume.
Document Management: Create, open, and save documents, with full undo/redo history and support for importing/exporting STEP, IGES, BREP formats.
User Interface: Office-style interface with contextual command organization, hierarchical assembly management, dynamic workplanes, and 3D viewport controls.
Multi-Language Support: Built-in i18n support with current languages including Chinese and English.
So ... like ... WOW.
I read your description and thought, "some toy 3D project; probably slow/lacking features." I mean, you did a fine job but perhaps reading it in such a simple view made it lose something? Not a critique on you, just an observation of myself.
I've looked at it all of a few minutes and this is pretty fantastic. Quite fast, the UI seems relatively understandable coming from other tools. Looks as clean as the rest, anyway.
And I've been annoyed that there's not Fusion 360 available (supported, anyway) for OpenSUSE Tumbleweed ... you may have saved me some grief with this, so thanks for that!
"by compiling OpenCascade (OCCT) to WebAssembly"
I wondered what geometry kernel it was going to use! Interesting to me how few of these there are. Some of the solid modeling stuff is nearly 40 years old (parasolid) this must be hard.
I’m doing a bit of BREP for GIS and even in 2D with line segments only the problem is really non-trivial, a lot of edge (pun intended) cases to take care of. Type system helps enormously, so probably rust will be a win here (I think I saw a project along those lines).
That being said, for CAD (personal usage) I switched from Fusion 360 to Freecad 1.0 with almost no project and the latter is an order of magnitude faster.
Agreed, FreeCAD 1.0 is finally almost usable and supports assemblies. My main issue with it is that the bill of materials tool was DOA but it’s fixed in the main branch. There are still lots of quirks but these can be learned in a few hours of using it.
Worth noting there's also a fork of FreeCAD (Astocad, made by a former Ondsel developer) with some UI enhancements: http://astocad.com/
I really like this pricing model, reminds me of aesprite.
Either build it yourself for free, or pay us and we'll give you prebuilt binaries for convenience
I think the corner cases are likely hard, but the fundamental mathematical representations of the 3D geometry haven't changed. If the licensing cost of Parasolid and ASICs is reasonable, there isn't really a commercial incentive to create something new from scratch. The current market trend is consolidation as Autodesk and Hexagon when on a buying spree and bought up a lot of CAD and CAM software.
OpenCASCADE used to be commercial, but they couldn't find enough customers to keep on and it got open sourced after a failed commercial existence.
I wish more companies, especially university spinoffs, did this when they failed.
It seems so wasteful that poor marketing or leadership or whatever can lock useful innovations up for years while people better able to execute on them reverse engineer the work and/or wait for patents to expire.
The corner cases are hard, but the basics shouldn't be. I'd normally expect several basic ones and a few good professional ones. But that's not what we see...
We have OpenCASCADE, GCAL and Solvespace. The later two are missing quite a few features relative to OpenCASCADE. Then there is Parasolid, ACIS, and whatever they call the kernel in CATIA. There are a few around. But perhaps there aren't that many ideas for innovative features for people who are interested in the area to create something new.
Would love to read more about how these types of geometric problems are best approached.
>> Would love to read more about how these types of geometric problems are best approached.
Probably the most accessible NURBS kernel to learn from is the one in Solvespace. The entire source for the core NURBS is about 6KLoC:
https://github.com/solvespace/solvespace/tree/master/src/srf
My favorite file in there is ratpoly.cpp
It doesn't handle higher order NURBS or use knots. It's just the basics, but there are a lot of geometric algorithms in there. We're still trying to get the bugs out of NURBS booleans, but the high level algorithm is sound.
BTW it can also be compiled for web but that is incomplete.
Ugh, I wish I could read it but as I'm working in this space professionally reading GPLv3 code is... risky.
Been working in 2D with bezier implementation for our in-house CAD kernel. 3D parametric is limited at the moment, though.
Just because I’m curious, why the issue with reading GPL code? My understanding is that you would have to essentially directly copy and paste the code for the GPL license to apply to it.
Thanks, I'm a big fan of Solvespace, despite some small shortcomings that I usually am able to work around. I sometimes even use it to solve geometric problems. Much easier than doing it by hand.
I will have a look at the source code.
We don't really have a lot of options as far as open source geometry kernels goes.
OpenCascade
CGAL
Is there anything else?
There's whatever's inside BRL-CAD, and SolveSpace has its own too.
Not that there are all that many proprietary 3D kernels either - ACIS, Parasolid, and...?
Does anyone use BRL-CAD for anything? It must be capable but I can find very little information and resources about.
I for one have never successfully done anything with it. Couldn’t figure it out.
But it does have a kernel, so…
Impressive, but I don't see any way to do constraints or sketches.
(I'm also a bit sad that this is a web app, but, alas, such is progress.)
As someone who works in a school with Chromebooks, I love that web apps like this exist, especially if students will be able to export the files to a 3D printer. It greatly opens up the number of tools we can use to do fun things.
That said, also as a teacher and a parent, I worry that Chromebooks are making kids have no idea about the world of non-web-apps. (And file systems, etc. etc.)
I watch my kid create a poster: find an image online, copy & paste into an automatic background remover, c&p into an image editing program to remove the watermark, c&p into Canva for assembling with text etc.
Meanwhile I show her that I can do the whole thing on Pixelmator Pro (or Affinity or Photoshop) and she looks at me like I have three heads.
Chromebooks need to die, we need to get back to native apps. Look with Windows we have msix, with Linux we have flatpack, etc .. Storage is cheap, and our devices are powerful. Let's use that power
It simplifies things for schools, because everything is easily managed, everything integrates with Google classroom, and the hardware is fungible, you can log into any one and have your files.
It doesn't train them how to use real computers, but that's not on the state standards so they don't care.
Google Classroom is the worst LMS I've ever used and the "log in from any machine and have your files" thing was solved by Active Directory decades ago...
The reasons schools ate them up os because they're cheap and were the most readily available laptops during a shortage. I really doubt much else was on anyone's mind.
I also have a few qualms with it:
1. For a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software.
2. It doesn't actually replace a USB drive. Most people I know e-mail files to themselves or host them somewhere online to be able to perform presentations, but they still carry a USB drive in case there are connectivity problems. This does not solve the connectivity issue.
> It doesn't train them how to use real computers, but that's not on the state standards so they don't care.
Arguably, it really should be.
For some users, they're perfect (not all - schools etc need Win/Linux/Mac). I have family members who should just have a Chromebook as all they do is browse the internet - copy and paste is a stretch for them!
Let the kids make websites?!
I love web based software (minus the logins). This saves soooo much time in a teaching environment. Time that can me used for teaching ideas, approaches, rather than struggling with compatibility issues.
For CAD you can run Solvespace on a chromebook. I'm not sure I want to promote it for use below high school, as the geometry failures and their workarounds are probably too icky for younger users. I want more polish for kids.
I think a set of problems where you intentionally create failures and then work through solving them would be quite interesting for anyone learning geometry, beyond a certain point. Understanding exactly why the failures are failures, what about the geometry or the computation makes them fail, would help build an intuition for geometry and topology itself.
Solvespace is hardly polished enough for general use, though. I can use it, but I constantly struggle against the way it handles sketches.
The current version does not include this, but it will be available as parametric components in the future.
OFC this being HN people are jumping on the side comment about web apps.
BUT the more relevant and valuable point you made was about constraints and sketches.
And, related to this, true parametric design, which IMO is vital for a CAD package to be taken seriously.
Yep! Would love to try this once he or she adds parametric. We need good-quality reasonably-priced software in this domain.
Browsers can be just as powerful as 'native' apps. This is an example of that. Browser apps free the user from proprietary operating systems and their companies. Of course, Linux is a way around that. However, why not just write it once and let students and engineers the world over be able to share and open files easily?
UPDATE: On my newer laptop thius is faster than my native apps. And I was literally drawing shapes within 30 seconds of clicking on the link to this app. Compare that to the nightmare of all the other tools out there with registrations, email clutter, 2FA, and on and on. Oh, and cost in most cases!
UPDATE 2: I have no connection to this team other than having just seen a post online about this tool. I've been navigating the world of SketchUp/AutoCad/Revit recently so this of course is totally thrilling. Especially for what it means for the future.
This is just blatantly wrong. There are so many native resources that any serious 3D application requires access to that are blocked by browsers that this statement just isn't true and never will be.
Out of curiosity, what native resources are needed? It seems Solidworks mainly needs access to the file system, GPU, and perhaps networking. GPU and networking in the browser, and the file handling could be implemented over the network instead of locally.
For most current pro CAD, certainly there are a lot of calls to Win32 libraries on Windows, but those aren't fundamentally needed by a CAD system. There was professional 3D CAD before Windows.
I don't know what native hardware would be needed that isn't already accessible through current Chrome?
There is the full power of CUDA kernels, for starters. Then there's a lot of potential low level optimizations that browsers don't enable that can easily make a 2x to 10x performance difference. Also, there is no good way to give hard bounds on memory usage.
I think the use of CUDA is niche in the CAD world, probably constrained to a sub-set of FEA. We dropped 6 figures on an Abaqus system -> new hardware, new software within the last couple of years, and a lot of the analysis still runs on the CPU, with a bit of off load to the GPU.
On the performance end, the is a wide range of CAD that was done on systems more than 10x slower, so that also may not be a deal-breaker. For the simpler end of professional CAD operation, I haven't noticed any performance gain from a 2nd get Core i7 to a 10th gen. On the high-complexity end, there is some benefit for some operations, but certainly there is a wide scope of application that could be fine with only 10% of peak performance on newer work stations.
CUDA kernels are a non starter because they require Nvidia GPUs. Things like CAD software will mostly use some kind of lower common denominator graphics layer like openGL. Webgpu is actually a decent alternative to that.
There certainly are optimisations that aren’t possible in web browsers today. Arbitrary wasm memory constraints and difficulties around cpu multithreading or simd for example. But CUDA kernels aren’t a realistic option for most cad software.
That's why I said 'can'. Once OS's lift restrictions on what browsers can access then we'll finally have something more close to 'write once run everywhere'. But that wouldn't really help the proprietary software systems and companies.
Or just write it in java
Was about to say "If we only have some kind of runtime system, which could run an app exactly the same on every supported operating system without needing to port that app, that would be awesome!". :D
If you want performance, you actually wouldn't want it to be exactly the same, ironically. You'd want to include hardware specific optimizations where needed. And unless Java has changed dramatically, this would at least require implementing the core performance critical parts in another compiled language.
Well, yes. I totally agree with you on that one!
The original comment was about (mis)using the browser as some kind of platform independent runtime environment for apps.
Admittedly, at my workplace, I created a few (very simple) html/javascript based apps to get some tasks done quickly (like sorting some tables, or a little task planer tool) as it is convenient, because a browser is something you have everywhere.
Very impressive. Unsure what is going on with the tool icons, they're a bit strangely named. "Bessel", "pour corner" (twice), "From the cross section".
Looks like some work needs to be done to get this into familiar CAD terms with the English translation.
Difficult to use right now, it just switched into the Chinese translation when trying to make a cube and there doesn't appear to be an easy way to change that.
Nice work man, I always love seeing open source efforts especially in areas dominated by a few companies such as dassault and auto desk. On a somewhat related note, I’m excited for the nascent forays into context aware CAD using current llms.
Having used a few 3D CAD systems nothing is as good as solvespace. But when solvespace gets painful. It gets REALLY painful. I wish there was a serious dev team working on just solvespace.
This looks super nice! That is kind of the interface I wish FreeCAD could have. I am more the type of person who likes to use a python interface to create parametric models, but this is really cool!
Anyone knows what is the status of Truck [1] in this regard. Are they going to implement an open-source CAD program with their CAD-kernel? That also looks like a promising project.
CADmium is built with the Truck kernel, though it looks like CADmium has no repo activity since June '24. https://github.com/CADmium-Co/CADmium
There's also the Fornjot kernel. https://github.com/hannobraun/Fornjot
Cadmium is long dead and unfortunately neither truck nor fornjot are "there" yet - "there" been anything more complex than a cube
Context: I was the main contributor/maintainer of cadmium
Thanks for clarifying cadmium's status and offering your take on the state of truck and fornjot. So, what happened with cadmium? Is Truck just too primitive to build on top of so far? It looks like both of these kernels are actively being developed, what do you think of their rate of progress?
meh, internal problems mostly
No idea where truck is going, it'll take me quite some time to tinker with CAD I think, it left me quite a bitter taste...
Fornjot seems to be doing good, I'm donating to them and I get regular updates (you should too!). Still, there's a long, long road ahead
If I were to do this all over again I'd either go the OCCT route (like chili3d or zoo) or solvespace. they're both "lacking" kernels if you compare them to the commercial ones, but I think there's enough "market gap" for makers that would prefer a sustainable CAD format instead of perfect fillets (and IMO freecad is not the solution).
Keep in mind though that my efforts where laser focused on non-math stuff. From what I gathered from my time in cadmium, b-rep kernels are hard in an unsustainable level. Browser level unsustainable. I just hope that out of seer necessity we'll find another way to solve the CAD problem, instead of a b-rep kernel
> This looks super nice! That is kind of the interface I wish FreeCAD could have.
What do you dislike about FreeCAD's interface?
I think that the tools are not will organized, and I always have problems finding the tool I need in the menu. The concept of having different workbenches does not work good for me, as often I am looking for a tool and then realize I am in the wrong workbench. But it is not always clear why something is in a workbench and not in the other, and there are duplicated functions in some workbenches. Also, the fact that it does not support Wayland makes everything look blurry in hdpi screens. I like that it has a good python API though, but the documentation is a bit lacking. However, the different workbenches also sometimes complicate the use of the Python API. I like e.g. how build123d works.
FreeCAD interface needs to take a lot of pointers from paid CAD programs, this Chili3D interface is quite close, larger icons in ribbons at the top of the screen with clear definitions
There's an active knee-jerk hostility in the FreeCAD community to any user problem that even hints that it might involve a comparison to proprietary CAD. I've had "FreeCAD isn't Fusion and you shouldn't expect it to behave the same way" thrown at me when I've been discussing something bone-headed FreeCAD was doing.
I've never used Fusion, in any incarnation.
Absolutely amazing. I've been hoping for something that is similar to OnShape. I would absolutely pay in the hundreds for something like this. Its an absolute shame how expensive Onshape licenses are. There's no way I'm shelling 1k+ for a license.
Onshape employee here. I agree with another poster that for most "non-professional" requirements Onshape's free tier is all one should need - sure, the documents remain public if you don't pay. It's prohibitively expensive to maintain the technology stack with the complexity, scale and performance that Onshape does, and its costs a lot of money. :)
Documents being public is one thing. But I remember you guys changed the ToS at one point (I just looked it up, in 2016) where the verbiage is that Onshape owns the IP of these documents which is a huge no for me. I rather pay for solidworks hobbyist for $100 a year that comes with 3Dexperience which performs very similar to Onshape.
I don't know where you see such a line in Onshape's ToS. Can you point me to it? IANAL (and speak only in an individual's capacity who is hopefully reading the same ToS), but the public documents you create as a free user are essentially in "public domain", so even though you still 'own' it, you grant a broad, "worldwide, royalty-free and non-exclusive license to any End User or third party" to use the intellectual property within that document "without restriction". This includes the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of it.
You can get SolidWorks for $25/year if you're a student or vet. It's full up re functionality, but with a non-commercial license. I highly recommend.
Taking the chance: As a hobbyist with a decent CNC with no intent of using it for commercial work: Linux "support" was driving me from Fusion to Onshape. CAM is driving me back to Fusion.
Please consider pushing the idea of having CAM for the hobbyist level in Onshape in your company, I know there's not much in revenue us hobbyists, but I'd gladly pay up to 20-50 per month for such a license. At least that's more money than 0 :).
I'm sorry, as far as I know the leadership is pretty clear on that. For a foreseeable future CAM will remain a Pro only feature.
I gravitate to open source, native or self hosted applications. But I have to say that onshape is really neat.
I just do relative simple object for 3D printing, every few month. And onshape was easy to get into.
From BRIO connectors for my nephews wooden train set, book binding helpers for a coworker, case for LED controllers .. easy peasy.
Just fill pattern and text are always a struggle.
But I just know, at some point Onshape will start charging us freeriders.
> But I just know, at some point Onshape will start charging us freeriders.
- I don't know about that, may be, may be not, but I don't know of any such plan in the short term at least. It gives University students a free 'professional' license so there's that too.
> Just fill pattern and text are always a struggle.
Feel free to create a support ticket about your pain points. Everyone can easily do that, and Onshape is surprisingly more responsive to support tickets than many other companies.
It looks pretty good and I encourage you to keep up the good work. you should also team up with a manufacturing or 3D printer company (like EasyEDA did for PCB production) and make it as simple as a few clicks to get your creation manufactured by casual users.
Might be worth getting in contact with the Slant3D folks, their teleport 3d printing service might benefit from an integrated editor?
You did a great job! It looks promising, both for performance and UI. There are many tools in the 3D market which are unable to offer an intuitive and eye pleasing interface to work with.
Hope to see more projects like this one in the near future !
I have to say UI reminds me of the Microsoft products - but in a good way! Compared to an average 3D CAD application, what do you think is different? What was the reason behind developing such a tool?
Wow it even almost works on mobile, impressive! (Booleans are not working on iOS it seems)
I’m learning 3d and confused about what to focus on for hard modeling. I just wanna make cool realistic spaceships. Should I do cad or blender?
Perhaps Blender w/ CADsketcher?
Or maybe NASA's Vehicle Sketch Pad?
Recently saw someone post this "city to 3D printer" for the web and this is even better damn.
Are there any programmatic interfaces to this?
I was just thinking about how TinkerCad has block coding.
this isn't really answering your question,
however with opencascade working in webassembly here, perhaps also cadquery and/or build123d can do something like that
Wouldn't this be better suited as a native app or as close to one as you can using wasmr
Nice work. It seems I cannot open stl files in it, right?
The deployed version can import STL files, but there are some limitations in use, such as being unable to snap feature points.
This is a dumb question, but seems like as good a place as any to ask it:
I think of these CAD programs as being very old-school native programs that either are a loosely collected group of tools that allow you to manipulate files and pass them around (so, like, a bunch of Linux native programs that spit out files and ingest them, and you go around in the terminal to make sure everything is in the right spot), or a nice GUI around a bunch of those types of tools (it is definitely very possible that I’ve been influenced by only seeing these tools via engineering grad school where everything is open source, the gui’s don’t count, Linux command line is assumed, and 90’s tools are the baseline).
With a web-based system, what do you do? Like, for example if the user wants to pass models to some finite element simulation tool, do they just repeatedly download/simulate/go back to the website/edit/download/simulate, or something like that?
Is there a nice way for browser based apps to pipe to each other?
I don't think your understanding is correct.
In the 60s, 70s, and 80s it was more true, but nowadays Catia, NX, Creo, and the other big CAD systems are monolithic applications with extensions and add-ons (either from the vendor directly, sold as third party add-ons, or developed in house with CAA/NXOpen/ProToolkit) for doing stuff like composite design, sheet metal, various types of analysis, and a million other things.
Under the hood they're very modular with hundreds (or thousands) of shared library modules, and sometimes those modules have long histories going back to the 70s, but the UI of the 70s is long gone, and they're used like normal shared libraries, not piping around data on the shell.
Not that it doesn't happen - I'm sure some companies have old tools they haven't updated in decades - but the day to day CAD work is all GUI based.
That's my impression working at a company doing CAD translation, anyway.
In a lot of large deployments, the CAD data isn't even stored in files, but in a PLM database. For example PTC's WindChill and Dassault's Enovia/3DX.
Correct me if I'm wrong but I think PLM/PDM are storing the CAD model as "CAD databases" (basically the proprietary file-format) in a Data-Vault. So while not all CAD data is being stored in those files (meta-data for example) those old file-fomats are still in use I think.
TBH I don't have a great understanding of how the PLM systems store CAD data.
What you describe sounds about right, though. I think in some cases it really is just the original CAD file, as a binary blob, in a database, with metadata stored with it. In some cases it's more complicated, though.
Catia's V6 "3D Experience" system, for example, saves to their database by default, but allows exporting to Catia V5's CATPart/CATProduct format, or STEP, for data exchange. The catch is that some of the newer features in V6 don't exist in V5 and aren't fully supported by CATPart/CATProduct, so they have a way to export those bits "as result" instead of saving the full dataset - basically decoupling it from the parameters and inputs that created it and giving a BREP blob. In most cases the exported parts can be editted in V5 and sent back to V6, but the "as result" parts can't be.
It's different for every CAD vendor, though. A nebuluous mess of vendor lock-in and proprietary data formats.
You can also do PLM/PDM by exporting the CAD model in a neutral format such as STEP and storing that in a database.
I recently tested SimScale with OnShape, i.e. cloud FEM with cloud CAD. On the FEM side there was a button "import from OnShape", which opened popup that did go through authz flow ("do you want to allow SimScale to access your OnShape content") and then proceeded to show a part/assembly selection dialog. Reasonably smooth process considering that they are two completely separate companies etc.
I should say that this question is 100% not a backhanded critique of the idea of this project, I’m genuinely curious what the workflow looks like.
Making CAD more accessible seems like a massive win, in the sense that it is really hard to get hands on experience making things nowadays—hobbyist methods and professional ones have diverged quite far! Easy web-based tool that bridge that gap without playing around in the shell could be really useful.
Yes. Make them a front end to project database you pay someone to host. There is one source of truth for the whole team, front ends are tailored to design disciplines, and development branches are created as needed. This is an obvious product that would be a major improvement that doesn’t exist.
Bentley and Autodesk have a Frankenstein version of this because they can’t disrupt their revenue stream for CAD software that stopped improving 20 years ago. iTwin (yes, the branding is that bad) is an attempt to link cloud to local-file-based work. ProjectWise was a first stab at that, which is worse than plain network storage in every way except that CAD managers don’t have to be responsible for configuration scripts.
CAD companies are very protective of their file formats, and use that as leverage to "encourage" companies to stay in their eco system, and upgrade to the latest versions of their software.
The main CAD program is often the center of use, and any specialty functionality is a add-in to the main cad program (FEA, CAM, etc).
If the specialty software is stand-alone, it still needs a CAD Kernel to be able to work with the BREP, and there are essentially only 2 main commercial kernels (Parasolid and ASICs).
Not your main question but -
” very old-school native programs that either are a loosely collected group of tools that allow you to manipulate files and pass them around”
Opencascade is a C++ library and manages it’s state in single process. Examples: https://dev.opencascade.org/doc/overview/html/samples.html
I think parent was referring to BRL-CAD, which is very much feels like a collection of cli tools ducktaped together.
I was just commenting on my general impression of the sorts of tools I saw other folks in the lab using, or that I had to use in my classes. I’m more of a programming guy anyway, so it is probably an issue of me being an uninformed neighbor (all of the responses seem to indicate that I’m wrong mostly, which is definitely not surprising).
Two CAD other projects using OpenCascade worth checking out: Beegraphy and BitbyBit. Beegraphy uses the Rhino/Grasshopper modeling style and BitbyBit sticks with Cascade's ethos.
Just leaving this here — you are up to something. Karpathy:
> Products with extensive/rich UIs lots of sliders, switches, menus, with no scripting support, and built on opaque, custom, binary formats are ngmi in the era of heavy human+AI collaboration.
If an LLM can't read the underlying representations and manipulate them and all of the related settings via scripting, then it also can't co-pilot your product with existing professionals and it doesn't allow vibe coding for the 100X more aspiring prosumers.
Example high risk (binary objects/artifacts, no text DSL): every Adobe product, DAWs, CAD/3D Example medium-high risk (already partially text scriptable): Blender, Unity Example medium-low risk (mostly but not entirely text already, some automation/plugins ecosystem): Excel Example low risk (already just all text, lucky!): IDEs like VS Code, Figma, Jupyter, Obsidian, ...
AIs will get better and better at human UIUX (Operator and friends), but I suspect the products that attempt to exclusively wait for this future without trying to meet the technology halfway where it is today are not going to have a good time.
That really seems like it is written by someone without any experience using 3D CAD, particularly of the "make physical stuff" variety, rather than the artistic movie and video game asset variety.
English (or other human) language is pretty bad at describing 3D geometry. People have been using drawings and physical 3D models to describe designs going way back into antiquity. The idea you can just use text suitable for a current-design LLM to manipulate 3D technical data really seems like an idea from someone who has never tried.
But also, Solidworks and Inventor (and I think NX) have extensive API coverage that would allow an LLM to manipulate the geometry data, if the LLM could figure out what the data meant, and what it wants to do. If you can do it on screen with a mouse and keyboard, you can likely do it over the API. An add-in could certainly be written to accept requests for information and instructions on api calls to make from an LLM.
Maybe you will be a good judge of this, since I am not: try using claude to generate an openscad model by describing it. Open it up and iterate with claude until you get close to what you want. Did it work?
I've done this multiple times with great success, resulting in OpenSCAD projects that I feel comfortable maintaining, but would not have created without LLM assistance, and it has definitely been productive for me to start an OpenSCAD project this way, learn from the results, and refine things with ease.
Be sure to emphasise to the model that things should be well-commented, and be prepared to be amazed at the depth and breadth (pun not intended) of knowledge that can be obtained about the OpenSCAD ecosystem using this technique.
Awesome, I literally just had this exact idea and started making a prototype with Cursor AI but gave up after about an hour going back and forth with AI not fixing bugs, or incorrectly implementing what I described. Fixing an issue, and then Cursor AI subsequently breaking it again.
Was going down the rabbit hole with TypeScript, React, and three.js.
Sometimes I wish they would put in the README just a brief description of which part of the stack they're responsible for and how they used it.
I see that it uses some type of WebAssembly technology and some CAD/CAM API that gets translated over. I also see they integrated with Three.js,
but what I would like to know is how much of the whole "thing" are they responsible for?
Are they responsible for all that code that draws the viewport and lets the user pan around? Are they responsible for that Microsoft Office ribbon UI? Are they responsible for the internationalization? What parts did they do? When I look at this, it's so sophisticated it just makes me feel think about the widening divide as far as AI skill gap goes. Was AI used?
Now they don't owe me that, of course, and that's nothing on them, kudos to them! It's a brilliant project.
I’ve found ”So what did you do” is usually obvious to domain experts and incomprehensible without understanding of the domain without _very_ long readme that would be comparable in complexity to a review article.
>Are they responsible for that Microsoft Office ribbon UI?
Well, that's the beauty of open source. Go read it.
https://github.com/xiangechen/chili3d/blob/43161b9f51021f2ef...
>When I look at this, it's so sophisticated it just makes me feel think about the widening divide as far as AI skill gap goes. Was AI used?
I feel like this was the "So tell me about your father.." turn here , did you really care about the details or did you want to wax poetic about AI?
If you want to know who made it, maybe try asking Microsoft, not expecting a random open-source project to hold the answers.
On the Widening AI Skill Gap No, sophisticated software doesn't automatically mean AI was used. Your immediate jump to an "AI skill gap" just because something looks well-made says more about your assumptions than about the software itself. Perhaps the real "skill gap" is in telling the difference between good engineering and AI magic.