qtdragon_hd touchoff and probing issue

24 Aug 2023 10:31 #278848 by Vector
I hope this is the right forum to ask 2.5 questions:

The background is: I'm a newb, so I may be looking for behavior that doesn't exist... but I thought that there would be a way to use this beautiful new GUI and the toolsetter probe to automatically measure my tools and update the tool table so that I can do a tool-change without having to swing waaay over to the toolsetter every time. But... the GUI never seems to give me a way to update the tool table.

My assumption is that I've set something up wrong. (The files I've attached may have inadvertently added this functionality without my realizing it,  since I've messed with them a bit... but I doubt it... I think I've duplicated ground I've already covered.)

Also, I'm on LinuxCNC Version=2.9.0-pre1-1092-g3379f63d0 on Debian 12, running on an AMD single board PC. My config files attached, but with 14.3.5 remarked out (see question 1).

1: Is the documentation at linuxcnc.org/docs/devel/html/gui/qtdragon.html at 14.3.5 and 14.4 correct? Or is this duplicated by 14.3.2 + 2.10
I ask because I tried to do 14.3.5 but get ton's-o "ModuleNotFoundError" messages... but when I take out 14.3.5, everything runs smoothly.
My conjecture is that the thoroughness of the paths in the 2.10 part of that documentation have made 14.3.5 and 14.4 duplicative, and that somehow my attempt to set them up did not work correctly. My confusion is why duplicating would cause an error, so I conclude that I've done something (probably bone-headed) in the .ini file  (my 14.3.5 has been remarked out in my .ini file, so if the error is clear, please let me know)

1.5: What is the difference in the documentation of "QtDragon" at:  linuxcnc.org/docs/devel/html/gui/qtdragon.html and "Silver Dragon:" at: linuxcnc.org/docs/html/gui/qtdragon.html ? Specifically, is the "Silver Dragon" section 6 with all the xwidth, ywidth, etc. pins still cannon?

2. Is the toolsetter tab supposed to "do the math" and help fill out the tool height (Z column), or have I been chasing a witch's candy-house and I have been needing to just get out a dang pencil and subtract the toolsetter measured z-coordinate of the xyz tool-probe from the z-coordinate of each tool I add, and then enter that as the "length" for each tool. (Theoretically, that should work because as long as the xyz probe is in a repeatable tool holder, then when it's used to detect the z-height of the material, its z-height will essentially "cancel out" if the tool table has the difference of z-coordinates, ie length, stored for the tool's z-height. Right?)

Thank you!

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

24 Aug 2023 19:48 #278886 by cmorley
This may help with remap paths:
There they use absolute paths instead of the example's relative paths.

2.10 tries to show a typical INI entry for many of the optionally required subroutine paths.
14.3.2 just shows what is required for auto probing.

14.3.5/14.4 are requirements for auto probing - these are the actual remapping files.
Plesae post the specific error message (running in a terminal usually gives more info in the terminal).
I think in the sim example I used the system-link technique. You could look at the sim configuration for inspiration.

Silver dragon was the original name of the screen. The HAL pins between the 2.8 and 2.9 are very different. Please stick with the 2.9 docs.

Automatic entry of manual tool probing is not supported yet. I have added buttons for it in Versa probe but not finished the routines and probably will not get to finishing it soon.

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

25 Aug 2023 08:55 #278910 by Vector
Bang on point, thank you so much.

That link sorted out my errors...

It appears to me that the 14.4 instruction in the QtDragon doc intends for the python interpreter to find stdglue.py by having us create a symbolic link to the directory that contains it... but the link above has us simply copy the file to the .../python directory we're creating.

That step fixed it.


If I wanted to contribute by checking out the QtDragon page documentation page and making some documentation suggestions, then doing a pull request... would I be stepping on anyone's toes?

If I would not, then which branch exactly should I check out? And should I create another forum thread for that work, or try to DM with someone in particular, or just keep quiet and make the suggestions?

Thanks so much.

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

25 Aug 2023 17:45 #278941 by cmorley
I'll have to do some testing why copied files didn't work.
Always open to pull requests that's a great way to contribute.

Against 2.9 would be fine.

The following user(s) said Thank You: rodw, Vector

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

25 Aug 2023 23:48 #278968 by Vector
Just to clarify, sounds like I was confusing:

the copy file command did work (as per the link you provided: linuxcnc.org/docs/2.9/html/remap/remap.h...pgrading-an-existing   ), ...

What did not work was the symbolic link to the path that included the copied file (ie stdglue.py) as instructed in the QtDragon install page at 14.4 .

What I intend then, when I'm confident I have it stable and I'm on top if it, is to pull-request a change in the QTDragon install page to bring 14.4 in line with the remap instructions.  And perhaps include any wisdom I glean in getting auto tool measurement and said workflows to work... that section (14) kinda says: go look at gmoccapy videos! They have it working there. (imho, that could be a bit more helpful.)
The following user(s) said Thank You: Roguish

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

28 Aug 2023 08:24 - 28 Aug 2023 08:28 #279141 by Vector
As part of my journey here, I tried to run the out-of-the-box sim.qtdragon.qtdragon_tool_probe and I got a file not found error looking for stdglue.py

When I went to the ~/linuxcnc/configs/sim.qtdragon.qtdragon_tool_probe/python directory, there's a symbol on the symbolic links that looks unhappy. When I inspect them, I get:

for qt_auto_probe_tool.ngc:    ../../../nc_files/remap-subroutines/qt_auto_probe_tool.ngc
for stdglue.py:    ../../../../nc_files/remap_lib/python-stdglue/stdglue.py

I fixed the missing stdglue.py by deleting the stdglue.py symbolic link and doing a hard-copy:
cd ~/linuxcnc/configs/sim.qtdragon.qtdragon_tool_probe/python
rm stdglue.py
cp /usr/share/linuxcnc/ncfiles/remap_lib/python-stdglue/stdglue.py .

After this, I get the attached terminal error, looking for:  

well, the path should be:  

So I stopped there... not sure I need this sim to work, but it might've been instructive, and moreover not having it work appears to be a bug.
Last edit: 28 Aug 2023 08:28 by Vector. Reason: Fix major domo typo
The following user(s) said Thank You: Roguish

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

29 Aug 2023 06:39 #279262 by cmorley
do you have the path:
/home/maker/linuxcnc/nc_files/examples ?

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

29 Aug 2023 07:31 - 29 Aug 2023 07:33 #279267 by Vector
Yes, I do have that path...

If it helps, that is a shortcut to: /usr/share/linuxcnc/ncfiles

Last edit: 29 Aug 2023 07:33 by Vector.

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

29 Aug 2023 08:08 #279270 by cmorley
I pushed a change to auto_tool_probe sim that i hope fixes the path problem in installed sims.
If it does, I will update the other qtvcp samples
The following user(s) said Thank You: Vector

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

29 Aug 2023 09:16 - 29 Aug 2023 09:26 #279271 by Vector

I'm having an Alice In Wonderland round-and-round week with trying to understand how this is supposed to work, and I apologize ahead of time for giving you self-taught verbiage: I've manged to confuse myself in even articulating in my google searches what I'm looking for.

I have an ER16 style collet, so I don't have a good way to have repeatable tools.
I need a moderately accurate work-piece probing routine, since I'm going to be cutting thin pieces: like a few millimeters thick.
(I realize that's nothing against the crazy tolerances that you grown-ups are used to: this is not going to be an internal combustion engine, more like plastic art that moves.)


Thing 1 that I think I need: a manual tool change routine. I'm looking at combining what is on a thread that starts here with @orangecat's work, and finishes here with @furynick's mods, which I think I should double check for good behaviors programmed in AXIS' manual_change.ngc.
I'll call this PrintNC-tool-change.ngc because a lot of work has been published here at PrintNC Wiki.

If I am on the right track, I'd aspire to document that as an example to stick into the QtDragon documentation at Number 8: Manual Tool Changes.

Thing 2 that I think I need: a tool probing routine to find the outsides and insides of my work-piece and set my coordinate frame of reference accordingly. I'd really love to use the VersaProbe screen to give me the xyz center of probed objects. After setting my coordinate reference frame to my piece, I would then go use Thing 1 to manage a bunch of tool changes.

I think my confusion (which may be clearing only now), is that all the examples I find for Thing 1 and Thing 2 are being implemented with remapping M6. (Thing 1 with PrintNC-tool-change, and Thing 2 with qt_auto_probe_tool as documented in the QtDragon pages at Number 14.1 thru 14.5. )

My Questions:

1) So.... am I right in thinking I need to kindof merge PrintNC-tool-change.ngc with qt_auto_probe_tool.ngc to get Thing 1 and Thing 2 in one package?

2) Or... should I just go grab another M code and map that to PrintNC-tool-change.ngc? (I'm guessing I should leave qt_auto_probe_tool mapped to M6, since the GUI must be calling M6 when pressing the buttons in VersaProbe, whereas I can alter my g-code to call the new M-code.)

3) And... I've been playing with running the VersaProbe with the qt_auto_probe_tool remap code ... at least I think have have been running it.
But now I'm confused now because I'm getting to the point where I can kinda read the ngc code, and qt_auto_probe_tool references Parameters #5070 and #5063. But in my linuxcnc.var file, however, they are not there. I haven't found those documented anywhere. Does this mean the qt_auto_probe_tool hasn't been running, or that I haven't been using it properly, or does it use those parameters locally if they're not in linuxcnc.var, or what?

4) Also, I'd like a reality check from folks who know better: I read that Number 8 section as just pointing to the pins that one can plug into for tool-changing routines (auto or manual) which any person doing the integrating needs to know about so they can write/adapt routines. But on the other hand, because that Number 8 section is so sparse, I'm also wondering if the sparseness means I am supposed to just yolo try tool-changing with no remapping at all?? (my guess is no, and so I haven't yet yolo'd)

Thanks to anyone who has time to read this.
Last edit: 29 Aug 2023 09:26 by Vector. Reason: typos

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

Moderators: cmorley
Time to create page: 0.162 seconds
Powered by Kunena Forum