Creating threads without helixes

I’m not sure what the final price will be of course, but with the entire team being me, myself, and I, there are no plans for maintenance fees nor a high price. I also don’t have the patience nor desire to build a whole online authentication system. It’ll all run locally, but maybe at install it’ll check a keycode and that’s all. Free for students, a price for hobbyist, and a price with a seat limit for shops. I’m just gonna go on an honor system, at least that’s the plan. If it’s worth it for you as a shop I expect you to pay for what you need/get. If you’re just a hobbyist doing things for fun like 3d printing around the house, get the free one. If you’re a YouTuber, pay for the hobbyist. The app will show what your license is so it’ll be obvious enough. For Sim and eventually CAM there’ll be separate pricing because of the complexity of those features. I’ve researched into the CAM and it’s incredibly complex, but more so because of all the hardware options and limits. I might have a small fee for CAM, but it will include the API for anyone to implement their machine if they choose. Hope is we can build it and expand it more as a community, I’m just making the foundation which is 90% of the work.

For those who care, I’m currently working on the Persistent Naming and Diagnostics Engine. My take on the Topological Naming Problem. Big task atm, but it’ll be good once complete.

One big thing is a Tool Manager. You can overwrite default tools if necessary and add custom tools which can be shared. I’ve learned there are tools in Solidworks I wish existed in Fusion, and tools in AutoCAD I wish existed in Fusion too. No reason I shouldn’t be able to write my own tools with the software I own right?

I can’t be the only one supporting this, so it’ll be open to a point. Maybe I’ll gather a real team if it grows. IDK. It’s all in the early stages. No plans for maintenance cost. Maybe a fee for going from 1.0->2.0, but it’d have to be a big jump in features for me to justify anything.

TLDR, I’m just one guy who’s choosing to trust engineers to pay what’s fair and also help build the system over time. The cost for the program is to get into the system, which will be built over time by more and more people who are allowed to choose to share their solutions with everyone. Users are given tools to build the system to their needs.

If you need testers in the future. :wink:

I would be interested in testing what you are building. I’ve been doing extensive CAD research, so I am trying to keep up with what’s happening in the industry.

I’d be interested to see how you handle things like curve intersections and filleting, for instance, for instance a fillet where two cones intersect.

How is your project different form OpenCascade or FreeCad?

I was originally just building it for myself so I don’t have to deal with Fusion shenanigans after learning what I can do. Differences are mainly better sketching tools like what AutoCAD has, a command line for faster tool activation, 3d annotations for notes and geometry constraints, and a better render pipeline to make it snappy. Input → Geometry → Render. I’m using Vulkan (MoltanVK on MacOS) for rendering the geometry. There’s also a theme panel for adjusting everything about the UI colors. Oh yeah there’s a Project system with a custom part naming scheme to help organize and build things out.

Currently working on topological naming that also has a diagnostic part. Referencing it as PNDE. It all correlates with sketch element ID’s, geometry ID’s, rebuilding the geometry after a change, and having it tie together with a history graph. Once PNDE is built I’m going through each tool and testing it as thoroughly as I can. I will need more people for testing once I’m at this point because I won’t be able to test everything myself and another pair of eyes and brain will help debug and improve it, so I’ll find a way to reach out and share it. Note that I have no plans for supporting Windows at this time, so a Mac with an M processor or Linux computer is necessary. I have it working on my PC with an AMD processor and GPU, but no tests on Intel or Nvidia yet. Should work fine but you never know.

I was taught on AutoCAD in my teens, and have always found it to be super fast compared to everything. I wanted to replicate that for myself and decided to share it eventually.

A cool thing about the Project system is I’m planning on having it generate a spread sheet of that project that will hold information such as Names, SKU, Material, and any other relevant information so a company’s inventory data base can import or update the spread sheet. If a part number or name changes in either software, the data base can export the change and the CAD program will read it and update the file. History can be maintained, and everyone can be up to date on changers. SKU is treated as true and the real reference.

It is built on the OCCT kernel, but as stated above I’m using Vulkan for the actual rendering. I was looking into making my own kernel but see no reason to at this time. It has all the tools I can imagine right now, but that doesn’t mean I’m locked into it. I can change it if need be.

I want to make it a point that this was planned for me alone in the beginning, and I have my own thoughts and quirks about how CAD programs should handle things.

Any other questions?

I hope it turns out to be a great tool… OCCT is a pretty MAJOR step down from a tool like Shapr3D. Its shortcomings are very well documented.

But also, writing your own CAD kernel is no joke. It is seriously hard. I’ve been trying it, and it’s definitely breaking my brain.

Could be wrong but Shapr3d at one point was on OpenCascade.

What would be nice is visual, video demo.

Every CAD forum I’m on everyone is making their own CAD program.

Educate me. What’s a major issue with OCCT vs Shapr, Fusion, NX, etc?

You seem to know what you’re talking about. Are you on other forums so we could talk more directly?

Not sure if you will find any of this interesting. But I can share what I’ve learned about the space.

NX, Shapr, Onshape (and many others) use the Parasolid kernel, a very strong commercial kernel. Fusion uses the ShapeManager kernel.

FreeCAD is probably the best implementation that uses OpenCASCADE as its kernel, although I think many of the core maintainers would love to switch off OCCT if there were anything better with the license they require.

As MarkSe mentions above, Shapr3D was originally built on OpenCASCADE before they realized they couldn’t achieve their goals and switched to Parasolid.

Several folks really know what they are doing in this space and spent years trying to build their own B-Rep-based kernel before giving up. Some of the best runs at it are open source in Rust on GitHub, but they’re far from a true general CAD.

Plasticity tried another kernel before also converting to Parasolid.

Some folks who really know what they are doing say creating a B-Rep/NURBS kernel on par with Parasolid is a monumental task and would probably take decades.

I’ve seen many folks working on their own kernel and/or AI models. The ones I am most interested in are the ones the founder of Shapr3D talks about and that are based on SDF (Signed Distance Fields) instead of B-Rep.

To learn more about all of this, I have been working on an SDF-based kernel, which makes a lot of things much easier but also makes other things harder. So in parallel, I have also been working on my own B-Rep kernel with zero dependencies in Rust. So I am starting to learn the complexity firsthand.

I’ve also been defining an alternative to the STEP standard called CGL (Common Geometry Language) that I am nearly ready to open source. It is very much based on STEP but solves some of the problems I have found with STEP; it is also based on JSON and defines storage formats that are based on ZIP and SQLite, which is basically how most CADs roll their own project structures anyway.

This is an example of “Cade” my SDF-based CAD, in action

This is an example of my CGL- B-Rep kernel in action. I would say it is a very strong viewer but it has a long way to go as an editor.

I could go on, but I think this is already too long and probably no one will read it anyway. This is the founder of Shapr3D and it is one of the best things I’ve seen about all of this. He really knows his stuff and I have massive respect for what he has done and what he is doing. I’ve probably watched this all the way through10 times now.

I love how you say that your quick look work was a “happy accident” when it is what all Apple OSs should have built in! Add materials and send it to Apple. How hard would it be for you to put this on the App Store or share the code so that we could use it?

I didn’t watch the interview, it’s too long for me to watch the whole way though lol, but why would a CAD program use SDF? I was looking into it and the explanations I find are that it builds a grid sample and it becomes to be too much data for a larger model, and doesn’t have the same exact geometry as B-Rep which is why a kernel like Parasolid is so popular, on top of it’s maturity.

What’s benefit of SDF over B-Rep?

CGL sounds interesting. I typically only deal with my fusion F3D files or exporting 3MF so I don’t really run into issues with STEP. Funny enough I was hoping to eventually open source the file type my CAD program is using. I have a lot of research to do before taking that on, but it’d be a while before doing that. Mainly to allow sharing the feature history tree and meta data. What can you share about CGL? Once my CAD program is running I’d like to look at CGL and maybe add it as a file type.

Here is demo for nTop SDF.

Brad is doing some good work over at nTop.