Surfacemap Z compensation with Probe Basic
- Lcvette
-
- Offline
- Moderator
-
Less
More
- Posts: 1536
- Thank you received: 726
04 Aug 2025 16:42 #332827
by Lcvette
Replied by Lcvette on topic Surfacemap Z compensation with Probe Basic
i found some really odd namings in the ui for the widgets, it is very confusing and appears to be unfinished or a the very least very poorly internally connected. i'm not sure where some of the parameters are coming from or if they were intended to be hard coded only in the var file or not. I don't think this is actually a finished project from the looks of it, at least not from the link you posted above. you may want to try contacting zmrdko.
from my scan through the ui, subroutines etc, things do not match up and widget names are duplicated as if copied and pasted but not correctly named so it's hard to follow the parsing flow correctly.
there is also no custom_config.yml setup instructions for the ui widgets to be stored in and saved and loaded on startup which means everytime you startup probe basic, those variables in the ui will be dumped and set to placeholder text (0.0000) which will be unsynchronized with the persistent var file data.
these are things that can be resolved in the upcoming release as i created a new var line edit widget that will not rely on subs to store and load variable from the var file.
some of the numbered parameters you listed above are linuxcnc params:
linuxcnc.org/docs/stable/html/gcode/over...:numbered-parameters
any params used in probe basic or any other add on would be between 3-5000 as these are user configurable parameters. anytime you see one 5001 or higher it will be a dedicated parameter used in linuxcnc.
I would say that this project is still a work in progress from my look into it.here is my mapping of everything, you could probably fix it and ask the developer for a pull request if you wanted, that would be the course i took,but as it stands i don't think you will be able to get it working as is.
from my scan through the ui, subroutines etc, things do not match up and widget names are duplicated as if copied and pasted but not correctly named so it's hard to follow the parsing flow correctly.
there is also no custom_config.yml setup instructions for the ui widgets to be stored in and saved and loaded on startup which means everytime you startup probe basic, those variables in the ui will be dumped and set to placeholder text (0.0000) which will be unsynchronized with the persistent var file data.
these are things that can be resolved in the upcoming release as i created a new var line edit widget that will not rely on subs to store and load variable from the var file.
some of the numbered parameters you listed above are linuxcnc params:
linuxcnc.org/docs/stable/html/gcode/over...:numbered-parameters
any params used in probe basic or any other add on would be between 3-5000 as these are user configurable parameters. anytime you see one 5001 or higher it will be a dedicated parameter used in linuxcnc.
I would say that this project is still a work in progress from my look into it.here is my mapping of everything, you could probably fix it and ask the developer for a pull request if you wanted, that would be the course i took,but as it stands i don't think you will be able to get it working as is.
Attachments:
Please Log in or Create an account to join the conversation.
- --Matt--
- Offline
- New Member
-
Less
More
- Posts: 19
- Thank you received: 2
04 Aug 2025 18:39 - 04 Aug 2025 18:46 #332837
by --Matt--
Replied by --Matt-- on topic Surfacemap Z compensation with Probe Basic
Thanks for taking the time to have a look, and for confirming my suspicion that the surfacemap code might not be complete.
Is there any prospect of an official probe_basic surface grid probing and z-compensation tab? Perhaps using scottalford75's z-compensation code via external offsets:
github.com/scottalford75/LinuxCNC-3D-Pri.../master/compensation
(I think this feature may already be included in QTDragon, although with compensation via g-code ripper rather than external offsets).
Sorry for possibly adding to your already no doubt long to-do list!
Is there any prospect of an official probe_basic surface grid probing and z-compensation tab? Perhaps using scottalford75's z-compensation code via external offsets:
github.com/scottalford75/LinuxCNC-3D-Pri.../master/compensation
(I think this feature may already be included in QTDragon, although with compensation via g-code ripper rather than external offsets).
Sorry for possibly adding to your already no doubt long to-do list!
Last edit: 04 Aug 2025 18:46 by --Matt--.
Please Log in or Create an account to join the conversation.
- Lcvette
-
- Offline
- Moderator
-
Less
More
- Posts: 1536
- Thank you received: 726
04 Aug 2025 19:54 #332840
by Lcvette
Replied by Lcvette on topic Surfacemap Z compensation with Probe Basic
lol...that will not be in my todo list..lol that is an external offering. you could spend a couple hours and get it working. it is just a matter of editing the surface map ui file, subroutine update file, custom_config.yml, and getting all the widgets and what not in synch with expectation, once that is done it should work as expected. its a fairly simple setup regarding what is in probe basic. it is all usertab based so you do not need a dev install to perform the edits. everything is externally accessible via the existing qtdesigner stock installation (from terminal run: editvcp probe_basic, then select open and point at the surface map usertab directory and find the surface map ui file), a decent text editor such as vscode or sublime etc for the subroutines and yaml file updates. I have not looked at how it connected to the graphical portion, but i would imagine once the names all are correct it should work great. if you plan on using it you would have a much better grasp on how it is used than me as i have never used it before and haven't mentally imagined using it so the process flow is lost on me.
Please Log in or Create an account to join the conversation.
- xenith
- Offline
- New Member
-
Less
More
- Posts: 2
- Thank you received: 1
10 Dec 2025 07:35 #339938
by xenith
Replied by xenith on topic Surfacemap Z compensation with Probe Basic
I saw this thread and went down a similar road trying to get a user tab set up for surface compensation. The linked repo was indeed incomplete, but I was able to use it as a starting point and get this working with some trial, error, and LLM assistance.
Hopefully someone will find this useful: github.com/Blair-Johnson/surfacemap_usertab
Hopefully someone will find this useful: github.com/Blair-Johnson/surfacemap_usertab
The following user(s) said Thank You: Sandro
Please Log in or Create an account to join the conversation.
- Sandro
- Offline
- Senior Member
-
Less
More
- Posts: 74
- Thank you received: 22
25 Dec 2025 16:28 - 25 Dec 2025 16:30 #340499
by Sandro
Replied by Sandro on topic Surfacemap Z compensation with Probe Basic
Really nice work thank you.
I’ve modified the interface so that the scanned surface can be visualized with a button press. The next step is to make the probing settings persistent across LinuxCNC sessions. These settings are stored in the .var file, but I’m not sure how to load them at startup and update the Qt widgets accordingly.
I’ve modified the interface so that the scanned surface can be visualized with a button press. The next step is to make the probing settings persistent across LinuxCNC sessions. These settings are stored in the .var file, but I’m not sure how to load them at startup and update the Qt widgets accordingly.
Last edit: 25 Dec 2025 16:30 by Sandro.
The following user(s) said Thank You: xenith
Please Log in or Create an account to join the conversation.
- Lcvette
-
- Offline
- Moderator
-
Less
More
- Posts: 1536
- Thank you received: 726
31 Dec 2025 16:27 #340782
by Lcvette
Replied by Lcvette on topic Surfacemap Z compensation with Probe Basic
I am working on a new var widget that writes the var value to the widget at startup and monitors and updates the var for any changes without the need for running a subroutine. still in testing and will be released in the next major update hopefully!
The following user(s) said Thank You: tommylight, COFHAL, Sandro
Please Log in or Create an account to join the conversation.
- Sandro
- Offline
- Senior Member
-
Less
More
- Posts: 74
- Thank you received: 22
02 Jan 2026 11:48 - 02 Jan 2026 11:49 #340873
by Sandro
Replied by Sandro on topic Surfacemap Z compensation with Probe Basic
Here is a version, which creates a surfacemap.yml so the parameters persist throughout sessions. The variables like probe fast feed rate are still independent from the standard PB probing parameters. Maybe this can be aligned in a future version of this interface.
Last edit: 02 Jan 2026 11:49 by Sandro.
Please Log in or Create an account to join the conversation.
- Lcvette
-
- Offline
- Moderator
-
Less
More
- Posts: 1536
- Thank you received: 726
04 Jan 2026 16:05 #340972
by Lcvette
Replied by Lcvette on topic Surfacemap Z compensation with Probe Basic
nice! I think the more uniform future solution will be the suite of var file widgets i have been testing, but this will work for now and is similar to how i store, save and update var file parameters. its just a pain in the butt to have to custom code things in like that.
the new var widgets will handle all of the heavy lifting for saving, storing, loading, updating etc. so all you would need to do is drop the desired widget in your ui and assign it a variable number and it will just work as expected from that point forward. I also have made some changes so that the precision will not be lost when storing/loading between the var file and the qt interface where previously after a store/save occurred the values were getting truncated at the displayed decimal place formatting. the new widgets will have an option to check for high precision storage so that the full value untruncated is retained even with a truncated display. should make things more robust!
the new var widgets will handle all of the heavy lifting for saving, storing, loading, updating etc. so all you would need to do is drop the desired widget in your ui and assign it a variable number and it will just work as expected from that point forward. I also have made some changes so that the precision will not be lost when storing/loading between the var file and the qt interface where previously after a store/save occurred the values were getting truncated at the displayed decimal place formatting. the new widgets will have an option to check for high precision storage so that the full value untruncated is retained even with a truncated display. should make things more robust!
The following user(s) said Thank You: JohnnyCNC
Please Log in or Create an account to join the conversation.
Moderators: KCJ, Lcvette
Time to create page: 0.103 seconds