Override set_default_blending
- rodw
- Topic Author
- Away
- Platinum Member
Less
More
- Posts: 10711
- Thank you received: 3534
09 Jul 2024 04:37 #304723
by rodw
Replied by rodw on topic Override set_default_blending
I don't think that works. the G53 command requires G90 to be active and the G53 is issued before the cut starts with an M3
G91 needs to be active before any cutting motion starts.
So the sequence needs to be:
G90
G53
G91
M3
(cut)
M5
M30
Setting something at the end of the file won't achieve what we want as the G91 is not active when the next M3 is encountered.
Maybe I am not understanding something.
G91 needs to be active before any cutting motion starts.
So the sequence needs to be:
G90
G53
G91
M3
(cut)
M5
M30
Setting something at the end of the file won't achieve what we want as the G91 is not active when the next M3 is encountered.
Maybe I am not understanding something.
Please Log in or Create an account to join the conversation.
- phillc54
- Offline
- Platinum Member
Less
More
- Posts: 5697
- Thank you received: 2081
09 Jul 2024 04:46 #304724
by phillc54
Replied by phillc54 on topic Override set_default_blending
You are correct but the code does do that, here is the loaded file from 10mmcleats.ngc in your first post.
Warning: Spoiler!
%
G21
G53 G0 Z[[#<_ini[axis_z]max_limit> - 5.0] * 1.000] (Z just below max height)
G00X266.101Y132.076
(Seq 1 - p_61)
G91
G64 P0.1
F#<_hal[plasmac.cut-feed-rate]>
M03 $0
G01X1.765Y-8.825
G03I-1.618J8.09
G03X1.177Y1.765I-0.294J1.471
M05 $0
G00X-62.942Y7.06
F#<_hal[plasmac.cut-feed-rate]>
M03 $0
G01X1.765Y-8.825
G03I-1.618J8.09
G03X1.177Y1.765I-0.294J1.471
M05 $0
G00X-120.055Y-115.475
F#<_hal[plasmac.cut-feed-rate]>
M03 $0
G01Y5
G01Y62.55
G01X82.808
G01X6.79Y8.196
G01X-15.493Y81.804
G01X127.676
G01X15.466Y-81.605
G01X10.134Y-8.395
G01X12.669
G01Y-62.861
G01X-8.439Y-8.439
G01X-223.171
G01X-8.22Y8.219
G01X-1.061Y1.061
M05 $0
G00X16.321Y102.715
(Seq 2 - p_62)
F#<_hal[plasmac.cut-feed-rate]>
M03 $0
G01Y9
G03I0.J-8.25
G03X-1.5Y-1.5I0.J-1.5
M05 $0
G00X-58.607Y-6.524
F#<_hal[plasmac.cut-feed-rate]>
M03 $0
G01X-3.417Y7.234
G03I3.524J-7.46
G03X-0.715Y-1.997I0.641J-1.357
M05 $0
G00X2.323Y108.332
F#<_hal[plasmac.cut-feed-rate]>
M03 $0
G01X3.536Y3.535
G01X8.219Y8.22
G01X223.172
G01X8.439Y-8.439
G01Y-62.861
G01X-126.24
G01X-10.143Y-8.395
G01X-15.456Y-81.605
G01X-127.686
G01X17.334Y91.5
G01X22.141
G01Y61.05
G01Y1.5
M05 $0
G90
M30
%
;qtplasmac filtered G-code file
The following user(s) said Thank You: rodw
Please Log in or Create an account to join the conversation.
- rodw
- Topic Author
- Away
- Platinum Member
Less
More
- Posts: 10711
- Thank you received: 3534
09 Jul 2024 05:08 #304725
by rodw
Replied by rodw on topic Override set_default_blending
Thanks for clarifying. I'lll check it out when I get home tonight.
If a cut is terminated early (eg estop) won't it be left in G91 so the next run will fail?
If a cut is terminated early (eg estop) won't it be left in G91 so the next run will fail?
Please Log in or Create an account to join the conversation.
- phillc54
- Offline
- Platinum Member
Less
More
- Posts: 5697
- Thank you received: 2081
09 Jul 2024 05:09 #304726
by phillc54
Replied by phillc54 on topic Override set_default_blending
True that. Probably should force a G90 early on...If a cut is terminated early (eg estop) won't it be left in G91 so the next run will fail?
The following user(s) said Thank You: rodw
Please Log in or Create an account to join the conversation.
- phillc54
- Offline
- Platinum Member
Less
More
- Posts: 5697
- Thank you received: 2081
09 Jul 2024 05:20 - 09 Jul 2024 05:21 #304727
by phillc54
Replied by phillc54 on topic Override set_default_blending
This should be all you need:
Warning: Spoiler!
def custom_pre_parse(data):
if data[:3] in ['G20', 'G21']:
return(f'{data}\nG90')
elif data[:3] == 'M07':
return(f'\nF#<_hal[plasmac.cut-feed-rate]>\nM3 $0')
elif data[:3] == 'M08':
return(f'M5 $0\n')
elif data[:3] == 'M30':
return(f'G90\n{data}')
return(data)
self.custom_pre_parse = custom_pre_parse
[/spoiler]
Last edit: 09 Jul 2024 05:21 by phillc54.
The following user(s) said Thank You: rodw
Please Log in or Create an account to join the conversation.
- rodw
- Topic Author
- Away
- Platinum Member
Less
More
- Posts: 10711
- Thank you received: 3534
09 Jul 2024 05:32 #304728
by rodw
Replied by rodw on topic Override set_default_blending
Perfect, that would be an excellent example for the plasmac docs now you've written it!
It shows how to support a third party CAM without any changes to the post processor and it includes a few enhancements to the existing examples.
Plus its a real life example (for Hypertherm Nestmaster)
It shows how to support a third party CAM without any changes to the post processor and it includes a few enhancements to the existing examples.
Plus its a real life example (for Hypertherm Nestmaster)
Please Log in or Create an account to join the conversation.
- rodw
- Topic Author
- Away
- Platinum Member
Less
More
- Posts: 10711
- Thank you received: 3534
26 Aug 2024 12:14 #308693
by rodw
Replied by rodw on topic Override set_default_blending
As luck would have it now we get to running this on a real machine (and a sim) it fails.
It seems the G91 is being inserted too early. It should be inserted after the G53 so an error is not generated
I've attached the filter we worked out earlier and a new gcode file.
Any help to fix this would be appreciated.
It seems the G91 is being inserted too early. It should be inserted after the G53 so an error is not generated
I've attached the filter we worked out earlier and a new gcode file.
Any help to fix this would be appreciated.
Please Log in or Create an account to join the conversation.
- phillc54
- Offline
- Platinum Member
Less
More
- Posts: 5697
- Thank you received: 2081
27 Aug 2024 01:02 #308750
by phillc54
Replied by phillc54 on topic Override set_default_blending
It is looking a bit ugly but it seems to do what you need:
Warning: Spoiler!
# for custom parsing before standard parsing
# Suits Hypertherm Nestmaster
incSet = False
def custom_pre_parse(data):
global incSet
if data[:3] in ['G20', 'G21']:
return(f'{data}\nG90')
elif data[:3] == 'M07':
return(f'\nF#<_hal[plasmac.cut-feed-rate]>\nM3 $0')
elif data[:3] == 'M08':
return(f'M5 $0\n')
elif data[:3] == 'M30':
return(f'G90\n{data}')
elif data[:3] == 'G00' and not incSet:
incSet = True
return(f'G91\n{data}')
elif data[:3] == 'G91':
return None
return(data)
self.custom_pre_parse = custom_pre_parse
The following user(s) said Thank You: rodw
Please Log in or Create an account to join the conversation.
- rodw
- Topic Author
- Away
- Platinum Member
Less
More
- Posts: 10711
- Thank you received: 3534
27 Aug 2024 11:23 #308787
by rodw
Replied by rodw on topic Override set_default_blending
Thanks Phill, It seems to be working again. Hopefully it keeps working!
This complete config can be found here for those interested. github.com/rodw-au/showstopper
This complete config can be found here for those interested. github.com/rodw-au/showstopper
Please Log in or Create an account to join the conversation.
Moderators: snowgoer540
Time to create page: 0.094 seconds