Probe Basic in QTDragon
29 Dec 2022 18:55 #260508
by rudydp
Replied by rudydp on topic Probe Basic in QTDragon
The QTDRAGON documentation seems to be wrong in par. 12.1 . Looking at the ngc routines, XY_Clearance is the slow probe distance, while Step Off is a rapid move away from an edge.
The Z Clearance also seems to be a slow probe move, not rapid.
It seems that these two definitions should be swapped..
Talking about lcnc 2.8.4 ISO, not RIP.
The Z Clearance also seems to be a slow probe move, not rapid.
It seems that these two definitions should be swapped..
Talking about lcnc 2.8.4 ISO, not RIP.
The following user(s) said Thank You: cmorley
Please Log in or Create an account to join the conversation.
29 Dec 2022 21:55 #260511
by Carsten
Replied by Carsten on topic Probe Basic in QTDragon
Hi cmorley,
i am using linuxcnc 2.8.4. Thanks for the probing stuff.
Two comments to the probe_corner*.ngc:
The probe_corner*.ngc expect 16 parameters (wco_rotation as last one).
But basic_probe.py supplies only 15 parameters, hence the angle is never set in the coordinate system:
o<160> if [#<probe_mode> EQ 0 AND #<wco_rotation> EQ 1]
(Record Zero in selected axes and WCO)
G10 L2 P#5220 X[#<c1x> + #<workspace_x>] Y[#<c1y> + #<workspace_y>] R[#<edge_angle>]
o<probe_corner_y_minus_edge_angle> return
o<160> endif
I removed the wco_rotation condition from the statement above (i also found no button etc. to get it from).
Furthermore i added a G10 L2 P0 R0 at the start, so the angle is measured correctly if you run it multiple times.
Kind regards
Carsten
i am using linuxcnc 2.8.4. Thanks for the probing stuff.
Two comments to the probe_corner*.ngc:
The probe_corner*.ngc expect 16 parameters (wco_rotation as last one).
But basic_probe.py supplies only 15 parameters, hence the angle is never set in the coordinate system:
o<160> if [#<probe_mode> EQ 0 AND #<wco_rotation> EQ 1]
(Record Zero in selected axes and WCO)
G10 L2 P#5220 X[#<c1x> + #<workspace_x>] Y[#<c1y> + #<workspace_y>] R[#<edge_angle>]
o<probe_corner_y_minus_edge_angle> return
o<160> endif
I removed the wco_rotation condition from the statement above (i also found no button etc. to get it from).
Furthermore i added a G10 L2 P0 R0 at the start, so the angle is measured correctly if you run it multiple times.
Kind regards
Carsten
Please Log in or Create an account to join the conversation.
31 Dec 2022 00:41 #260597
by cmorley
Replied by cmorley on topic Probe Basic in QTDragon
I think these routines are shared by probe basic and versa probe. Ill look into it.
Thank you.
Thank you.
Please Log in or Create an account to join the conversation.
02 Jan 2023 19:03 #260785
by Carsten
Replied by Carsten on topic Probe Basic in QTDragon
Happy New Year,
we have the x-axis north/south and the y-axis east/west, hence the scripts does not match the buttons.
Currently I renamed the files and the functions in them in my macros directory.
As I understand the assigment of function to button is done in basic_probe.ui.
I don't want to modify "delivered" files.
Is there a way to use a custom basic_probe.ui? I tried it parallel to my qtdragon.ui and in the macros directory, but both didn't work.
Kind regards
Carsten
we have the x-axis north/south and the y-axis east/west, hence the scripts does not match the buttons.
Currently I renamed the files and the functions in them in my macros directory.
As I understand the assigment of function to button is done in basic_probe.ui.
I don't want to modify "delivered" files.
Is there a way to use a custom basic_probe.ui? I tried it parallel to my qtdragon.ui and in the macros directory, but both didn't work.
Kind regards
Carsten
Please Log in or Create an account to join the conversation.
03 Jan 2023 07:30 #260832
by cmorley
Replied by cmorley on topic Probe Basic in QTDragon
Unfortunately completely overriding widget files is not supported, if that is what you mean.
It possible to class patch imported widgets in the handler file.
linuxcnc.org/docs/2.9/html/gui/qtvcp-cod..._file_manager_widget
or you could make a custom qtdragon ui/handler file that uses a custom basic_probe.widget.
I would think using the handler file to delete the stock basic probe widget then import and inject a custom version would be the easiest.
The code was changed alot in 2.9 so I'm a little unfamiliar with the 2.8 code. I'll look when I have a bit of time.
It possible to class patch imported widgets in the handler file.
linuxcnc.org/docs/2.9/html/gui/qtvcp-cod..._file_manager_widget
or you could make a custom qtdragon ui/handler file that uses a custom basic_probe.widget.
I would think using the handler file to delete the stock basic probe widget then import and inject a custom version would be the easiest.
The code was changed alot in 2.9 so I'm a little unfamiliar with the 2.8 code. I'll look when I have a bit of time.
Please Log in or Create an account to join the conversation.
04 Jan 2023 11:17 #260914
by Carsten
Replied by Carsten on topic Probe Basic in QTDragon
Thanks for the info.
There is no need to bother with old code. I stick to my renamed files.
I have some proposals for the probe_*.ngc files:
1. z_clearance and xy_clearance are used both for slow probing (to save time I want it small) and for safety distance (I want it larger).
My proposal: use clearance for safety distance only and hard code the pull back for slow probe to 2 mm.
2.1. For all probe_*outline.ngc and probe_corner*.ngc you must have executed probe_z_minus_wco.ngc (center button) to get the correct height of the probe (I rammed my probe into the floor as I forgot it)
=> call probe_z_minus_wco in all probe_*outline.ngc and probe_corner*.ngc first.
2.2. To make the lowering of the probe beside the workpiece more safe use G38.3 instead of G1.
3. Error in probe_front_left_outside.ngc: in line 72 you must move X #<xy_clearance> + #<step_off_width>, because probe_x_plus ends in -#<xy_clearance>.
Attached you will find my probe_z_minus_wco.ngc and probe_front_right_outside.ngc (which is the originally probe_front_left_outside.ngc) and diff files.
Kind regards
Carsten
There is no need to bother with old code. I stick to my renamed files.
I have some proposals for the probe_*.ngc files:
1. z_clearance and xy_clearance are used both for slow probing (to save time I want it small) and for safety distance (I want it larger).
My proposal: use clearance for safety distance only and hard code the pull back for slow probe to 2 mm.
2.1. For all probe_*outline.ngc and probe_corner*.ngc you must have executed probe_z_minus_wco.ngc (center button) to get the correct height of the probe (I rammed my probe into the floor as I forgot it)
=> call probe_z_minus_wco in all probe_*outline.ngc and probe_corner*.ngc first.
2.2. To make the lowering of the probe beside the workpiece more safe use G38.3 instead of G1.
3. Error in probe_front_left_outside.ngc: in line 72 you must move X #<xy_clearance> + #<step_off_width>, because probe_x_plus ends in -#<xy_clearance>.
Attached you will find my probe_z_minus_wco.ngc and probe_front_right_outside.ngc (which is the originally probe_front_left_outside.ngc) and diff files.
Kind regards
Carsten
The following user(s) said Thank You: Roguish
Please Log in or Create an account to join the conversation.
28 Jan 2023 01:21 #263038
by cmorley
let me know if you would like more details (and would require the latest code in 2.9/master)
Replied by cmorley on topic Probe Basic in QTDragon
I just added some work that would allow you to use a custom ui file for the basic probe/versa probe widgets. that might be enough for you to change the button controls.Unfortunately completely overriding widget files is not supported, if that is what you mean.
It possible to class patch imported widgets in the handler file.
linuxcnc.org/docs/2.9/html/gui/qtvcp-cod..._file_manager_widget
or you could make a custom qtdragon ui/handler file that uses a custom basic_probe.widget.
I would think using the handler file to delete the stock basic probe widget then import and inject a custom version would be the easiest.
The code was changed alot in 2.9 so I'm a little unfamiliar with the 2.8 code. I'll look when I have a bit of time.
let me know if you would like more details (and would require the latest code in 2.9/master)
Please Log in or Create an account to join the conversation.
12 Aug 2024 18:00 #307573
by Carsten
Replied by Carsten on topic Probe Basic in QTDragon
Hi Chris,
I upgraded to 2.9.3 and would appreciate a hint how to use a custom iu file.
Kind regards
Carsten
I upgraded to 2.9.3 and would appreciate a hint how to use a custom iu file.
Kind regards
Carsten
Please Log in or Create an account to join the conversation.
13 Aug 2024 03:31 #307610
by cmorley
Replied by cmorley on topic Probe Basic in QTDragon
In your configuration folder, you should see a 'qtvcp' folder.
In that folder add 'images' and 'widgets_ui' folders.
for versa:
in the images folder copy 'probe_icons' from share/qtvcp/images/probe_icons
In the folder widgets_ui copy anything with versa in the name from share/qtvcp/widgets_ui
for basic_probe same idea
in the images folder copy widgets/basic_probe_help and widgets/basic_probe_icons
In the folder widgets_ui copy anything with basic in the name from share/qtvcp/widgets_ui
if you run qtdragon with the - i or -d debugging on you should see text like this in terminal:
[QTvcp.QTVCP.QT_PSTAT][INFO] Using LOCAL widget file from: /home/chris/emc/configs/sim/qtdragon/qtdragon_tool_probe/qtvcp/widgets_ui/ (qt_pstat.py:329)
[QTvcp.QTVCP.QT_PSTAT][INFO] Using LOCAL images path from: /home/chris/emc/configs/sim/qtdragon/qtdragon_tool_probe/qtvcp/images/ (qt_pstat.py:346)
Now you can modify those files in your configuration folder and qtdragon will use them instead.
Chris
In that folder add 'images' and 'widgets_ui' folders.
for versa:
in the images folder copy 'probe_icons' from share/qtvcp/images/probe_icons
In the folder widgets_ui copy anything with versa in the name from share/qtvcp/widgets_ui
for basic_probe same idea
in the images folder copy widgets/basic_probe_help and widgets/basic_probe_icons
In the folder widgets_ui copy anything with basic in the name from share/qtvcp/widgets_ui
if you run qtdragon with the - i or -d debugging on you should see text like this in terminal:
[QTvcp.QTVCP.QT_PSTAT][INFO] Using LOCAL widget file from: /home/chris/emc/configs/sim/qtdragon/qtdragon_tool_probe/qtvcp/widgets_ui/ (qt_pstat.py:329)
[QTvcp.QTVCP.QT_PSTAT][INFO] Using LOCAL images path from: /home/chris/emc/configs/sim/qtdragon/qtdragon_tool_probe/qtvcp/images/ (qt_pstat.py:346)
Now you can modify those files in your configuration folder and qtdragon will use them instead.
Chris
Please Log in or Create an account to join the conversation.
02 Sep 2024 20:14 #309227
by Carsten
Replied by Carsten on topic Probe Basic in QTDragon
Hi Chris,
thanks. I tried it.
I had to copy qtdragon.ui to qtvcp/widgets_ui also to get the local directories accepted.
But then, basic probe does not call my front_right_outside.ngc.
Unfortunately the processing changed from ngc to python
Property for button in basic_probe.ui is now "probe" instead of "filename".
basic_probe.py:
def probe_btn_clicked(self, button):
cmd = button.property('probe')
#print("Button clicked ", cmd)
self.get_parms()
self.start_probe(cmd)
probe_routines.py:
# Front right outside corner
def probe_outside_xmyp(self):
# move X+ xy_clearance Y+ edge_length
s = """G91
G1 F%s X%f Y%f
G90""" % (self.data_rapid_vel, self.data_xy_clearance, self.data_side_edge_length )
rtn = self.CALL_MDI_WAIT(s, self.timeout)
Carsten
thanks. I tried it.
I had to copy qtdragon.ui to qtvcp/widgets_ui also to get the local directories accepted.
But then, basic probe does not call my front_right_outside.ngc.
Unfortunately the processing changed from ngc to python
Property for button in basic_probe.ui is now "probe" instead of "filename".
basic_probe.py:
def probe_btn_clicked(self, button):
cmd = button.property('probe')
#print("Button clicked ", cmd)
self.get_parms()
self.start_probe(cmd)
probe_routines.py:
# Front right outside corner
def probe_outside_xmyp(self):
# move X+ xy_clearance Y+ edge_length
s = """G91
G1 F%s X%f Y%f
G90""" % (self.data_rapid_vel, self.data_xy_clearance, self.data_side_edge_length )
rtn = self.CALL_MDI_WAIT(s, self.timeout)
Carsten
Please Log in or Create an account to join the conversation.
Moderators: cmorley
Time to create page: 0.090 seconds