winder / Universal-G-Code-Sender

A cross-platform G-Code sender for GRBL, Smoothieware, TinyG and G2core.
http://winder.github.io/ugs_website/
GNU General Public License v3.0
1.9k stars 765 forks source link

More advanced probing plugin #738

Open winder opened 7 years ago

winder commented 7 years ago

Most of the features in this video should not be complicated to implement: https://youtu.be/pQGnV85Cu_A?t=191

I'll probably go ahead and make a bunch of screens that go over the visualizer for these:

vMeph commented 7 years ago

That looks so good and promissing!!!!

jahnj0584 commented 7 years ago

Wicked. I guess we're heading towards a tabbed controller due to all the new features? Could you make it in "workspaces" so we can have eg. DRO, visualizer, file control, overrides in one then another workspace for macros, probing, settings, etc? All user controlled of course ;)

On Sep 4, 2017 5:05 PM, "Meph1" notifications@github.com wrote:

That looks so good and promissing!!!!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/issues/738#issuecomment-327022166, or mute the thread https://github.com/notifications/unsubscribe-auth/AQlzDBgXIr3NY6G-c6v9J12cZOZOy7x6ks5sfFgHgaJpZM4PMNJ7 .

aforww commented 7 years ago

Fantastic

On Mon, Sep 4, 2017 at 4:54 PM, Julius notifications@github.com wrote:

Wicked. I guess we're heading towards a tabbed controller due to all the new features? Could you make it in "workspaces" so we can have eg. DRO, visualizer, file control, overrides in one then another workspace for macros, probing, settings, etc? All user controlled of course ;)

On Sep 4, 2017 5:05 PM, "Meph1" notifications@github.com wrote:

That looks so good and promissing!!!!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/ issues/738#issuecomment-327022166, or mute the thread https://github.com/notifications/unsubscribe-auth/AQlzDBgXIr3NY6G- c6v9J12cZOZOy7x6ks5sfFgHgaJpZM4PMNJ7

.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/issues/738#issuecomment-327032434, or mute the thread https://github.com/notifications/unsubscribe-auth/AWnXWgZDsNT6_dny0xXgFzCz-RcFSyx1ks5sfHGQgaJpZM4PMNJ7 .

winder commented 7 years ago

I updated the existing Z probe button tonight. Since the X/Y probing didn't work I replaced that setting with a retract field. There's also a surprise between the initial probe and the final retract that I won't spoil. :)

screen shot 2017-09-06 at 8 34 47 pm
groberts22 commented 7 years ago

Here are a couple of thoughts on the probe function.

The current version of the probe function does not display the current units, which can be very confusing. The two most common uses of the probe (at least for me) are

  1. Resetting the z offset after a tool change, and
  2. setting the xyz zero values for a new workpiece. For both of these, I use a touchplate with known xyz thickness values that sits directly on the wasteboard of the machine or fits over the corner of the workpiece. I think this is what many/most people do when they get sick of using a piece of thin paper and a calculator. What would be most helpful (to me) is to have a helper that would allow me to position the tool at a reasonable distance from the surface(s) of the touchplate and then have the machine automatically set the relevant zero values for me. The display could look similar to the current one, with an option to set a single axis value only (typically z) or all axes at once, and an option to choose the target WCS offset (54-59). [It might also be necessary to allow separate thickness and distance/direction settings for x,y, and z.] The function could then use the G38.2 and G10L20 commands. Thanks for your consideration.
jahnj0584 commented 7 years ago

Keep in mind to do the x/y properly you cannot use an endmill. You'd have to get a piece of known diameter turned steel rod and then swap again for your Z

On Sep 9, 2017 11:43 AM, "groberts22" notifications@github.com wrote:

Here are a couple of thoughts on the probe function.

The current version of the probe function does not display the current units, which can be very confusing. The two most common uses of the probe (at least for me) are

  1. Resetting the z offset after a tool change, and
  2. setting the xyz zero values for a new workpiece. For both of these, I use a touchplate with known xyz thickness values that sits directly on the wasteboard of the machine or fits over the corner of the workpiece. I think this is what many/most people do when they get sick of using a piece of thin paper and a calculator. What would be most helpful (to me) is to have a helper that would allow me to position the tool at a reasonable distance from the surface(s) of the touchplate and then have the machine automatically set the relevant zero values for me. The display could look similar to the current one, with an option to set a single axis value only (typically z) or all axes at once, and an option to choose the target WCS offset (54-59). [It might also be necessary to allow separate thickness and distance/direction settings for x,y, and z.] The function could then use the G38.2 and G10L20 commands. Thanks for your consideration.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/issues/738#issuecomment-328281465, or mute the thread https://github.com/notifications/unsubscribe-auth/AQlzDGSWXqNSxOwRQmPQVbKrtdyV55oOks5sgqQcgaJpZM4PMNJ7 .

groberts22 commented 7 years ago

True, although I have found in practice that if I lower the probe as far as possible below the horizontal surface of the touch plate and make sure the bit is properly rotated I get reasonable accuracy and repeatability.

aforww commented 7 years ago

Why would you have to do that? You absolutely can use the end mill. People do it all the time

On Sep 9, 2017 11:27 AM, "Julius" notifications@github.com wrote:

Keep in mind to do the x/y properly you cannot use an endmill. You'd have to get a piece of known diameter turned steel rod and then swap again for your Z

On Sep 9, 2017 11:43 AM, "groberts22" notifications@github.com wrote:

Here are a couple of thoughts on the probe function.

The current version of the probe function does not display the current units, which can be very confusing. The two most common uses of the probe (at least for me) are

  1. Resetting the z offset after a tool change, and
  2. setting the xyz zero values for a new workpiece. For both of these, I use a touchplate with known xyz thickness values that sits directly on the wasteboard of the machine or fits over the corner of the workpiece. I think this is what many/most people do when they get sick of using a piece of thin paper and a calculator. What would be most helpful (to me) is to have a helper that would allow me to position the tool at a reasonable distance from the surface(s) of the touchplate and then have the machine automatically set the relevant zero values for me. The display could look similar to the current one, with an option to set a single axis value only (typically z) or all axes at once, and an option to choose the target WCS offset (54-59). [It might also be necessary to allow separate thickness and distance/direction settings for x,y, and z.] The function could then use the G38.2 and G10L20 commands. Thanks for your consideration.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/ issues/738#issuecomment-328281465, or mute the thread https://github.com/notifications/unsubscribe-auth/ AQlzDGSWXqNSxOwRQmPQVbKrtdyV55oOks5sgqQcgaJpZM4PMNJ7 .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/issues/738#issuecomment-328287826, or mute the thread https://github.com/notifications/unsubscribe-auth/AWnXWoZTJuAgLfqkYeqsPapWgYt4HdtMks5sgrx_gaJpZM4PMNJ7 .

aforww commented 7 years ago

Forgot to add, I was using it before X/Y was removed from the probing in the nighties.

aforww commented 7 years ago

Forgot to add, I was using it before X/Y was removed from the probing in the nighties.

jahnj0584 commented 7 years ago

Depends what accuracy you need, but you'd have to rotate the flute for each axis you probe. Good luck with 0 flutes and all that. A 4 flute would be easy enough to do though within reason. Still, nothing will repeat better then a solid cylinder.

On Sep 10, 2017 9:23 AM, "aforww" notifications@github.com wrote:

Why would you have to do that? You absolutely can use the end mill. People do it all the time

On Sep 9, 2017 11:27 AM, "Julius" notifications@github.com wrote:

Keep in mind to do the x/y properly you cannot use an endmill. You'd have to get a piece of known diameter turned steel rod and then swap again for your Z

On Sep 9, 2017 11:43 AM, "groberts22" notifications@github.com wrote:

Here are a couple of thoughts on the probe function.

The current version of the probe function does not display the current units, which can be very confusing. The two most common uses of the probe (at least for me) are

  1. Resetting the z offset after a tool change, and
  2. setting the xyz zero values for a new workpiece. For both of these, I use a touchplate with known xyz thickness values that sits directly on the wasteboard of the machine or fits over the corner of the workpiece. I think this is what many/most people do when they get sick of using a piece of thin paper and a calculator. What would be most helpful (to me) is to have a helper that would allow me to position the tool at a reasonable distance from the surface(s) of the touchplate and then have the machine automatically set the relevant zero values for me. The display could look similar to the current one, with an option to set a single axis value only (typically z) or all axes at once, and an option to choose the target WCS offset (54-59). [It might also be necessary to allow separate thickness and distance/direction settings for x,y, and z.] The function could then use the G38.2 and G10L20 commands. Thanks for your consideration.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/ issues/738#issuecomment-328281465, or mute the thread https://github.com/notifications/unsubscribe-auth/ AQlzDGSWXqNSxOwRQmPQVbKrtdyV55oOks5sgqQcgaJpZM4PMNJ7 .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/ issues/738#issuecomment-328287826, or mute the thread https://github.com/notifications/unsubscribe-auth/ AWnXWoZTJuAgLfqkYeqsPapWgYt4HdtMks5sgrx_gaJpZM4PMNJ7 .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/issues/738#issuecomment-328339251, or mute the thread https://github.com/notifications/unsubscribe-auth/AQlzDFtOkeaGRTXNo4a8N6SksFNf4qAMks5sg9S6gaJpZM4PMNJ7 .

aforww commented 7 years ago

Ah. Yea I can agree with that. I did it with a single O flute but had to rotate it to catch the leading outside edge. Still faster than trying to get it dead on by eye and a feeler gauge lol.

On Sep 10, 2017 7:26 AM, "Julius" notifications@github.com wrote:

Depends what accuracy you need, but you'd have to rotate the flute for each axis you probe. Good luck with 0 flutes and all that. A 4 flute would be easy enough to do though within reason. Still, nothing will repeat better then a solid cylinder.

On Sep 10, 2017 9:23 AM, "aforww" notifications@github.com wrote:

Why would you have to do that? You absolutely can use the end mill. People do it all the time

On Sep 9, 2017 11:27 AM, "Julius" notifications@github.com wrote:

Keep in mind to do the x/y properly you cannot use an endmill. You'd have to get a piece of known diameter turned steel rod and then swap again for your Z

On Sep 9, 2017 11:43 AM, "groberts22" notifications@github.com wrote:

Here are a couple of thoughts on the probe function.

The current version of the probe function does not display the current units, which can be very confusing. The two most common uses of the probe (at least for me) are

  1. Resetting the z offset after a tool change, and
  2. setting the xyz zero values for a new workpiece. For both of these, I use a touchplate with known xyz thickness values that sits directly on the wasteboard of the machine or fits over the corner of the workpiece. I think this is what many/most people do when they get sick of using a piece of thin paper and a calculator. What would be most helpful (to me) is to have a helper that would allow me to position the tool at a reasonable distance from the surface(s) of the touchplate and then have the machine automatically set the relevant zero values for me. The display could look similar to the current one, with an option to set a single axis value only (typically z) or all axes at once, and an option to choose the target WCS offset (54-59). [It might also be necessary to allow separate thickness and distance/direction settings for x,y, and z.] The function could then use the G38.2 and G10L20 commands. Thanks for your consideration.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/ issues/738#issuecomment-328281465, or mute the thread https://github.com/notifications/unsubscribe-auth/ AQlzDGSWXqNSxOwRQmPQVbKrtdyV55oOks5sgqQcgaJpZM4PMNJ7 .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/ issues/738#issuecomment-328287826, or mute the thread https://github.com/notifications/unsubscribe-auth/ AWnXWoZTJuAgLfqkYeqsPapWgYt4HdtMks5sgrx_gaJpZM4PMNJ7 .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/ issues/738#issuecomment-328339251, or mute the thread https://github.com/notifications/unsubscribe-auth/ AQlzDFtOkeaGRTXNo4a8N6SksFNf4qAMks5sg9S6gaJpZM4PMNJ7 .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/issues/738#issuecomment-328339438, or mute the thread https://github.com/notifications/unsubscribe-auth/AWnXWjTX7Ujh6cma90jFtj5o6mLtY1zWks5sg9WEgaJpZM4PMNJ7 .

jahnj0584 commented 7 years ago

Can you get the macros and UI from this fellow open source sender? I'm trying it out tonight while we figure out the platform issues. It also has keyboard jogging!

https://www.sourcerabbit.com/GCode-Sender/

winder commented 7 years ago

I've been spending a lot of time working on re-designing the advanced probe page. My first attempt pretty much copied the design in Mach4, but I wasn't happy with how it fit in UGP. Back at the drawing board I decided to make a fully 3D representation of the settings, and I'm really happy with how it came out. I can add additional tabs for some of the remaining advanced probe tabs.

screen shot 2017-09-26 at 8 09 27 pm screen shot 2017-09-26 at 8 09 43 pm screen shot 2017-09-26 at 8 09 50 pm
vMeph commented 7 years ago

@winder build #8​42 failed

Radiu commented 7 years ago

looks very good, you think would be possible to come up with better visual layout design, similar to match or source rabit?

vMeph commented 7 years ago

@winder i dont see probing window now, only auto level?

winder commented 7 years ago

If you used the auto update feature you might need to select a new module. I moved the probe features to a separate one.

On Wed, Sep 27, 2017 at 8:30 AM Meph1 notifications@github.com wrote:

@winder https://github.com/winder i dont see probing window now, only auto level?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/issues/738#issuecomment-332505037, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHqRZVt3KGMkbOM866UkOKL_1--bojuks5smj_MgaJpZM4PMNJ7 .

winder commented 7 years ago

@Radiu could you make some specific suggestions? For this iteration I decided against modal dialogs like rabbit and static dialogs like Mach4, opting for a more dynamic representation in the visualizer.

vMeph commented 7 years ago

@winder i have the autoupdate feature installed, just see there the auto level other probes i dont see,have looked arround and nothing

winder commented 7 years ago

@vMeph The probe module might not be installed, is it listed under "Available Plugins"?

screen shot 2017-09-27 at 11 12 37 am
vMeph commented 7 years ago

after last update cant connect to server grrr 1

winder commented 7 years ago

Sourceforge seems to be having some trouble the last couple days https://sourceforge.net/projects/ugs-update-center/files/

vMeph commented 7 years ago

ya thats what i tought

Radiu commented 7 years ago

what i mean is more professional graphic design something like this and more friendly use 1 2

apart from it is just a sugestion, your work is the best thanks alot for all tthe work that you provide to us

vMeph commented 7 years ago

that looks cool im not good on designs but here is a quick design i made based on that just to get a idea defenetly that the console space area, would be the perfect place to implemente interactive menus with some friendly and easy to folow structures and make UGS look a clean and modern design @winder any ideas?

llpp

winder commented 7 years ago

I made a video demonstrating the current Probe Module features: IMAGE ALT TEXT HERE)

vMeph commented 7 years ago

very nice video

thanks for all the work

smallpoul commented 6 years ago

Hi will, thanks for your very good program, i like and use a lot the probing module, the only problem that i have is when doing the x and y probing, for some reason, it does the x good but when it position the machine to seek the y, it never goes far enough to the right (trying to find the lower left zero) to be able to touch the plate. is there soming that i miss. thanks Mike

winder commented 6 years ago

@smallpoul you can increase the "offset" values to make it probe further

smallpoul commented 6 years ago

Sorry if I don't understand you right but the I was thinking that the offset was the tickness of you're border probe?

winder commented 6 years ago

Oops. You're right. One of the configurable values should be the probe distance though. You can set it to whatever you like. the visualizer will show longer arrows when you have the right one.

On Tue, Nov 14, 2017 at 10:06 PM smallpoul notifications@github.com wrote:

Sorry if I don't understand you right but the I was thinking that the offset was the tickness of you're border probe?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/winder/Universal-G-Code-Sender/issues/738#issuecomment-344472088, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHqRTuW_JJJPQLCzKtv498416RidR2Hks5s2lUxgaJpZM4PMNJ7 .

smallpoul commented 6 years ago

No problem, here the problem in code: `

G91 G21 G0 X-14.7037 G90 G21 G91 G21 G0 Y-15.0 G90 G21 ok G91 G21 G0 X15.0 `

after probing x, it will go to the left for (x) -14.7037 then go back for (y) -15 and then go to the right for (x) 15. the problem is that when it place the end mill to seek the y, It goes only around .3 mm from the edge and the endmill does not go far enough to have a good contact with the block. thanks again

winder commented 6 years ago

Could you take a screenshot of the settings you're using and the entire console output of the routine (including the error).

smallpoul commented 6 years ago

Here a video of the problem and the setting

https://www.youtube.com/watch?v=dDDf4rT1qO0

here s the code

`

G21 G91 G49 G38.2 Z-15 F150 G90 G21 ok [PRB:0.3883,0.1396,0.0247:1] ok ok G91 G21 G0 Z1.0 G90 G21 ok ok G21 G91 G49 G38.2 Z-15 F100 G90 G21 ok [PRB:0.3883,0.1396,0.0126:1] ok ok G91 G21 G0 Z0.1124 G90 G21 G91 G21 G0 X-15.0 G90 G21 ok ok G91 G21 G0 Z-15.0 G90 G21 ok ok ok ok G21 G91 G49 G38.2 X15 F150 G90 G21 ok [PRB:-0.0157,0.1396,-0.5772:1] ok ok G91 G21 G0 X-1.0 G90 G21 ok ok G21 G91 G49 G38.2 X15 F100 G90 G21 ok [PRB:-0.0162,0.1396,-0.5772:1] ok ok G91 G21 G0 X-14.595500000000001 G90 G21 G91 G21 G0 Y-15.0 G90 G21 G91 G21 G0 X15.0 G90 G21 ok ok ok ok ok ok G21 G91 G49 G38.2 Y15 F150 G90 G21 ok [PRB:0.0029,-0.1116,-0.5772:1] ok ok G91 G21 G0 Y-1.0 G90 G21 ok ok G21 G91 G49 G38.2 Y15 F100 G90 G21 ok [PRB:0.0029,-0.1121,-0.5772:1] ok ok G91 G21 G0 Y-14.7483 G90 G21 G91 G21 G0 Z15.0 G90 G21 ok G91 G21 G0 Y15.0 G90 G21 G10 L20 P1 X-2.7955 Y-2.9483 Z0.1124 ok ok ok ok ok ok G90 G21 ok `

winder commented 6 years ago

@smallpoul thanks, that looks like a bug. I'll try to fix this soon.

smallpoul commented 6 years ago

Thanks

Jibeji commented 6 years ago

Hi, Is there any plan to have a Hole Center Finder module available?

timon2jkl commented 6 years ago

When I XYZ edge find everything works fine and 0's everything but if I just do an Z it does not 0 the Z axis it sets it to the pull off distance plus edge finder and when you say return to 0 it plunges into the stock by the difference Am I doing something wrong or is it a Bug? This is on a raspberry pi 2 G-shield April 22 nightly.

robllewellyn commented 6 years ago

I am seeing similar output to @timon2jkl

Get close, probe with 3mm brass plate on the Z.

Sometimes retrun to zero will not go deep enough, sometimes it goes too deep into the stock...

Product Version: Universal Gcode Platform 201609300101

If you let me know what info is helpful, or if I am obviously not doing something right, let me know.

haaxema commented 6 years ago

Hi all,

I am using UGS for a couple of weeks now and it works great. I'd also like to see the Hole Center Finder module, is it in development or waiting for contributors?

winder commented 6 years ago

@haaxema I don't think anyone is actively working on it. If you'd like to take a look, the code is here:

https://github.com/winder/Universal-G-Code-Sender/tree/master/ugs-platform/ProbeModule/src/main/java/com/willwinder/ugs/platform/probe

waltoncnc commented 6 years ago

Have the platform nightly build for May 4. I can zero the xyz individually fine. When I try to do it all at one time it does not go to zero. It ends up in different places. Any suggestions on what is going on?

DavidArenillas commented 5 years ago

the same for me. It seems that it doesn't keep the values...

CJsolar commented 5 years ago

Hello, I'm new to the new version of USG Platform. I down loaded (what I thought was the latest version) from GitHub yesterday, 4-24-19. The Probe Module plug in is not in the software. I hit the plug in update button and nothing new comes up, I checked for UGS updates and it says I have the latest version. I then found and downloaded "Probe Module 2.0-Snaps.nbm" file and tried to install the plug in into UGS. It said I couldn't install it because of some other file in UGS was an earlier version. I dont know why this is so hard. According to Will Winder in a You Tube video I watched on how to use the Probe Module, the USG Platform should have the plug in the software. Is there a place where I can download USG Platform that has all the updates built into it?

Carl

tkms002 commented 5 years ago

I second this issue. How do I get the PROBE MODULE??

kthornbloom commented 4 years ago

@winder - Came across this video recently which demonstrates some angle finding. The X,Y,and Z get zeroed as usual, and then it does an extra step to determine the angle of the material. No more attempting (and failing) to line it up perfectly with the machine. This would be super handy!

PixelTamer commented 4 years ago

Hi, I make and sell an edge-finder that has a hole in it over the X0Y0 corner. I wrote a routine to find the center of the hole and set Z, X & Y to zero in MACH3. The advantage is that you don't need to know the diameter of the probe. My UGS customers ask me how to create a similar macro to do that routine in UGS. Unfortunately, One needs to temporarily read and store a few variables to accomplish the routine, and UGS and GRBL just don't seem to offer that capability. What is the probability that a center finding routine can be added to the Probing module?

Thanks, Pixel Edgefinder GX12-2 magnetic

Threeshedz commented 3 years ago

Hi, I make and sell an edge-finder that has a hole in it over the X0Y0 corner. I wrote a routine to find the center of the hole and set Z, X & Y to zero in MACH3. The advantage is that you don't need to know the diameter of the probe. My UGS customers ask me how to create a similar macro to do that routine in UGS. Unfortunately, One needs to temporarily read and store a few variables to accomplish the routine, and UGS and GRBL just don't seem to offer that capability. What is the probability that a center finding routine can be added to the Probing module?

Thanks, Pixel Edgefinder GX12-2 magnetic

I would love to see a center finding routing in USG! I'd assume this could be achieved with a plugin?

https://winder.github.io/ugs_website/dev/plugin/

PixelTamer commented 3 years ago

Yes, I believe that the current probe routine is a plugin. Best bet would be to get that source and add to it. I don't really want to learn a new language, so I would be more than willing to offer my BASIC & G-code routines to aid an enterprising programmer savvy in this language to getting an updated plugin to find the center of a hole and set zeros. If I had access to the probe plugin (I have no clue as to where to look for it), I would attempt updating it myself. As I said, I don't know the language, but, I'm pretty fair at improvising if I have a good starting point.
Thank, Pixel.