Quaoar, thank you!

Jonathan

CAD community veteran
I stumbled upon this treasure mine of a website today

and I found

after browsing for a bit.. totally unrelated to what I was looking for but as a CNC programmer, creating a stock model for a turned part is very important.

I had been wondering for a long time how one would approach this problem, low and behold I would learn this from you, Quaoar!
thank you again.

I was actually looking for a good approach to create snap points like a mid point, or the center of a circle.
 

Quaoar

Administrator
Staff member
@Jonathan You're very welcome. I'm glad that someone reads these notes. Are you trying to generate toolpaths right now or something like that?
 

Jonathan

CAD community veteran
@Quaoar , well .. everything always gets more complicated haha!

I want to generate some probing programs for my 5 axis sinker..
I think I can generate the tool path fine for that but I wanted it to be created by some 'operation' that I could go back and modify, say I want to change the probing cycle or the tool used..

So after a bit of searching I found the TFunctions and then I had to learn how that worked, it still a bit obscure but I think I've got it.. now I have to go back and redo a good bit of what I did so it works with that .. not knowing anything means I make a lot of mistakes and I have to redo a lot of things ..

Then I will have to come up with some post processor, that sounds like pretty difficult stuff hehe.

The way I set this up is I created a 'OperationTool' if you will, like shapetool and colortool, etc.. to manage the label at the 'operation' level..
same thing I did for the tools, I created a IToolList.

do you have any reference I could use for tool path creation and nc post-processor?

for the post I was thinking of an 'event' based post.. by that I mean, for example if it needs to know how to make a linear move, it would look in the post-file for [LINEMOVE] and then process the code below.. if it's looking for how to turn on the coolant it would look for [COOLANTON], something like that..

that's how topsolid was setup and it was nice to write post for..

Gibbscam is totally different you basically have to interrogate the software to know where you are at and what you have to do, it's very annoying..

IF linemove?
{
IF coolon? { 'M8' }
}
ELSE IF circmove? {
IF coolon? { 'M8' }
}

it's a lot more redundant in the post and make create humongous posts.
 

Quaoar

Administrator
Staff member
So after a bit of searching I found the TFunctions and then I had to learn how that worked, it still a bit obscure but I think I've got it..
TFunctions are not easy to learn given the lack of documentation. I used them in one commercial project though and they worked reasonably well. Also, some Analysis Situs algorithms are based on TFunctions and I found them to be quite handy. As far as I know, Salome uses them as well, but the recently released "CAD Builder" does not seem to benefit from this conventional (to OCC) mechanism. That's largely a question of your preference. People tend to prefer implementing architectural things (like feature trees or dependency graphs) from scratch instead of trying to adopt someone else's vague tools, which never fit your needs perfectly well :)

The way I set this up is I created a 'OperationTool' if you will, like shapetool and colortool, etc.. to manage the label at the 'operation' level..
same thing I did for the tools, I created a IToolList.
It sounds like you're merging XDE documents with TFunctions. I've never done this sort of experiment, although I cannot guess why wouldn't that work. How is it going?

do you have any reference I could use for tool path creation and nc post-processor?
Well, OCC (the company) had some tools for toolpath creation but it was very domain-specific. E.g., an algorithm to build geodesic lines for fiber patch placement or ultrasonic inspection of parts for quality assessment. It was all very geometric in nature and very often customized to the needs of a specific client. I don't know, maybe @A-U has any better experience with toolpath generation? For me, it still sounds like a domain-specific problem to address once the customer's requirements are written down and discussed carefully. Do you have a reference in any commercial software, btw? Would that be GibbsCAM? To confess, I have little experience with CAM systems.
 

Jonathan

CAD community veteran
@Quaoar,
XDE and TFunction play well together.. well enough for me to make it 'work' .
I can imagine someone who know what they are doing would probably prefer make their on tool, but for me, it's easier to use the existing stuff.. I don't know enough to pretend being able to create something better.

The tool uses 2 TFunctions .. one to create the tool, one that generates the probe model..

I want to understand it better because I believe it would be a good tool to know if an operation got dirty from something else changing and needs recalculated.. like if you change the definition of the probe ball , an operation using that tool will most likely need recalculated.

there is a nail example on Open Cascade that I need to study more.. I understand the MustExecute and Execute part of it but they are using ::Arguments() and ::Results() I believe and I don't see where that falls in in the picture.. Today's project I guess !

The toolpath generation that I want to do, for now anyway, will be mostly manually moving the 'tool' around and gathering the information about where the tool has been , and how it got there.

Of course, down the road I would like to automate some of it.. perhaps optimization of the tool path.. but for that I have so much to learn.. Like stock model data.. I'll look through your blog, maybe I'll find some information on that.. you seem to have worked on manufacturing projects :)
Do you have a reference in any commercial software, btw? Would that be GibbsCAM? To confess, I have little experience with CAM systems.
I am not sure what you mean by that.. I did write multiple Gibbscam post, and TopSolid posts, but I do not have access to either source code.

I found out Hypermill is another product built with OpenCascade technology.. I really enjoy using Hypermill, it is a very powerful software.

Best regards,
probe and model.PNG
 

Quaoar

Administrator
Staff member
@Jonathan very interesting. I think TFunctions deserve some attention as they extend the passive OCAF storage with a sort of "trigger" functionality, like in a database. I used them to organize pre-/post-processing functionality in a CAE tool that was similar to Ansys Workbench. And they work nicely for parametric modeling as well.

Yep, I was involved in some projects related to CAM. Right now it's mostly all around feature recognition and DFM.
 

A-U

Active CAD practitioner
I don't know, maybe @A-U has any better experience with toolpath generation? For me, it still sounds like a domain-specific problem to address once the customer's requirements are written down and discussed carefully. Do you have a reference in any commercial software, btw? Would that be GibbsCAM? To confess, I have little experience with CAM systems.

I'm afraid I don't. It does sound like an interesting field though : ).
 
Top