What's the correct way to use the Set Current Position dialog?

Hello. Sorry for the long post but I wanted to explain what I’m trying to do. I’m setting up a new Shapeoko 5 Pro. The only CNC I used before this was a very old industrial machine with detailed manual input via control panel. I’m confused with how Carbide Motion manages coordinates and accepts input for offsets.

I’m using a workholding fixture so I can machine multiple similar but not identical double sided pieces at the same time. It is mostly guitar and other woodworking parts where each finished product is cut from separate stock, not 20 parts cut from one sheet with tabs…

For various reasons after zeroing X,Y and Z, I need to be able to make adjustments on the fly.

Sometimes its just to raise or lower the Z incrementally like +/-.015" to account for variance in stock thickness and how different species cut.

Then there’s more advanced cases like with 8 pieces on the fixture I want to run a certain toolpath on only 4 of them, ie not every piece has every feature. This I learned to do with offsets. Toolpath is written for coordinates of “Slot A” on the fixture. Run the program, then input an offset to run the same toolpath at Slot C, Slot F. etc is the idea.

I discovered Motion / Shapeoko doesn’t honor storing and recalling G54-59 which takes a way one way to do this.

I thought the Set Current Position might be the GUI friendly way to do this, but I can’t get a handle on how it behaves.

It seems if you click Zero X, Y or Z it makes whatever coordinates the spindle is at Zero. That’s a start but how do you undo that or do the opposite?

For example if I want to make X24 become X12 how do I that?

Typing 12.000 into the dialog and hitting enter or Done doesn’t change anything. No matter what is typed in the fields clicking Zero… Makes the current position zero.

thank you…

It might be that you could do what you want for a single position using G92, but this isn’t supported.

Hi Will. Yes I think you’re right but as you said its not on supported G-Code list. The Set Current Position dialog sounds like it means to do something like this but I can’t figure out how.

It’s supported by Grbl, so if you use the MDI and prefix it, it should get sent — not sure if it will get cleared after exiting the MDI though, so test carefully.

No luck with G92. /G92 X-10Y0Z0 or the same with full 4 decimal places for example both appear to be accepted (shows BUSY) but doesn’t work. It also reverts the machine to un-initialized state.

1 Like

The ‘Set Zeros’ page UI is pretty defective. In order for a change to register, you must hit ‘Enter’ when that field has focus.

Moving away from the field to another will not register the new value. Hitting ‘Done’ will not register the new value.

You’ll know when the field has registered when the value in the field matches the value in the position read-out on the left.

For registering different positions as the X-Y zero location, the CM approach is to use Quick Actions. When creating a Quick Action, one of the options is to save the current position as an X-Y zero - invoking the Quick Action will set the zero to that location.

2 Likes

Thank you this is hugely helpful. Hitting enter with the focus on that line does indeed do what I thought it should to make quick reversible X & Y offsets.

I had seen a video of it but I didn’t quite follow what the “Create from Current Zero” button meant to do. Just tried again and realized its displaying in metric not inches and now I get how to use it…

These two points cover most of what I hope to do with offsets and repeatable XY zero.

What still eludes me is quick adjustments for Z zero. It can be done from Set Zero dialog but why is BitSetter measurement necessary again every time without a tool change?

The typical use case for quick changes is is when cutting a .625" deep pocket with tight depth tolerance +/-.005". Procedure is lower the bit to the top of material, then raise Z +.100" and set Z zero. This triggers measurement. Start the toolpath, then pause/stop. Measure the actual depth of cut, then adjust Z zero manually. If the test cut was spot on then Jog the spindle to a clear area and back to Z0 and set Z-0.100" to zero. There is no need to measure the tool I just cut with again after this but it measures it anyway… Even a change of .001" triggers this.

To be honest the whole Load New Tool / Tool Change Prompt / Bit Setter check seems like it wants to keep measuring the same thing yet it never prompts to set Z zero.

Maybe I’m missing something… :thinking:

The tool is measured whenever the length is relevant.

Note that one can enter a value and get an offset zero setting — does that help?

For my part, I try to just accurately measure stock thickness, and then set zero using the BitZero — seems to work unless I mess up somehow.

Well it does work to enter it manually in the Set Zero dialog it just triggers the measurement again which seems unnecessary.

I don’t have BitZero I’m not sure what it does versus BitSetter. I try to measure and get material as close to equal as possible. But there’s always variance and difference in how each species and piece of wood cuts which I try to correct or at least minimize with micro-adjustmetnts on the fly. MDF this is less a problem and I imagine metals too…

The BitZero is to set the origin relative to the corner or surface of rectangular/flat stock.

The BitSetter is to measure tool length so as facilitate using multiple tools in a single file.

IME, the machine cuts to an accurate depth regardless of material — so long as one has feeds and speeds and tooling appropriate to the material being cut, and one sets up the Depth per Pass so that it interacts w/ Max Depth so as to make an ultimate pass which is effectively a finishing pass — say one has a Depth per Pass of 0.125" and a Max Depth of 0.5" — this results in 4 full-depth passes being made, but if one reduces the Depth per Pass to 0.124", then a fifth and final pass will be made which removes only 0.004" of material.

2 Likes

Thanks for the BitZero explanation. I’m realizing the way the system is meant to be used is inverted from how I learned. I was taught X0Y0 should be treated as immutable and everything was drawn in reference to it. Temporary offsets were in G-code only contained within a program then reset at its end. Its like one approach brings the project to the zero, and the other brings the zero the project. Just different way of doing the same thing…

There is an immutable Machine Position — click on “Position” to toggle to it.

Right. The machine zero is in the extreme NE corner. I understand mechanically why it homes there but it makes every move a negative number reading right to left and out to in. I changed it to the polar opposite extreme SW corner to match the default Carbide Create layout / Cartesian coordinate approach. I find it easier to keep track of precise measurements and locating points on fixtures that way… ymmv

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.