Locating Stock for CAM via Probing or Optics

I reckon in many circumstances we would be advantaged to orient stock relative to the machine’s primary axis, especially when milled features share that orientation. That said, I can see value in the capacity to place stock without regard for horizontal orientation, then locate the stock in the CAM environment via probe or optical report, or, in forth axis operations, for initial orientation or to restart an operation. I wonder if this task has been practically automated, or even if any here have used a probe to position stock in their CAM application.

What if you could place stock wherever you want and then rotate the machines coordinate system to match your stock? That way in CAM you wouldn’t have to do anything different…

1 Like

With regular stock, a viable solution. On this topic, there are some laser cutter systems that feature the ability to just drop in stock loosely- say, a bunch of rectangles to be marked as playing cards…

Have you checked out Now available for download: Paper Tools Mach 4 Plugin

@brettbond who makes it is here.

1 Like

Hi Christopher, if you’d like to give this a try I can set you up. The thing I’m adding to Paper Tools related to lasers is the ability to engrave your signature. But could be anything. I’ll make a video soon showing how you can upload gcode, then place a printout where you want to cut.


  1. This is dark magic.
  2. You’re brilliant.

Since you’re offering frosting (a very kind offer) without me having any appreciation for all the work that went into making the cake, I’ll ask for another slice… or two. You mentioned cutting signatures- does that mean line following (or dot-to-dot) will be in the cards? Once the camera has viewed the visual indicators, do they become unnecessary for the operation? It seems to me there is opportunity for dynamic flow into the CAD and CAM environment, with edges of stock located using ink or high contrast lighting- is that a pipe dream? Safe bet there are a myriad workflows and applications that are beyond my imagination that have already occurred to you- what do the second and third course look like? (It seems my gluttony knows no end.)

Its always irritated me that Vectric doesn’t have a button to just rotate the toolpath by some multiple of 90 degrees. I like to design everything so its oriented right side up, but often have to rotate it 90 degrees to cut it becauset thats a lot more convenient on my maching layout, and its a necessity when tiling.

One thing I do to rotate the whole toolpath is something like this:
G68 A0B0 R90 ;rotate about origin by 90 degrees

You do have to clear it afterward
G69 ;clear rotation

Thanks for the compliment. I’ll try to address your questions about next steps without overpromising.

I’m currently writing interfaces to create your own Paper Tools. There will be several types that I believe cover your questions:

  1. A raw GCode paper tool. You create GCode in your favorite CAD/CAM. You can then position, orient and scale that output wherever you place your targets.
  2. A python paper tool. For coder friends out there, you can write python code which builds on my SDK to generate gcode. This will be pretty basic at first but can tap into CAD APIs later. So you ca compose basic operations like slot, bore, pocket and Paper Tools target referencing like: pattern, offset, circle, line and so on.
  3. An image paper tool. This will be like the line following you mentioned. The camera scans the drawing on your material, offers some rudimentary image processing to get a set of vectors relative to your targets. It will generate gcode to operate on those vectors. Most simple will just be a cut path, but could include things like tabs, ramps, contours to follow.
  4. An SVG paper tool. This is similar to the image one above but the vector comes from the SVG instead of an image.

You also asked about edge detection. You won’t need to draw anything on edges, I’ll be introducing new target types that work to identify edges so you can make edging tools such as fillet, chamfer, dovetail and other joinery ops. You position the paper tool near the edge, the camera figures out where it is in the real world and modifies the operations above to operate along that edge.

As for the targets or the paper tool itself, once the camera scans those (what I call “navigation”) then you remove the paper tool and it’s reusable. You can also just draw on your material but then the marks usually get machined away of course.

Anyway lots of plans, just cranking away to build as much of this and also offer stable releases!

1 Like

Hmm, I think I need to add a button to my Mach4 screen to do this and re-gen the toolpath. Then I can stop going back and forth on some of my Vectric files every time I edit them.

Thanks for the idea!

Well, that turned out great.
I wrote a simple script to run that Gcode, and regenerate the toolpath. I also added a little reminder diagram to show which state the machine is in and where the rotation point is.

Push the button and the toolpath is rotated 90 degrees.
Now I don’t have to rotate the whole design in Vectric every time I edit the file just to look at it in the normal viewing position and then rotate back when generating the tool path. Thanks for the idea Brett!

1 Like

Have you run any of that code in a rotated state? I’d be interested to see how that works… That’s adding a lot of math onto the controller…

The only bigger file I ran is this on (35k lines). I don’t think translating coordinates is much of a job for a modern computer. The CPU utilization was still only about 15% for this job which is about what it always is on mine for running Mach4.

1 Like

That’s good to hear that it worked well!