add CAM control to omit initial tool change
This commit is contained in:
parent
937c2910f8
commit
09109a896d
5 changed files with 15 additions and 5 deletions
12
release.md
12
release.md
|
|
@ -9,15 +9,19 @@ Full docs @ https://docs.grid.space/projects/kiri-moto
|
||||||
* add new fdm parameters, range overrides
|
* add new fdm parameters, range overrides
|
||||||
* various fixes and improvements to CAM indexing
|
* various fixes and improvements to CAM indexing
|
||||||
* various fixes and improvements to gcode variables
|
* 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 gcode arc import decoding
|
||||||
* improve trace line selection with zoom adaptive thresholds
|
* 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
|
* remove auto-decimation on object import
|
||||||
* fix FDM raft line fill strategy
|
* FDM fix raft line fill strategy
|
||||||
* slicing memory reduction from team lychee
|
* 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
|
- 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)
|
# Release 3.7 (2022-11-12)
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ CAM.export = function(print, online) {
|
||||||
output = [],
|
output = [],
|
||||||
spindle = 0,
|
spindle = 0,
|
||||||
newSpindle = 0,
|
newSpindle = 0,
|
||||||
|
toolChanges = 0,
|
||||||
spindleMax = device.spindleMax,
|
spindleMax = device.spindleMax,
|
||||||
origin = settings.origin || { x: 0, y: 0, z: 0 },
|
origin = settings.origin || { x: 0, y: 0, z: 0 },
|
||||||
space = device.gcodeSpace ? ' ' : '',
|
space = device.gcodeSpace ? ' ' : '',
|
||||||
|
|
@ -188,9 +189,10 @@ CAM.export = function(print, online) {
|
||||||
pos.t = out.tool;
|
pos.t = out.tool;
|
||||||
consts.tool = pos.t;
|
consts.tool = pos.t;
|
||||||
consts.tool_name = toolNameByNumber(out.tool);
|
consts.tool_name = toolNameByNumber(out.tool);
|
||||||
if (!laserOp) {
|
if (!laserOp && (spro.camToolInit || toolChanges > 0)) {
|
||||||
filterEmit(cmdToolChange, { ...consts, spindle: newSpindle } );
|
filterEmit(cmdToolChange, { ...consts, spindle: newSpindle } );
|
||||||
}
|
}
|
||||||
|
toolChanges++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// on spindle change (deferred from layer transition so it's post-toolchange)
|
// on spindle change (deferred from layer transition so it's post-toolchange)
|
||||||
|
|
|
||||||
|
|
@ -582,6 +582,7 @@ const conf = exports({
|
||||||
camTrueShadow: false,
|
camTrueShadow: false,
|
||||||
camForceZMax: false,
|
camForceZMax: false,
|
||||||
camFirstZMax: false,
|
camFirstZMax: false,
|
||||||
|
camToolInit: true,
|
||||||
ops: [], // current ops
|
ops: [], // current ops
|
||||||
op2: [] // flip ops
|
op2: [] // flip ops
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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}),
|
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}),
|
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}),
|
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}),
|
fdmSep: uc.newBlank({class:"pop-sep", modes:FDM_CAM}),
|
||||||
camFirstZMax: uc.newBoolean(LANG.ou_z1st_s, onBooleanClick, {title:LANG.ou_z1st_l, modes: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}),
|
camForceZMax: uc.newBoolean(LANG.ou_forz_s, onBooleanClick, {title:LANG.ou_forz_l, modes:CAM}),
|
||||||
|
|
|
||||||
|
|
@ -676,6 +676,8 @@ self.kiri.lang['en-us'] = {
|
||||||
ou_conv_l: ["milling direction","uncheck for 'climb'"],
|
ou_conv_l: ["milling direction","uncheck for 'climb'"],
|
||||||
ou_depf_s: "depth first",
|
ou_depf_s: "depth first",
|
||||||
ou_depf_l: ["optimize pocket cuts","with depth priority"],
|
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_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_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",
|
ou_z1st_s: "first z max",
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue