I posted this on the Makergear forums yesterday thinking this might already exist. I'm convinced it doesn't. Please tell me if there's a way to do this already. Here's a link to that post though I will rehash much of it here:
In a nutshell, I use a tighter printer calibration to improve adhesion, but I get a lot of "squish-out" that makes that first layer larger than the other layers. This creates a sharp edge, and impacts the potential to join parts together. This is an effective "dilation" of the first layer. What I want to do is "erode" the first layer by 0.5mm to offset the dilation, and it makes the most sense for the slicing engine to do it for me.
I use the terms "erosion" and "dilation" to mean what they do in image morphology: http://www.inf.u-szeged.hu/ssip/1996/mo ... ology.html
In Simplify3D, all I can find is "First Layer Width: 100%", which is scalar instead of constant, and I'm not even clear if it does both X and Y. Further, if I do multiple objects in one print, a global X/Y rescaling of the first layer as single object is going to be super wrong. Instead I want to treat the first layer as a 2D binary image, perform a user-specified erosion on it, then use that for generating g-code paths.
I have been hacking it with my SolidPython/OpenSCAD model, by chopping off the bottom 0.3mm of the box to be printed, and replacing it with a layer that is 0.5mm smaller on each side. It does do exactly what I want, but this is an ugly hack/workaround that won't work with more complex models. It really needs to be a feature of the slicing engine.
I'm an experienced programmer -- if there was a mechanism to achieve this through plugin or script, I would get on that right away.