Hello!

Jonathan

CAD community veteran
Greetings,

my name is Jonathan and I am working on a specialized CAM for EDM sinker!

I am new to opencascade and C++ (mfc) so it's a lot of fun.

I found Quaoar's tutorial and loved his approach and teaching so I signed up for this forum.

Thanks!
 

Quaoar

Administrator
Staff member
EDM is a new topic to me. @Jonathan, how far are you with this development already? Are you going to generate NC code for the machine or how do you see the final result? Any automatic feature recognition down the road? Just curious.
 

Jonathan

CAD community veteran
Quaoar,

I have developed a first version on top of Blender, the visual aspect of the software was very easy but, I found that having to deal with the whole blender interface would make it more difficult for other users to learn. Some features were very difficult (for me anyway) to implement.. That version do post NC code.

For this project I want to be able to at least have multiple tool in a single document, generate nc code, be able to easily turn on machine cycles at specific location..

Down the road I also would like to be able verify collisions , part gouging, tool path optimization, electrode design, AI pathfinding.. There is a lot of opportunities for me to add features!

So, so far in the current project, I can load and save my models.. :)
I have a simple animation mechanism that supports linear and circular moves with A,B,C rotation (XYZ EULER) a tool class (I will probably have to redo, or at least redo how it is linked to the interface). Not a whole lot.. but it doesn't need a whole lot more to be usable so I am determined to continue.

I found a link to XDE, I think on this forum.. and it seems like that would be helpful for this project's purpose. I have so much to learn, between c++, opencascade, good programming practices, etc.

sincerely,

Jonathan
 

Quaoar

Administrator
Staff member
@Jonathan That sounds ambitious, good luck with that and feel free to share your (even negative) experiences. I can guess how hard it is to develop such a system from scratch. As for the XDE, this thing is mostly intended for working with CAD assemblies, although it can also be used as a metadata holder for parts (e.g., to associate colors or PMI). Quite a useful thing if you know how to work with it (and that's often the obstacle).

Apart from the complicated UI, how good is Blender for the CAD things? Would you recommend it as a sort of a generic CAD "platform"? Which things do you think are missing there?
 

Jonathan

CAD community veteran
@Quaoar blender was only used for animation and NC code.. I do the cad part in Creo.
the animation worked flawlessly obviously because blender is an animation software..

I think blender is perfect for animation, art, etc.. but it does not support any type of brep or other accurate model representation

So far I love the openCascade framework. I have so much to learn but it's working OK, small steps.

I think XDE will work if I can manage to store/retrieve my tool assembly and in the document.. that's this weekend's project
 

Quaoar

Administrator
Staff member
You can start from exporting your assembly to a STEP file from Creo and reading it back into an XDE document. It's not seamless in the sense that you'll have this extra STEP file in between, but for the proof of concept it might be ok. Then your tool might be appended to the document. OCC was also developing some support for kinematics in the STEP format but this is unlikely going to be released in open source.
 

Jonathan

CAD community veteran
@Quaoar ,

No it won't be as seamless as it could be. Ultimately if I could design the electrode in the same software.

Creo is such a powerful software, the modeling capabilities are beyond what I could dream of implementing in opencascade.

I think I can export only the tool part and build the assembly in my software (electrode, and various holders..)

would it be possible to store my tool data under 0:10 or 0:100?
0:10:0
0:10:1 - id
0:10:2 - TopoDS_Shape
0:10:3...
?
 

Quaoar

Administrator
Staff member
I will try to find a project I can start contributing to.
I did not want to discourage you! OCC will gladly consume your contributions, and there are tons of things to fix in the library. Then, there are features that do not exist and can be added to OpenCascade. So there's definitely huge space for contributions, although I know that folks do not like contributing to OpenCascade because of the CLA they ask you to sign.
 

Jonathan

CAD community veteran
I did not want to discourage you! OCC will gladly consume your contributions, and there are tons of things to fix in the library. Then, there are features that do not exist and can be added to OpenCascade. So there's definitely huge space for contributions, although I know that folks do not like contributing to OpenCascade because of the CLA they ask you to sign.
You didn't discourage me, quite the opposite. You did make me realize that is it beyond my current abilities!
Would you like to join https://gitlab.com/ssv/AnalysisSitus project?! I believe there tons of things are waiting for such enthusiastic hands :)
Yes! If you have some simple things to get me started, I'd be happy to give it my best try.
 

Quaoar

Administrator
Staff member
Yes! If you have some simple things to get me started, I'd be happy to give it my best try.
It might be reasonable for you to pick up something for the CAM system you're developing and what you feel could be open-sourced as well. Here you mentioned collision detection, for example. Likely, there are many other topics you wanna touch, and it's completely up to you to decide on that. We could probably move this discussion to the topic devoted to your CAM system and continue there.
 

Jonathan

CAD community veteran
It might be reasonable for you to pick up something for the CAM system you're developing and what you feel could be open-sourced as well. Here you mentioned collision detection, for example. Likely, there are many other topics you wanna touch, and it's completely up to you to decide on that. We could probably move this discussion to the topic devoted to your CAM system and continue there.
Yes this can be moved.
I am not quite at the point where I can ready to do collision detection.. there are many more feature I will need first, like the ability to generate machine code, hehe.

but, yes, please move, or delete my comments regarding contributing.

Best regards,
 

Quaoar

Administrator
Staff member
@Jonathan Let's continue here. So if you have a CAD subject in the scope of your CAM system that is worth publishing in open source, you can consider contributing it to Analysis Situs. I can provide all necessary mentoring if you wish.
 

Jonathan

CAD community veteran
@Jonathan Let's continue here. So if you have a CAD subject in the scope of your CAM system that is worth publishing in open source, you can consider contributing it to Analysis Situs. I can provide all necessary mentoring if you wish.
Thank you, it is greatly appreciated.

I will keep this in mind for sure.
 

DanB

CAD community veteran
@Jonathan It's really amusing to read your post because my story is really similar to yours. I started a project in June where I prototyped a non-planar-ish based slicer in Blender, then went on to use PythonOCC. But I was always struggling with performance something I suspected was due to Python being slow. Anyways, I did this as an intern in a company this summer and the company loved it, so they hired me to make this something similar as a real working software. So now I'm making a kind of CAM type of software using OCCT and C++. Oh man, I've been sleepless some nights working on this, and I've close to telling my managers that I can't do this. But I have stuck it out - and so far it works. Don't give up:)
 

Jonathan

CAD community veteran
@Jonathan It's really amusing to read your post because my story is really similar to yours. I started a project in June where I prototyped a non-planar-ish based slicer in Blender, then went on to use PythonOCC. But I was always struggling with performance something I suspected was due to Python being slow. Anyways, I did this as an intern in a company this summer and the company loved it, so they hired me to make this something similar as a real working software. So now I'm making a kind of CAM type of software using OCCT and C++. Oh man, I've been sleepless some nights working on this, and I've close to telling my managers that I can't do this. But I have stuck it out - and so far it works. Don't give up:)
I hope I will somehow figure it out, this whole thing makes me feel so dumb. but I keep going because eventually I make something work and it's really encouraging and then I struggle a lot lol. I am glad I found this forum, I know there are a lot of very smart people here!

what kind of cam are you working on?
 
Top