ensure top is cleared in roughing when no top offset and clear faces checked. only show view clear in arrange mode

This commit is contained in:
Stewart Allen 2020-11-19 13:54:55 -05:00
commit 69c3a07f90
3 changed files with 8 additions and 2 deletions

View file

@ -63,6 +63,7 @@
* `B` outside cutting direction in roughing mode inverted
* `B` clear voids has double interior pass because wrong offset shadow used
* `B` top clearing operations should use linear, not offset, passes
* `F` flat and volumetric rendering of paths
* `F` z bounded slices (extension of z bottom offset feature)
* `F` z planar settings visualizations

View file

@ -1985,7 +1985,8 @@
viewMode = mode;
platform.deselect();
updateSelectedInfo();
// updateStockVisibility();
// disable clear in non-arrange modes
$('view-clear').style.display = mode === VIEWS.ARRANGE ? '' : 'none';
switch (mode) {
case VIEWS.ARRANGE:
complete = {};

View file

@ -144,12 +144,16 @@
thruHoles = tshadow.map(p => p.inner || []).flat();
// create facing slices
if (procFacing) {
if (procFacing || proc.camRoughFlat) {
let shadow = shadowTop.tops.clone();
let inset = POLY.offset(shadow, (roughToolDiam / 4));
let facing = POLY.offset(inset, -(roughToolDiam * proc.camRoughOver), { count: 999, flat: true });
let zdiv = ztOff / roughDown;
let zstep = (zdiv % 1 > 0) ? ztOff / (Math.floor(zdiv) + 1) : roughDown;
if (proc.camRoughFlat && ztOff === 0) {
// compensate for lack of z top offset in this scenario
ztOff = zstep;
}
for (let z = zMax + ztOff - zstep; z >= zMax; z -= zstep) {
let slice = shadowTop.slice.clone(false);
slice.z = z;