Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Hi Xalor,

Sorry to be getting back to you at such a late date! I didn't receive any notifications that you'd replied to this topic and it was pure chance I stumbled across it just now, doh! I'll have to keep my eye on the forum more closely. Yes, the horizontal milling toolpath simply generates cuts at "Cut Depth" increments until "Max Depth". While there's no guarantee that a pocket is flat at the bottom, and therefore no way to back up the cut depth to the bottom of an arbitrary pocket's bottom (because there's nothing requiring the pocket to be flat at the bottom) it just contours at successive depths.

The "Leave Stock" parameter offsets the canvas outward in all directions, both horizontally and vertically. It's effectively doing the same thing that the raster-layer editing mode's Expand/Contract function does, but "behind the scenes". This means that a pocket 6mm deep with a leave stock of 1mm when horizontal milling will become a 5mm deep pocket where a cut depth of 2mm will only produce two layers of cuts at -2mm and -4mm because there's no way to know where the bottom of the pocket is when there's not even a guarantee it will be flat. What you want to mill out very specific depths is the pocketing operation where you can directly control the depth it will cut down to, especially if you're looking for better tolerances. The horizontal milling operation is better suited for roughing out relief carvings and the like because it treats the canvas like a 3D surface whereas the Pocket Milling operation just contours it and then generates a set of cuts down to the specified Max Depth regardless of what the rest of the canvas below the contouring plane is like.

Here's an example of what a canvas could look like that the horizontal milling operation has to wrestle with:

I did just look at the code and while it does back up to Max Depth if a cut increment passes it there is an issue where even if a pocket reaches the bottom of the canvas there are no contours generated at the bottom of that pocket - which is a product of the contouring algorithm trying to contour at the same exact level as the bottom of the canvas - which is "solid" to it. I'll add in a fix there for v1.50a to make sure it is able to contour the bottom-most plane of pockets that reach the bottom of the canvas. Good catch!

v1.50a is just about ready. I've been wrestling with the blur/smudge raster-editing tools a lot more than I had planned - which is probably why I put them off for sooooo very long. It will be nice to finally have them out of the way. The next big thing I'd like to do is work on the adaptive/trochoidal horizontal milling, which I am unsure as to whether I should add it as an option to the existing horizontal milling operation or create an entirely new operation for. Either way is going to have its pros/cons for both users and me writing the code for it - it will be great to have though, especially for less rigid machines that struggle with cutter engagement varying all over the place, like my own  machine does :P

 Charlie