add CAM control to omit initial tool change

This commit is contained in:
Stewart Allen 2023-01-11 21:55:08 -05:00
commit 09109a896d
5 changed files with 15 additions and 5 deletions

View file

@ -9,15 +9,19 @@ Full docs @ https://docs.grid.space/projects/kiri-moto
* add new fdm parameters, range overrides
* various fixes and improvements to CAM indexing
* various fixes and improvements to gcode variables
* move to save Z between CAM ops, refresh spindle speed
* CAM move to save Z between ops, refresh spindle speed
* improve gcode arc import decoding
* improve trace line selection with zoom adaptive thresholds
* add CAM origin offset optional parameters
* CAM add origin offset optional parameters
* remove auto-decimation on object import
* fix FDM raft line fill strategy
* FDM fix raft line fill strategy
* slicing memory reduction from team lychee
* option to control first CAM output point order
* option to control first output point order
* CAM add control to omit initial tool change
- refactor object/group storage model in Mesh:Tool
- select near or vertical pocket faces
- add omit pocket to rough and outline
# Release 3.7 (2022-11-12)

View file

@ -34,6 +34,7 @@ CAM.export = function(print, online) {
output = [],
spindle = 0,
newSpindle = 0,
toolChanges = 0,
spindleMax = device.spindleMax,
origin = settings.origin || { x: 0, y: 0, z: 0 },
space = device.gcodeSpace ? ' ' : '',
@ -188,9 +189,10 @@ CAM.export = function(print, online) {
pos.t = out.tool;
consts.tool = pos.t;
consts.tool_name = toolNameByNumber(out.tool);
if (!laserOp) {
if (!laserOp && (spro.camToolInit || toolChanges > 0)) {
filterEmit(cmdToolChange, { ...consts, spindle: newSpindle } );
}
toolChanges++;
}
// on spindle change (deferred from layer transition so it's post-toolchange)

View file

@ -582,6 +582,7 @@ const conf = exports({
camTrueShadow: false,
camForceZMax: false,
camFirstZMax: false,
camToolInit: true,
ops: [], // current ops
op2: [] // flip ops
}

View file

@ -1974,6 +1974,7 @@ gapp.register("kiri.init", [], (root, exports) => {
camConventional: uc.newBoolean(LANG.ou_conv_s, onBooleanClick, {title:LANG.ou_conv_l, modes:CAM}),
camEaseDown: uc.newBoolean(LANG.cr_ease_s, onBooleanClick, {title:LANG.cr_ease_l, modes:CAM}),
camDepthFirst: uc.newBoolean(LANG.ou_depf_s, onBooleanClick, {title:LANG.ou_depf_l, modes:CAM}),
camToolInit: uc.newBoolean(LANG.ou_toin_s, onBooleanClick, {title:LANG.ou_toin_l, modes:CAM}),
fdmSep: uc.newBlank({class:"pop-sep", modes:FDM_CAM}),
camFirstZMax: uc.newBoolean(LANG.ou_z1st_s, onBooleanClick, {title:LANG.ou_z1st_l, modes:CAM}),
camForceZMax: uc.newBoolean(LANG.ou_forz_s, onBooleanClick, {title:LANG.ou_forz_l, modes:CAM}),

View file

@ -676,6 +676,8 @@ self.kiri.lang['en-us'] = {
ou_conv_l: ["milling direction","uncheck for 'climb'"],
ou_depf_s: "depth first",
ou_depf_l: ["optimize pocket cuts","with depth priority"],
ou_toin_s: "tool init",
ou_toin_l: "emit tool change with first operation",
ou_forz_s: "force z max",
ou_forz_l: "all moves between pockets will go to z max (above stock). this is usually required if you are not performing a roughing operation before pocketing operations.",
ou_z1st_s: "first z max",