Path Conversational Possible?

Here's the place for discussion related to CAM/CNC and the development of the Path module.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
SM93R
Posts: 3
Joined: Thu Jan 21, 2021 10:01 pm

Path Conversational Possible?

Post by SM93R »

I am wondering if it would be possible to adapt some of the path modules (specifically pocketing) for conversational use on controllers running linuxcnc or similar software?

More or less, instead of picking geometry representing a pocket in freecad, you would define a few basic parameters (pocket size and corner radius, depth, cutter diameter, feedrate/rpm, and distance from machine origin) on your cnc controller. These parameters are then fed into the TPG for solving (it may have to create geometry internally at this point, but I am not 100% sure what kind of object it requires).

Is this something that would be possible/not unreasonably difficult? As of right now I don't really know the inner workings of the path module, though it is something I would like to learn.
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Path Conversational Possible?

Post by GeneFC »

Are you familiar with NativeCAM as an add-on to LinuxCNC? Sounds very similar to what you want.

https://forum.linuxcnc.org/nativecam

Gene
SM93R
Posts: 3
Joined: Thu Jan 21, 2021 10:01 pm

Re: Path Conversational Possible?

Post by SM93R »

Gene,

I am somewhat familiar with native cam, I regularly use pathpilots conversational programming (which I believe is nativecam in a pathpilot wrapper, or at least very similar).

I want to take a look at adapting freecads path modules because they seem to be more developed than those in native cam. They are also fairly proven with more complex geometry. So If you wanted to work directly from an imported dxf, they might be better equipped to handle it. Whether or not its possible to make it work, I do not know.

One particular area of interest is the adaptive type pocketing. While not its intended purpose, I think that it would be excellent for a 2 axis bridgeport type cnc machine because you can cut the entire pocket in a single step (requiring only a pre drilled start hole instead of a helix entry), which is ideal when you do not have a cnc z axis.
User avatar
sliptonic
Veteran
Posts: 3459
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Path Conversational Possible?

Post by sliptonic »

The 'conversational CAM' I'm familiar with seems to presume a close communication between CAM logic and machine controller. To calculate a toolpath, the CAM needs information about the state of the machine that can't be known otherwise.

Also, they seem to be limited to glorified macros for basic pocketing, profiling drilling of simple shapes. Good for bolt-holes and stock prep.

Is this what you have in mind? If so, how to you plan to establish communication between Path and Linuxcnc? If not, can you describe better what you have in mind?
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Path Conversational Possible?

Post by GeneFC »

Another option might be to use the standard FreeCAD gcode output and insert a pause whenever you need to manually change the z-position. I presume this would only be for entering and exiting each pocket.

LinuxCNC does not really know what the machine is doing unless you have a feedback loop from an encoder or similar. The simple implementations do not know if the machine has actually moved or not. False z-moves in the g-code would just be ignored.

I have not tried this, so it may be crazy. Worth some thought at least.

Gene
SM93R
Posts: 3
Joined: Thu Jan 21, 2021 10:01 pm

Re: Path Conversational Possible?

Post by SM93R »

This is kind of how I would think it could work. The major benefits of doing it this way would be the ability to generate more advanced toolpaths (adaptive, zigzag, etc) conversationally and it would allow you to do much more complex shapes since you are now solving using geometry instead of purely theoretical offsets.

Image

I think that the changes described for the linux cnc side I could do on my own with time. What I am unsure of is the path side of things, from what I could find there is not a lot of information published on how it works.

For reference, I also snapped a few pictures of programming conversational right on the machine.

Image

Image

Image
User avatar
shadowbane1000
Posts: 10
Joined: Wed Jan 20, 2021 10:45 pm

Re: Path Conversational Possible?

Post by shadowbane1000 »

Axis for Linux CNC supports (used to a few years ago anyway) loading a python file directly instead of a gcode file. It expects the py file to be executed and output gcode. I have used that before for conversational stuff (just a little script I hacked together for something). It can display a gui and take input before generating gcode. It was very simple to use, and for basic stuff, you don't need much of a UI. Just a few text fields to control what the script outputs. I used TK to prompt the user for the few values it needed.

Might be more applicable than trying to repurpose code deisgned to access a CAD model.
Cincinnati Lamb VCNC 500 3 axis w/Fanuc 21i-MB 11hp
MightyMouse DIY 3 axis w/LinuxCNC 2hp
Post Reply