5 ms·
Not trying to discourage you, but a reliable geometric kernel takes around a decade of work to develop, for a team of PhDs. Based on the docs, you've only impl
by meindnoch 4y ago
Not trying to discourage you, but a reliable geometric kernel takes around a decade of work to develop, for a team of PhDs.
Based on the docs, you've only implemented some very basic topological operations (and rendering, for some reason). The hard part is going to be implementing the rest: boolean operations, offset surfaces, lofted surfaces, blended surfaces, etc. and then there's the problem of version control / edit history. Efficiently and accurately implementing each of these can be a year-long research project in itself... You need a solid understanding of 3D topology, numerical methods, 3D differential geometry, etc.
Nevertheless, I wish you luck! I will check back in a year or so.
- gjsman-1000 4y agoI absolutely wish the same... I am just not hoping for anything anytime soon, and that's OK. It's like asking a person to swallow a whale. Theoretically possible but it will take a while. It's also tricky to implement a kernel in a good, modular, well-designed manner. Take a look at OpenCASCADE, the kernel used by FreeCAD. And holding back FreeCAD. It's been in development for 24 years and it hasn't hit anywhere close to Parasolid yet.
- fallat 4y agoIt could very well be a company in disguise writing this (or the author being paid to work on it full time but we're not aware of the company behind it, because they will be doing offerings later based on it). But yeah, 100% this. Anyone familiar with the space knows these programs are massively complex and require years of work and knowledge - at least the polygonal approach :) Implicit surfaces / f-rep on the other hand... <3 Edit: Durr: 株式会社RICOS / RICOS Co. Ltd.
- gjsman-1000 4y agoI think there would absolutely be a market for a CAD program that was made specifically, and only for, hobbyists. Same for CAM. Right now... almost all CAD programs are designed for professionals, and the hobbyist versions are just cut-down professional CAD programs. The biggest exception I see is SketchUp, which has a very simple and direct way of drawing directly on objects, and it's very easy to pick up, but it has no understanding of solids, parametric measurements, assemblies, or any of that. And so SketchUp is super popular with woodworkers, home remodeling agencies, small businesses, all these people we wouldn't normally think of as "big professional CAD users" even if that means they lose out on some of the improvements that professional CAD packages have (especially because SketchUp really hasn't changed much in over a decade). A 3D solid parametric modeler with the ease of use of getting started with SketchUp. SketchUp with solids. I can dream.
- wheelie_boy 4y agoThe two best modelers I've seen for that kind of casual solid modeling are Plasticity https://www.plasticity.xyz https://www.plasticity.xyz and Moment of Inspiration http://moi3d.com http://moi3d.com Both are really focused on UX, and license a kernel
- gjsman-1000 4y agoI have seen MOI before, but it wasn't quite my thing though maybe I'll revisit it. Plasticity though is gorgeous, especially for a solo developer. Wow.
- wlesieutre 4y agoPrevious plasticity discussion https://news.ycombinator.com/item?id=30695360 https://news.ycombinator.com/item?id=30695360
- app4soft 4y ago> Plasticity really focused on UX, and license a kernel Its good that author of Plasticity (@nkalen on HN) had finally switched[0] to use Parasolid (and abandoned previous plans to use Russian C3D kernel) after Russia started full scale invasion of Ukraine in 2022[1]... in eight years since Russia invaded Ukraine in 2014.[2] N.B. https://en.wikipedia.org/wiki/Russo-Ukrainian_War https://en.wikipedia.org/wiki/Russo-Ukrainian_War [0] https://news.ycombinator.com/item?id=30696305 https://news.ycombinator.com/item?id=30696305 [1] https://twitter.com/nk/status/441096177933905920 https://twitter.com/nk/status/441096177933905920 [2] https://twitter.com/nk/status/1507672831559151620 https://twitter.com/nk/status/1507672831559151620
- samwillis 4y ago> CAD program that was made specifically, and only for, hobbyists. I see "hobbyists" as "prosumers", they want the same tools the professional use. Take a look at photography or wood working for example, people are spend thousands on professional level tools. I don't believe there is a market for hobbyist only cad software, that would be like making a camera that is only useful for hobbyist photographers. If it's good enough for a hobbyist it's good for a professional. CAD for casual users, and true amateurs? Yes there is a market for that.
- wheelie_boy 4y agoYeah, on the big kernels the time just getting filleting working robustly can be measured in developer-careers. The core problem isn't memory safety, it's due to difficulties with the mathematical foundation of NURBS surfaces. For example, the intersection of two NURBS surfaces can't be exactly represented by a NURBS curve.
- amelius 4y agoWhat are the requirements of a CAD kernel?
- fallat 4y agoBetter get cozy because the explanation is probably a few weeks worth of discussion.
- fsloth 4y agoSee for example Ian Stroud ”Boundary Representation Modelling Techniques” for a light introduction. The OpenCascade project is a fairly complete example of a complete one. But there is no ”by the book” way to do it - it requires both design and engineering savvy. The simple explanation is the capability to model 3D shapes in a way that you can output the data to the rest of the manufacturing process. Hence what manifacturing process you target at least partially dictates your constraints. The output could be - engineering drawings, CNC machines, 3D printers. Or another 3D modeling application down the pipeline. In a way ”CAD kernel” alone is a worthless as a spec since it’s too general, just like ”a vehicle” is a useless spec for engineering. CAD kernel- for modeling what, by whom, and where. Naturally questions of numerical robustness and exactness of presentation soon enter the picture. How large or precise features do you need to model, for example.
- phkahler 4y agoIn solvespace such curves are represented by handles to the two intersecting surfaces and a series of points along the curve. This is an exact representation (you can compute as many additional points on the curve as needed) but it's not analytic by any means. Exact NURBS curves are used when possible too.
- phkahler 4y agoAs a small example of the complexity see this issue: https://github.com/ricosjp/truck/issues/5 https://github.com/ricosjp/truck/issues/5 The last comment in that thread is me pointing to a related discussion about a bug in solvespace. Someone tried to cut a cone shape out of a flat surface and the boolean failed because of the degenerate normal at the vertex of the cone. It was days of discussion to select which few lines of code would be best to fix it. BTW the solvespace NURBS kernel is under 10kloc and is fairly simple for what it's capable of. The bugs can be crazy to track down and require a deep understanding of what's going on in the code and geometry, but oh so rewarding to fix if that's your kind of puzzle.