Theta (rotation) correction in Carbide Motion

So, maybe I’m just lazy, but sometimes squaring a piece of stock to my machine’s x/y is tedious or impractical. Say I’m trying to set my stock down square, but I’m off by two degrees. I’d much rather have the option to use my bitzero to set one work offset at my typical zero, then a second work offset at either +x or +y from that point on the other corner of my stock, then have CM do the matrix multiplications to transform my g-code to the new coordinate system, rotated by two degrees. Apart from being easier for me, this would be more accurate than any manual squaring than a human will ever be capable of.

I use the center origin most times. This makes my project cut out no matter how many degrees my work piece may be. I use an L bracket in the lower left corner and have not made one with a cutout for the BitZero. The zero origin is very useful for v carvings because the carving is in the center of the work so material size is not very important. So for me the material being perfectly square is not very important unless you are going to use the entire material. I usually am cutting out the object with a contour cut.

That sounds right for signs, carvings, or many other applications, but often I am using 99% of the stock. In my current project, I am cutting out the object with a contour cut, but I only have ~2 mm to spare on two of the edges, so it’s important that my stock is very square, or I’ll eat into the clamps holding my workpiece. In other cases, you might be carving or otherwise modifying a work piece that has already been through some shaping steps on other tools in your shop. I guess the utility of this feature would depend heavily on what the user typically cuts and their work holding situation, but would be a fairly easy one to program assuming it’s purely a transformation applied to the loaded g-code and doesn’t interact/interfere with any of the other software features in CM.

The usual approach would be to use a sacrificial wasteboard, and machine a reference edge into that. Line up your stock with that, done.

1 Like

My take on this is if the stock is more valuable than a layer of the wasteboard, then as @mhotchin noted, I machine a reference line, or a shallow pocket for it.

The problem w/ having the machine adjust for rotation of the stock is that surface finish will be negatively affected by what were straight-line moves becoming a lot of long diagonals, which then have to become shorter triangles — movement interpolation will help, but if the stock is tough, then machine deflect will show as defects at the points of inflection where the machine is only on position because of moving between micro steps.

If you’re working at the front of the machine it’s pretty simple to just use a combination square or similar tool to set the stock square w/ the front edge of the machine.

Here is something you could try…
I put 2" squares on my waste board. You could set a square or straight edge into the groove and place your material against that to ensure you are square with your machine.

Just one solution.

Another may be as follows.

Having these edge guides squared to the machine. This serves two purposes. One, to square up material against for a constant X, Y zero. Or if needing to be able to go all around your material, use a square or straightedge to offset stock and fasten down.

1 Like

Thanks all for your suggestions! I especially like the grid lines @ehendrix suggested as a clever solution. This is presumably similar (identical?) to the machined reference line @WillAdams, but across the entire wasteboard. I hadn’t seen that solution before, but I’ll use it on my next wasteboard.

I admit I’m being cheap with my wasteboard, which is already down to its last layer. It’s time to recreate the (lost) file used to make it, then make a new one.

I might be a minority, but I still think theta correction would be useful in many cases and fairly easy to implement. I’d be willing to accept microstep-sized (~200 um, if my 8x microstep assumption is correct) interpolation errors on many projects, and one could just not use this feature if they couldn’t accept the interpolations errors. But if I’m the only one, I can write my own g-code rotation script. The Carbide team gets to decide where best to spend their time!

1 Like

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