No underspeed with temporary material

More
15 Sep 2025 13:09 #335018 by alangibson
No underspeed with temporary material was created by alangibson
Hi all,

I'm adding a hole underspeed feature to MetalHeadCAM . After setting a temporary material, velocity reduction with M67 doesn't change the velocity shown in the QtPlasmaC interface. It stays at 1700 mm/min the whole time.

I'd appreciate it someone can spot my error. Thanks in advance.
(Generated by MetalHead CAM for LinuxCNC QtPlasmaC)
(2025-09-15T11:29:55.159Z)
G21 (Set units to millimeters)
G40 (Cutter compensation off)
G49 (Tool length offset cancel)
G64 P0.1 (Path blending tolerance)
G80 (Cancel canned cycles)
G90 (Absolute positioning)
G92.1 (Cancel coordinate system offsets)
G94 (Feed per minute mode)
G97 (Constant surface speed off)
M52 P1 (Enable paused motion for adaptive feed control)
M68 E3 Q0 (Set velocity to 100%)
F#<_hal[plasmac.cut-feed-rate]> (Use material feed rate from HAL)
(o=0, ph=1.5, pd=0.1, ch=0.5, fr=1700)
(Path 1)
G0 Z10 (Move to safe height)
G0 X15.2 Y11.5 (Move to path start)
G0 Z1.5 (Move to pierce height)
M3 $0 S1 (Plasma torch on)
G4 P0.1 (Pierce delay)
G1 Z0.5 (Move to cut height)
M67 E3 Q60 (Reduce velocity to 60% for hole cutting)
(Native circle full arc)
G3 X15.2 Y11.5 I-3.7 J0 (Full circle counterclockwise)
M67 E3 Q0 (Reset velocity to 100%)
M5 $0 (Plasma torch off)
G0 Z10 (Retract to safe height)
G0 X0 Y0 (Return to home)
M2 (Program end)

Please Log in or Create an account to join the conversation.

More
16 Sep 2025 01:26 - 16 Sep 2025 01:26 #335049 by snowgoer540
Replied by snowgoer540 on topic No underspeed with temporary material
What version are you on? There were issues with adaptive feed that have been resolved.  A simple update may fix your problem.
Last edit: 16 Sep 2025 01:26 by snowgoer540.

Please Log in or Create an account to join the conversation.

More
22 Sep 2025 09:19 #335273 by alangibson
Replied by alangibson on topic No underspeed with temporary material
I'm on 2.9.3. I'll update and see what I get.

Please Log in or Create an account to join the conversation.

More
22 Sep 2025 23:02 #335309 by snowgoer540
Replied by snowgoer540 on topic No underspeed with temporary material
That is not really helpful, need to know the QtPlasmaC version in the window's header.

For what it's worth, I ran your G-Code on v2.10-009.071, it runs fine.

I added a feature in 2.10 that changes the "VEL:" label to show when a reduction is present. In this case, the line read "VEL@60%: 1020"

Please Log in or Create an account to join the conversation.

More
23 Sep 2025 11:38 #335320 by alangibson
Replied by alangibson on topic No underspeed with temporary material
I just checked and I was actually on LinuxCNC 2.9.4. QtPlasmaC version is v2.9-238.315. Is that version effected by the bug you mentioned? I'm going to assume so since the gcode works for you.

I've also just deployed a new version of MetalHeadCAM to metalheadcam.alan-gibson.workers.dev/. I'd really appreciate your feedback on it as I'm specifically targeting QtPlasmaC.

The basic workflow is:
- Click the hamburger menu and then Tools so you can add your tool parameters
- Import a DXF file on the Import stage
- Skip the Edit stage for now as it doesn't do much yet
- Click the topmost Apply button on the Prepare stage
- Add operations to parts and shape chains on the Program stage, making sure to select what you want to cut in the Apply To dropdown.
- Simulate the program on the Simulate stage or just skip it
- Download gcode on the Export stage

Please Log in or Create an account to join the conversation.

More
24 Sep 2025 01:43 #335349 by snowgoer540
Replied by snowgoer540 on topic No underspeed with temporary material
It should be fixed in that version:

forum.linuxcnc.org/plasmac/53657-holes-3...iour?start=20#308841

But probably you should try updating.

I will try to make some time to have a play with your CAM code.

Please Log in or Create an account to join the conversation.

More
24 Sep 2025 11:44 #335361 by alangibson
Replied by alangibson on topic No underspeed with temporary material
I've just put up a YouTube video with a quick demo:

Please Log in or Create an account to join the conversation.

More
24 Sep 2025 23:36 #335389 by snowgoer540
Replied by snowgoer540 on topic No underspeed with temporary material
You should be careful what you wish for, I'm known for breaking software and finding bugs in these parts :) It's kind of how I got my start into the LinuxCNC project.  Phill probably still has nightmares haha but maybe I made up for it in the later years. 

Feedback:

1.  I'm not keen on the idea of uploading my dxf files to a random website (no offense intended).  Probably has to do with my line of work for my day job, but even still I can imagine there would be customers that would be upset about that if they consider their work proprietary or NDA, etc. (dead horse beat).  That said, I can see the convenience aspect as well.  Nothing to install, just internet connection.  I still prefer local software.  Don't worry I have plenty of benign dxfs to upload.  

2.  There are two types of countries:  Those who use the metric system, and those who have been to the moon (I know, I know, you guys are right, the metric system is easier, but I still prefer the dinosaur units over here).  So the attached dxf file is one that I exported in imperial units.  I am not sure what your software made of it, but it doesn't seem right since the size in the bottom says 46.59mm x 9.37mm.  I'm fairly certain it's 46.69in x 9.37in.  Seems like you have at least some plan to handle units as the lead in/out section says "units".

3.  The zoom is a bit wonky.  The movement is very small with my mouse wheel.  It "feels" like when you get zoomed too far in in CAD and the mouse wheel is less effective.

4.  In the Prepare section, the "Apply" buttons are a little confusing to me.  It seems intended to just click the top most apply, but the other ones (except detect chains) seem to do nothing, and then 3 of them are greyed out? 

5.  In Program, it wasn't immediately apparent to me where I go to add a tool.  Of course these are all in the metric system, but I accepted the defaults to have a play.  The kerf was hilariously large so I went back and made it smaller, but it still seemed ... off.  

6.  In tools, I am not sure a rapid speed is necessary.  Normally these would just be G0 which dont require a speed since it's driven by the machine's settings.  

7.  It's nice that I can add an operation by part.  But it would also be nice to have a "select all" option.

8.  I am not sure what "fit" does next to the lead in/out length?  The default was 5 units which is hilariously large, and checking or unchecking "fit" seems to have no effect.  That said, when I change it to something reasonable (.25), then fit does seem to keep the arc length within the kerf width...

 

9.  It seems to have put the leadin on the wrong side for some of the parts (the ones with an inner "circle").

 

10.  You can also see from the pictures above that it choked on the splines around the outside of the part.  When I simulated this, it moved at an incredible speed around these sections (again I attached the file so you could have a play).  

11.  I am a bit unsure between the Kerf Compensation of Outside, Inside, and Part.  This doesn't seem to be strictly necessary?  Wouldn't the kerf always be toward the scrap (or away from the part)?

12. When I clicked export it says "No paths available. Please create operations first.", but it just let me simulate it?

13. Some maybe helpful notes about cutter compensation: linuxcnc.org/docs/devel/html/plasma/qtpl...:cutter-compensation

I am not sure when you'd actually want to use cutter comp, I've always just relied on the CAM to offset the paths for me, and therefore it renders cutter comp unnecessary.

I think that's enough for one my first go at it haha. Hopefully that doesn't feel like I'm beating you up. Seems like you are working toward a good thing.

I am unsure what all of your goals are for the project, but if you need inspiration, SheetCAM is a pretty good software to try and emulate. I cant think of much I would want to do that it does not. It's nice to have free options for sure!








 
Attachments:

Please Log in or Create an account to join the conversation.

More
16 Oct 2025 20:21 #336568 by alangibson
Replied by alangibson on topic No underspeed with temporary material
Thanks for the long reply. I've been doing this long enough to know that that a good bug hunter is worth their weight in gold.

> I am not sure when you'd actually want to use cutter comp, I've always just relied on the CAM to offset the paths for me

I don't fully understand what you mean there since in this scenario MetalHeadCAM is the CAM. Do you mean that you normally offset it in CAD? Or that you use G40/41/42 in gcode? FYI, support for LinuxCNC's native offsetting via G40/41/42 will probably come in the next release.

I added offsets for a few reasons. 1) visualize the actual cut path 2) possible future support for controllers that don't have G40/41/42 3) eventually support true arc and NURBS offset paths since LinuxCNC G40... only does lines.

> I am unsure what all of your goals are for the project, but if you need inspiration, SheetCAM is a pretty good software to try and emulate. I cant think of much I would want to do that it does not. It's nice to have free options for sure!

I currently use SheetCAM. It's great, but I don't love the interface. I also think that $279 is too much for most hobbyists. I'm also an open source maximalist so it will forever bother me that I have a closed program in my workflow.

The rest I'll reply to in order:

1. I'm going to add some sort of documentation to the landing page on this. You're not actually uploading anything. MetalHeadCAM runs as a Javascript app in your browser. There's literally no backend to upload to; it's just HTML and Javascript delivered via a CDN. At some point I'm going to make it available for download as a fat HTML page so that you can run the whole thing offline.

2. I've just deployed a new version that has first-class Imperial support. At first I wasn't sure if I should stop with the Norman conquest, or add cubits too. Go to the hamburger menu > Settings > Reset Application before trying it again because you'll need to wipe out the old metric-only state.

3. I need to scale zoom factor based on size. That's on the TODO list.

4. Edit and Prepare stages are gone now.

5. Tools are in hamburger menu > Tools. I need to get rid of the hamburger menu as that is really a mobile thing.

6. Rapid speed is in Simulation now.

7. There's now a Select All button.

8. Fit is gone. That was an experiment.

9. Should be fixed. Normals calculation needed improvement.

10. Should be fixed. There was a bug in spline tesselation.

11. This one is admittedly confusing. Default is Part because it implements "the kerf always be toward the scrap (or away from the part)?". Allowing the user to set Inside and Outside is just my way of avoiding making a hasty assumption.

12. Not sure what was up with that. I can't reproduce it.

13. Acknowledged.

Please Log in or Create an account to join the conversation.

More
17 Oct 2025 15:23 #336602 by snowgoer540
Replied by snowgoer540 on topic No underspeed with temporary material

Thanks for the long reply. I've been doing this long enough to know that that a good bug hunter is worth their weight in gold.


I like to think so haha

> I am not sure when you'd actually want to use cutter comp, I've always just relied on the CAM to offset the paths for me

I don't fully understand what you mean there since in this scenario MetalHeadCAM is the CAM. Do you mean that you normally offset it in CAD? Or that you use G40/41/42 in gcode? FYI, support for LinuxCNC's native offsetting via G40/41/42 will probably come in the next release.

I added offsets for a few reasons. 1) visualize the actual cut path 2) possible future support for controllers that don't have G40/41/42 3) eventually support true arc and NURBS offset paths since LinuxCNC G40... only does lines.


I think we are talking past each other a bit.

I am saying that your CAM software should drive the offset, by producing a G-Code path that is offset inside or outside depending on the feature by the kerf amount. It should not rely on using G40/41/42 in the G-Code output.

The reason to not use it specifically with LinuxCNC is as follows (quoted from the manual)
Important
IF CUTTER COMPENSATION IS IN EFFECT G-CODE THC, VELOCITY BASED THC AND OVER CUT ARE NOT ABLE TO BE USED; AN ERROR MESSAGE WILL BE DISPLAYED.

> I am unsure what all of your goals are for the project, but if you need inspiration, SheetCAM is a pretty good software to try and emulate. I cant think of much I would want to do that it does not. It's nice to have free options for sure!

I currently use SheetCAM. It's great, but I don't love the interface. I also think that $279 is too much for most hobbyists. I'm also an open source maximalist so it will forever bother me that I have a closed program in my workflow.


I missed when SheetCAM became so expensive. I agree, that's too much for hobbyists. I swear when I bought it it was $79, and not $279! But I am still on version 7.

The rest I'll reply to in order:

1. I'm going to add some sort of documentation to the landing page on this. You're not actually uploading anything. MetalHeadCAM runs as a Javascript app in your browser. There's literally no backend to upload to; it's just HTML and Javascript delivered via a CDN. At some point I'm going to make it available for download as a fat HTML page so that you can run the whole thing offline.


Understood.

2. I've just deployed a new version that has first-class Imperial support. At first I wasn't sure if I should stop with the Norman conquest, or add cubits too. Go to the hamburger menu > Settings > Reset Application before trying it again because you'll need to wipe out the old metric-only state.


Good news, I will try to make time over the weekend to retest!

3. I need to scale zoom factor based on size. That's on the TODO list.

4. Edit and Prepare stages are gone now.

5. Tools are in hamburger menu > Tools. I need to get rid of the hamburger menu as that is really a mobile thing.

6. Rapid speed is in Simulation now.

7. There's now a Select All button.

8. Fit is gone. That was an experiment.

9. Should be fixed. Normals calculation needed improvement.

10. Should be fixed. There was a bug in spline tesselation.

11. This one is admittedly confusing. Default is Part because it implements "the kerf always be toward the scrap (or away from the part)?". Allowing the user to set Inside and Outside is just my way of avoiding making a hasty assumption.


Acknowledged on all of these, looking forward to giving it a go. It's nice to have CAM options.

12. Not sure what was up with that. I can't reproduce it.


If I see it again, I will try to find exact steps to reproduce. I know how valuable that is to squishing bugs.

Great work overall. Will report back after I've had another play.

Please Log in or Create an account to join the conversation.

Moderators: snowgoer540
Time to create page: 0.557 seconds
Powered by Kunena Forum