{"slug": "opencascade", "name": "OpenCASCADE", "category": "media", "category_name": "Media and creative", "description": "", "recommenders": 4, "commenters": 17, "warners": 5, "score": 0.204, "rising": 0.02, "first": "2025-11-20", "latest": "2026-10-28", "why": "OpenCascade's (fickle but otherwise lovely) BREP modeling", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 6, "compare": 3, "warn": 5}, "spark": [1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1], "listed": true, "loved": [], "caveat": "", "short_quote": "OpenCascade's (fickle but otherwise lovely) BREP modeling", "kind": "", "icon": false, "domain": "opencascade.org", "github_repo": null, "official_url": "https://dev.opencascade.org", "pricing": "", "aliases": ["OpenCASCADE", "OpenCascade", "Open CASCADE"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 800943585, "item_id": 50058974, "url": "https://news.ycombinator.com/item?id=50058974", "by": "vmiguel", "date": "2026-10-12", "version": null, "stance": "recommend", "quote": "take the good parts of occt", "excerpt": "I am building one, it is Oblikovati, https://github.com/Oblikovati/Oblikovati/tree/go-legacy It started about 6 months back, kernel build from scratch in go. I changed directions now and decided to rewrite in rust, take the good parts of occt and the good parts of my own kernel and build a new one child of both. So far it did not get traction, I guess I should had named it SolidCraft :D", "context": "", "use_case": "", "switched_from": "", "story": "ArtCraft Apps \u2013 open-source Adobe compatible suite written in Rust"}, {"id": 759938226, "item_id": 47496139, "url": "https://news.ycombinator.com/item?id=47496139", "by": "autumn-antlers", "date": "2026-03-23", "version": null, "stance": "recommend", "quote": "OpenCascade's (fickle but otherwise lovely) BREP modeling", "excerpt": "libfive - https://libfive.com guile scheme, bindings in Rust and Python personally exited to check it out for real constructive-solid modeling, as opposed to emulating that workflow over OpenCascade's (fickle but otherwise lovely) BREP modeling (ie. edges & faces) via build123d (which has been great but is increasingly vibe-coded :/) discussed previously: https://news.ycombinator.com/item?id=12319406 a real construct", "context": "", "use_case": "", "switched_from": "", "story": "Dune3d: A parametric 3D CAD application"}, {"id": 748594064, "item_id": 46787129, "url": "https://news.ycombinator.com/item?id=46787129", "by": "nicr_22", "date": "2026-01-27", "version": null, "stance": "recommend", "quote": "OpenCASCADE?", "excerpt": "OpenCASCADE? https://dev.opencascade.org/", "context": "", "use_case": "", "switched_from": "", "story": "Parametric CAD in Rust"}, {"id": 736029185, "item_id": 46001824, "url": "https://news.ycombinator.com/item?id=46001824", "by": "fsloth", "date": "2025-11-20", "version": null, "stance": "recommend", "quote": "then definetly use OpenCASCADE", "excerpt": "I think the first question to tackle is _to whom_ is the program targeted at. Who is the expert user? What are they building? What are the upstream and downstream application? See, this is why this area is hard from software pov. It _looks_ like well specified engineering space - something like a network protocol - but actually what you have the engineering happens _in the engineers heads_ and in the organizations th", "context": "", "use_case": "STEP file export", "switched_from": "", "story": "Blender 5.0"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 801107394, "item_id": 50069212, "url": "https://news.ycombinator.com/item?id=50069212", "by": "GhostXFace", "date": "2026-10-13", "version": null, "stance": "warn", "quote": "it would leapfrog OpenCASCADE kernel for open-source CAD", "excerpt": "They are working on a Rust port for the SMLib geometric kernel subset that NVIDIA open-sourced yesterday as part of their new USD BRep library: https://github.com/bherbruck/solidcore If the experiment does work out and the library NVIDIA open-sourced proves to be mathematically robust enough for standalone CAD use, it would leapfrog OpenCASCADE kernel for open-source CAD (solved math that was previously propriety, gr", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: SolidCraft \u2013 Open-Source Parametric CAD in Rust (With MCP Support)"}, {"id": 753460083, "item_id": 47091255, "url": "https://news.ycombinator.com/item?id=47091255", "by": "dgroshev", "date": "2026-02-20", "version": null, "stance": "warn", "quote": "which is both less sophisticated today and is slower to gain new features than Parasolid", "excerpt": "It's probably impossible for FreeCAD to catch up with the industry-standard CAD systems (SOLIDWORKS, NX, Fusion) unless they somehow pour a stupendous amount of money into their geometry kernel [1]. All major CAD systems use mature geometry kernels like Parasolid [2]. Parasolid was developed for 40 years and is still in active development. This is the piece of code that enables CAD systems to do things like computing", "context": "", "use_case": "", "switched_from": "", "story": "FreeCAD is an open-source parametric 3D modeler"}, {"id": 736546561, "item_id": 46034160, "url": "https://news.ycombinator.com/item?id=46034160", "by": "exasperaited", "date": "2025-11-24", "version": null, "stance": "warn", "quote": "OpenCascade doesn't maintain any naming across its interfaces at all", "excerpt": "TNP essentially cannot be definitively solved, as I understand it. Only extensively mitigated. Other CAD packages still have TNP issues. FreeCAD had an additional problem that OpenCascade doesn't maintain any naming across its interfaces at all, which is what RealThunder's geometry naming scheme, that mainline FreeCAD now uses, largely solved. But his fork still has issues too. Is DynamicData still properly supported", "context": "", "use_case": "", "switched_from": "", "story": "\u00b5cad: New open source programming language that can generate 2D sketches and 3D"}]}], "who": [], "tags": [], "use_cases": ["cross-checking cad kernel results", "step file import", "step file export"], "compared": [{"slug": "freecad", "name": "FreeCAD", "co": 6, "switched_from": 0, "switched_to": 0}, {"slug": "manifold", "name": "Manifold", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "solvespace", "name": "SolveSpace", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "solidworks", "name": "SolidWorks", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "dune-3d", "name": "Dune 3D", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "build123d", "name": "build123d", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50064840", "title": "Show HN: SolidCraft \u2013 Open-Source Parametric CAD in Rust (With MCP Support)", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=49958850", "title": "ArtCraft Apps \u2013 open-source Adobe compatible suite written in Rust", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=47047010", "title": "FreeCAD is an open-source parametric 3D modeler", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=45972519", "title": "Blender 5.0", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50273201", "title": "Show HN: Nasscad \u2013 local-first 3D CAD for browser and Windows", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50272515", "title": "Show HN: Popkern \u2013 open-source CAD kernel with G2 corner blends, browser IDE", "mentions": 1}], "sentiment_by_month": {"2025-11": {"compare": 1, "recommend": 1, "warn": 1}, "2025-12": {}, "2026-01": {"neutral": 1, "recommend": 1}, "2026-02": {"neutral": 1, "warn": 1}, "2026-03": {"recommend": 1}, "2026-04": {"neutral": 3}, "2026-05": {}, "2026-06": {"compare": 1}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {"warn": 3, "recommend": 1, "compare": 1, "neutral": 1}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 804429027, "item_id": 50276814, "url": "https://news.ycombinator.com/item?id=50276814", "by": "aothms", "date": "2026-10-28", "version": null, "stance": "warn", "quote": "", "excerpt": "Can't comment on the fillet/chamfers but for boolean operations I didn't find it to be a decade behind at all https://github.com/IfcOpenShell/IfcOpenShell/pull/9958", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Nasscad \u2013 local-first 3D CAD for browser and Windows"}, {"id": 804360353, "item_id": 50272522, "url": "https://news.ycombinator.com/item?id=50272522", "by": "geedy", "date": "2026-10-28", "version": null, "stance": "neutral", "quote": "results are cross-checked against OpenCASCADE wherever the two are comparable", "excerpt": "Hi HN, I'm Graeme. popkern is a free, open-source parametric BRep CAD kernel in Rust. You can try it in your browser here, no install: https://popkern.dev/live/ (I recommend checking out the six-axis robot arm example near the end of the examples list, it's 57 parts and ~1,200 features, all built from script). popkern is currently released under AGPL-3.0, with an exception so your scripts, models, and STEP files rema", "context": "", "use_case": "cross-checking CAD kernel results", "switched_from": "", "story": "Show HN: Popkern \u2013 open-source CAD kernel with G2 corner blends, browser IDE"}, {"id": 801228755, "item_id": 50076797, "url": "https://news.ycombinator.com/item?id=50076797", "by": "darksaints", "date": "2026-10-13", "version": null, "stance": "compare", "quote": "to surpass OpenCASCADE", "excerpt": "Are you running with this port because of the slowness that Truck has had in merging new code from outside contributors? It seems like that was the reason for the MonsterTruck fork of Truck, which also has some promising features that aren't present in Truck. Personally, I've been planning out work to create a build123d-like python scripting environment which wraps the Truck kernel, in the hopes that one day Truck wi", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: SolidCraft \u2013 Open-Source Parametric CAD in Rust (With MCP Support)"}, {"id": 801107394, "item_id": 50069212, "url": "https://news.ycombinator.com/item?id=50069212", "by": "GhostXFace", "date": "2026-10-13", "version": null, "stance": "warn", "quote": "it would leapfrog OpenCASCADE kernel for open-source CAD", "excerpt": "They are working on a Rust port for the SMLib geometric kernel subset that NVIDIA open-sourced yesterday as part of their new USD BRep library: https://github.com/bherbruck/solidcore If the experiment does work out and the library NVIDIA open-sourced proves to be mathematically robust enough for standalone CAD use, it would leapfrog OpenCASCADE kernel for open-source CAD (solved math that was previously propriety, gr", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: SolidCraft \u2013 Open-Source Parametric CAD in Rust (With MCP Support)"}, {"id": 800943585, "item_id": 50058974, "url": "https://news.ycombinator.com/item?id=50058974", "by": "vmiguel", "date": "2026-10-12", "version": null, "stance": "recommend", "quote": "take the good parts of occt", "excerpt": "I am building one, it is Oblikovati, https://github.com/Oblikovati/Oblikovati/tree/go-legacy It started about 6 months back, kernel build from scratch in go. I changed directions now and decided to rewrite in rust, take the good parts of occt and the good parts of my own kernel and build a new one child of both. So far it did not get traction, I guess I should had named it SolidCraft :D", "context": "", "use_case": "", "switched_from": "", "story": "ArtCraft Apps \u2013 open-source Adobe compatible suite written in Rust"}, {"id": 799851873, "item_id": 49990742, "url": "https://news.ycombinator.com/item?id=49990742", "by": "bauta-steen", "date": "2026-10-07", "version": null, "stance": "warn", "quote": "", "excerpt": "There is Truck - \"Rust CAD Kernel\" (https://github.com/ricosjp/truck) being developed by a Japanese CAE company, but not sure how full featured it is currently.", "context": "", "use_case": "", "switched_from": "", "story": "ArtCraft Apps \u2013 open-source Adobe compatible suite written in Rust"}, {"id": 773815587, "item_id": 48363474, "url": "https://news.ycombinator.com/item?id=48363474", "by": "softservo", "date": "2026-06-01", "version": null, "stance": "compare", "quote": "No CAD kernels (Parasolid, OpenCascade, etc.): the math + code is the model.", "excerpt": "Implicit.js is an open source library that lets agents generate CAD with code + mathematical functions representing surfaces. No CAD kernels, no STEP files \u2014 just agents using math + code to directly generate 3D models. This is: 1. A small library of SDFs with a browser-native renderer: https://github.com/earthtojake/implicit.js 2. A demo that renders 3D models from code in realtime: https://www.implicit.sh/ 3. A set", "context": "", "use_case": "", "switched_from": "", "story": "Implicit.js, a way for agents to do 3D design with math"}, {"id": 765045584, "item_id": 47815349, "url": "https://news.ycombinator.com/item?id=47815349", "by": "vouwfietsman", "date": "2026-04-18", "version": null, "stance": "neutral", "quote": "most geometry kernels (see open cascade) sport things like \"fuzzy boolean operations\"", "excerpt": "This explanation is relatively reductive when it comes to its criticism of computational geometry. The thing with computational geometry is, that its usually someone else's geometry, i.e you have no control over its quality or intention. In other words, whether two points or planes or lines actually align or align within 1e-4 is no longer really mathematically interesting because its all about the intention of the us", "context": "", "use_case": "", "switched_from": "", "story": "It's OK to compare floating-points for equality"}, {"id": 763557664, "item_id": 47722354, "url": "https://news.ycombinator.com/item?id=47722354", "by": "kaesve", "date": "2026-04-10", "version": null, "stance": "neutral", "quote": "looks like open cascade, and a pretty good range of operations supported", "excerpt": "I was also curious, looks like open cascade, and a pretty good range of operations supported (see https://github.com/Fluid-CAD/FluidCAD/tree/main/lib/oc). Super cool!", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: FluidCAD \u2013 Parametric CAD with JavaScript"}, {"id": 762777569, "item_id": 47673598, "url": "https://news.ycombinator.com/item?id=47673598", "by": "fsloth", "date": "2026-04-07", "version": null, "stance": "neutral", "quote": "OpenCASCADE is included as part of STEP importer though.", "excerpt": "Thank you! The CAD kernel is written by me apart from the boolean solver for the meshes which is the superb https://github.com/elalish/manifold To explain a bit more as \"do your own kernel\" is usually considered more mad than mad-science - this is not done on a whim. I spent over a decade doing CAD at Trimble, developing base tech and CAD offerings (including Tekla Structures and SketchUp). Happy to discuss the archi", "context": "", "use_case": "STEP file import", "switched_from": "", "story": "Show HN: AdaShape-3D modeler for intuitive 3D printing parts / Windows 11"}, {"id": 759938226, "item_id": 47496139, "url": "https://news.ycombinator.com/item?id=47496139", "by": "autumn-antlers", "date": "2026-03-23", "version": null, "stance": "recommend", "quote": "OpenCascade's (fickle but otherwise lovely) BREP modeling", "excerpt": "libfive - https://libfive.com guile scheme, bindings in Rust and Python personally exited to check it out for real constructive-solid modeling, as opposed to emulating that workflow over OpenCascade's (fickle but otherwise lovely) BREP modeling (ie. edges & faces) via build123d (which has been great but is increasingly vibe-coded :/) discussed previously: https://news.ycombinator.com/item?id=12319406 a real construct", "context": "", "use_case": "", "switched_from": "", "story": "Dune3d: A parametric 3D CAD application"}, {"id": 753460083, "item_id": 47091255, "url": "https://news.ycombinator.com/item?id=47091255", "by": "dgroshev", "date": "2026-02-20", "version": null, "stance": "warn", "quote": "which is both less sophisticated today and is slower to gain new features than Parasolid", "excerpt": "It's probably impossible for FreeCAD to catch up with the industry-standard CAD systems (SOLIDWORKS, NX, Fusion) unless they somehow pour a stupendous amount of money into their geometry kernel [1]. All major CAD systems use mature geometry kernels like Parasolid [2]. Parasolid was developed for 40 years and is still in active development. This is the piece of code that enables CAD systems to do things like computing", "context": "", "use_case": "", "switched_from": "", "story": "FreeCAD is an open-source parametric 3D modeler"}, {"id": 753356962, "item_id": 47084810, "url": "https://news.ycombinator.com/item?id=47084810", "by": "kilpikaarna", "date": "2026-02-19", "version": null, "stance": "neutral", "quote": "with a OpenCASCADE geometry kernel", "excerpt": "You might want to check out Dune3D. It advertises itself as combining the constraint solver from SolveSpace with a OpenCASCADE geometry kernel supporting fillets and chamfers. :) Haven't used it much apart from some minor tests (I tend to prefer MoI3D, but that's in a different category in several ways...), but as far as FOSS solid modelers it seems like the most promising to me. I do remember some small UI quirks, b", "context": "", "use_case": "", "switched_from": "", "story": "FreeCAD is an open-source parametric 3D modeler"}, {"id": 748594064, "item_id": 46787129, "url": "https://news.ycombinator.com/item?id=46787129", "by": "nicr_22", "date": "2026-01-27", "version": null, "stance": "recommend", "quote": "OpenCASCADE?", "excerpt": "OpenCASCADE? https://dev.opencascade.org/", "context": "", "use_case": "", "switched_from": "", "story": "Parametric CAD in Rust"}, {"id": 747134226, "item_id": 46695889, "url": "https://news.ycombinator.com/item?id=46695889", "by": "tonio67", "date": "2026-01-20", "version": null, "stance": "neutral", "quote": "OpenCascade (WASM Worker) for B-Rep export", "excerpt": "Hi HN - I\u2019m building WebCad, a browser-based CAD tool where you can generate a 3D part with AI, tweak it in the browser, and export a STEP (.stp) that works in SolidWorks / Fusion 360 / Inventor, etc. Why I built it: CAD installs/licensing/lab computers are friction. I wanted something that works on any laptop (or school computer) instantly. What it does today: Runs entirely in the browser (no installs) Uses Manifold", "context": "", "use_case": "", "switched_from": "", "story": null}, {"id": 736546561, "item_id": 46034160, "url": "https://news.ycombinator.com/item?id=46034160", "by": "exasperaited", "date": "2025-11-24", "version": null, "stance": "warn", "quote": "OpenCascade doesn't maintain any naming across its interfaces at all", "excerpt": "TNP essentially cannot be definitively solved, as I understand it. Only extensively mitigated. Other CAD packages still have TNP issues. FreeCAD had an additional problem that OpenCascade doesn't maintain any naming across its interfaces at all, which is what RealThunder's geometry naming scheme, that mainline FreeCAD now uses, largely solved. But his fork still has issues too. Is DynamicData still properly supported", "context": "", "use_case": "", "switched_from": "", "story": "\u00b5cad: New open source programming language that can generate 2D sketches and 3D"}, {"id": 736029185, "item_id": 46001824, "url": "https://news.ycombinator.com/item?id=46001824", "by": "fsloth", "date": "2025-11-20", "version": null, "stance": "recommend", "quote": "then definetly use OpenCASCADE", "excerpt": "I think the first question to tackle is _to whom_ is the program targeted at. Who is the expert user? What are they building? What are the upstream and downstream application? See, this is why this area is hard from software pov. It _looks_ like well specified engineering space - something like a network protocol - but actually what you have the engineering happens _in the engineers heads_ and in the organizations th", "context": "", "use_case": "STEP file export", "switched_from": "", "story": "Blender 5.0"}, {"id": 736011538, "item_id": 46000721, "url": "https://news.ycombinator.com/item?id=46000721", "by": "nirv", "date": "2025-11-20", "version": null, "stance": "compare", "quote": "improve on existing ones (OpenCASCADE?)", "excerpt": "I see your point about the scope, which is why I led with \"framework\" as a fallback in my question. With that in mind, I'd be interested to hear your thoughts on what a practical FOSS implementation of such a framework might look like. Or at least a FOSS alternative to Fusion 360. Would you use ready-made geometric kernels, improve on existing ones (OpenCASCADE?), or start from scratch? Would you adapt to existing st", "context": "", "use_case": "", "switched_from": "", "story": "Blender 5.0"}]}