Non-level CNC bed?

Just been trying the v-bit for the first time.

Both with engrave and with trace based paths from Fusion.

In both cases - there is a noticable difference across the model X axis on depth.

Trace is easier to check since it is supposed to simply trace each line to the depth specified.

I set up an image that was 6x6cm centered in the 8x8cm trial MDF pieces. It was set to trace from stock top a half mm in depth.

If I set a depth of about -0.5mm from stock top then as it starts way to the left it all looks good. It stays good all the way from about x=10mm to about halfway (x=40) and then begins to fade. From there it just gets fainter up to about x=60. The last 10mm I can’t see at all.

I’ve tried measuring the MDF with calipers - the variation there is very low (2.84 +/- 0.01 for the last sample peice).

Since it is trace - it’s impossible to measure the actual depth. But - I am guessing that across the plate (increasing x-axis) I’m seeing the first half is level then it drops about 0.3mm towards the other side.

I don’t have anything really sensitive enough to measure it closely though.

Not sure what to do with this - it kind of stops trace engraving working unless you can get the workpiece entirely level.


I was thinking the same and now that you have tested it you have confirmed it.
I already asked here but I got no answer, I hope you do :wink:
Maybe you should post this on Facebook, there are a few snapmaker-groups that are quite active

1 Like

I have the same problem with my CNC bed. If I trace engrave a sentence of text from left to right (along the x axis). The letters are great at the beginning (left side), but slowly fade to nothing and disappear at the end (right side).
For now I am engraving along the y axis and there seems to be less deviation. Not that useful as it only works for small linear engravings…

1 Like

Well, its not a ‘real’ CNC machine to 200000$ but it does a amazing job anyway, until SM build in bed alignment like like in 3Dprint, one can shim it up.

Has anyone got a reasonable fix for this yet? its ridiculous that i can’t cnc because there’s no way to level the snapmaker in this configuration.

if we need to level the platform in a way like the calibration in 3D printing mode, it seems not accessible currently since it requires the change of the platform (it’s a normal aluminium alloy plate, but relatively flat) as well as the firmware. I have done a few CNC carving wood recently and they’re good. but I didn’t try carving on wood specifically along the x axis. will try it this weekend.
can we use something traditionally to help to level the platform if needed, such as using a level gauge or other accessories to get higher precision?

My work table dropped 0.6mm diagonal so I used what I had at home and put 0.3 and 0.15 between table and linear module. Now less than 0.1 difference.


Now almost perfectly in level.

1 Like

Old topic, but still relevant. My A350 takes a significantly deeper cut on the right side than the left. I measured a full mm difference between the left and right sides of my cnc bed. Why, when we have an auto-levelling macro for the 3D printer, can we not level the bed for CNC?

Because that’s not how cnc works. 3d is additive. CNC is subtractive.
Tramming x-axis and surfacing spoilboard is how even big expensive machines have to do it.

I’m a machinist, I’m familiar with the process. At my last job we had a setup where we get a complex contoured surface, probe it, and then engrave or mill a 2D path onto it. The machine automatically adjusted for the variable z-height, and it worked great every time. So, why, when we have an auto-levelling macro for the 3D printer, can we not level the bed for CNC?

You’re mixing up two different things in my opinion.

If my bed isn’t flat, and I put something on top of it that I want do do some milling on, I have no idea if it’s flat, tilted or whatever. For all I know it could be rocking around etc. So I expect my base surface to be as flat as possible. (It would be a lot of fun when you’re doing 2 or more milling operations on different sides and expect it to come out squared).

If you’re deliberately trying to engrave a curved surface, then what you mention is correct and you need some kind of 3d touch probe to scan the surface and wrap your gcode around the (curved) surface. (alternatively you can try to recreate the curved object in a cad tool, but that’s not necessarily easier, and definitely not more fun)

But those are, in my opinion, two different things.

While yes, there are certain situations where conforming to the workpiece is preferable and necessary, (milling pcb’s it would be helpful) like @brvdboss said, that’s not what you were asking for. And tramming or surfacing is what would best solve the problem you’re describing.

There’s also no sensor built into the cnc head. So it’s a hardware limitation and not just a matter of programming.


You’re confusing flat and level. The CNC bed, I believe, is reasonably flat, though it is by no means level. With the 3D print bed, the machine takes 9 datum points and uses that to ascertain the angle and tilt of the actual bed. That offset goes into the machine, and when the 3D printer runs a contour at a specific z-height, the machine turns that code into the actual z-position setting. If the machine let us run a leveling macro for the router, then the flat bed would be considered level in the software, and my 0.25mm DOC would be roughly 0.25 over the entire bed.

No. The 3d calibration is measuring the actual height at various points of the bed.
You can choose to do a 5x5 (25 point) calibration from the controller and some people do an 11x11 calibration. If you were just worrying about bed tilt it would only need four reference points at the corners of the bed.
And ‘reasonably flat’ is relative. And differs greatly among owners.

Tramming and surfacing does what you’re trying to accomplish.

I agree that flat & level are two different things as well. however, on my machine it wasn’t either of those. The aluminium wireframe isn’t perfectly flat for most users and the cnc bed will bend to fit it at some point.

So you’ll want to tram the machine first in a reproducible way. A simple way is to just pull the X-axis all the way up (with machine powered off) and home. At that point you’ll likely find that it isn’t completely level. Or you can tram aligned with the bed or Y-axis. (in the latter, there still isn’t a guarantee it’s completely level).

If the surface is flat enough for you, I’ll leave that up to you.

However, if it isn’t level then all vertical cuts you make (say you cut out a square) the borders will be somehow tilted. You won’t get 90 degree corners with the top or bottom surface because of the tilt. If you use your proposed approach of leveling in software by compensating for the tilt, that will still be the case. as the toolhead can’t rotate to match the tilt.
So you’re only real solution is to actually surface the bed first.

But before you do that, make sure to be able to tram your device in a reproducible way. At some point you will have an accident that can screw things up and then you want to be able to return to that state somehow without resurfacing your bed again. (search the forum for tramming/ to tram)