re-enabled ease-down. added keyboard shortcuts to help

This commit is contained in:
Stewart Allen 2020-02-08 16:50:14 -05:00
commit be8bc1f9ff
8 changed files with 136 additions and 37 deletions

View file

@ -936,7 +936,7 @@ var gs_kiri_cam = exports;
output = print.output,
modes = CPRO,
depthFirst = process.camDepthFirst,
easeDown = false && process.camEaseDown,
easeDown = process.camEaseDown,
tolerance = process.camTolerance,
drillDown = process.drillDown,
drillLift = process.drillLift,

View file

@ -48,7 +48,7 @@ var gs_kiri_fdm = exports;
vaseMode = spro.sliceFillType === 'vase',
doSolidLayers = solidLayers && !vaseMode,
firstOffset = sdev.nozzleSize / 2,
shellOffset = sdev.nozzleSize * spro.sliceShellSpacing,
shellOffset = sdev.nozzleSize,
fillOffset = sdev.nozzleSize * settings.synth.fillOffsetMult,
fillSpacing = sdev.nozzleSize,
sliceFillAngle = spro.sliceFillAngle,

View file

@ -55,7 +55,6 @@ self.kiri.license = exports.LICENSE;
processName: 1,
sliceHeight: 1,
sliceShells: 1,
sliceShellSpacing: 1,
sliceFillAngle: 1,
sliceFillOverlap: 1,
sliceFillSparse: 1,
@ -277,7 +276,6 @@ self.kiri.license = exports.LICENSE;
sliceHeight: 0.25,
sliceShells: 3,
sliceShellSpacing: 1.0,
sliceFillAngle: 45,
sliceFillOverlap: 0.3,
sliceFillSparse: 0.5,
@ -2244,7 +2242,7 @@ self.kiri.license = exports.LICENSE;
}
function showHelpLocal() {
showHelp("/kiri/help-kiri.html");
showHelp("/kiri/help.html");
}
function showHelp(local) {
@ -2677,6 +2675,7 @@ self.kiri.license = exports.LICENSE;
roughingSpeed: UC.newInput("feed rate", {title:"max speed while cutting\nmillimeters / minute", convert:UC.toInt, modes:CAM}),
roughingPlunge: UC.newInput("plunge rate", {title:"max speed on z axis\nmillimeters / minute", convert:UC.toInt, modes:CAM}),
roughingStock: UC.newInput("leave stock", {title:"horizontal offset from vertical faces\nstock to leave for finishing pass\nin millimeters", convert:UC.toFloat, modes:CAM}),
camEaseDown: UC.newBoolean("ease down", onBooleanClick, {title:"plunge cuts will\nspiral down or ease\nalong a linear path\nas they cut downward", modes:CAM}),
roughingOn: UC.newBoolean("enable", onBooleanClick, {modes:CAM}),
finishing: UC.newGroup("finishing", null, {modes:CAM}),
@ -2732,7 +2731,6 @@ self.kiri.license = exports.LICENSE;
camZBottom: UC.newInput("z bottom", {title:"offset from part bottom\nto limit cutting depth\nin millimeters", convert:UC.toFloat, modes:CAM}),
camZClearance: UC.newInput("z clearance", {title:"travel offset from z top\nin millimeters", convert:UC.toFloat, bound:UC.bound(1,100), modes:CAM}),
camPocketOnly: UC.newBoolean("pocket only", onBooleanClick, {title:"constrain to\npart boundaries", modes:CAM}),
// camEaseDown: UC.newBoolean("ease down", onBooleanClick, {title:"rough plunge cuts\nwill spiral down", modes:CAM}),
camDepthFirst: UC.newBoolean("depth first", onBooleanClick, {title:"optimize pocket cuts\nwith depth priority", modes:CAM}),
outputClockwise: UC.newBoolean("clockwise", onBooleanClick, {title:"waterline milling direction", modes:CAM}),
@ -2747,7 +2745,6 @@ self.kiri.license = exports.LICENSE;
outputRetractDist: UC.newInput("retract dist", {title:"amount to retract filament\nfor long moves. in millimeters", convert:UC.toFloat, modes:FDM}),
outputRetractSpeed: UC.newInput("retract rate", {title:"speed of filament\nretraction in mm/s", convert:UC.toInt, modes:FDM}),
outputRetractDwell: UC.newInput("engage dwell", {title:"time between re-engaging\nfilament and movement\nin milliseconds", convert:UC.toInt, modes:FDM}),
sliceShellSpacing: UC.newInput("shell spacing", {title:"as a percentage of nozzle width\n< 1.0 causes shell overlap\nrecommended 0.85 - 1.0", convert:UC.toFloat, bound:UC.bound(0.5,1.0), modes:FDM}),
outputCoastDist: UC.newInput("shell coast", {title:"non-printing end\nof perimeter shells\nin millimeters", bound:UC.bound(0.0,10), convert:UC.toFloat, modes:FDM}),
// outputWipeDistance: UC.newInput("wipe", {title:"non-printing move at\close of polygon\nin millimeters", bound:UC.bound(0.0,10), convert:UC.toFloat, modes:FDM}),
sliceSolidMinArea: UC.newInput("min solid", {title:"minimum area (mm^2)\nrequired to keep solid\nmust be > 0.1", convert:UC.toFloat, modes:FDM}),

View file

@ -1,7 +1,7 @@
var exports = {
COPYRIGHT:"Copyright (C) 2014-2019 Stewart Allen <sa@grid.space> - All Rights Reserved",
LICENSE:"See the license.md file included with the source distribution",
VERSION:"1.5.5"
VERSION:"1.5.6"
};
if (!module) var module = {};
module.exports = exports;

View file

@ -17,10 +17,8 @@
* first layer segment large flat areas for better fill reliability
* adaptive column to compensate for fine or layers that finish too quickly and melt
* apply finish speed to exposed top and underside flat areas
* store/recover grid:print target against printer selected in device
* expand internal supporting flats
* first layer support speed should be same as shell speed
* use fill spacing for top raft fill spacing
* add lay-flat auto-rotation or from selected face
* refactor thin fill to use outline and inside poly normal dist to self
* check for support / brim intersections on first layer

View file

@ -1,27 +0,0 @@
<button id="help-close" class="modal-x">X</button>
<center><b>Quick Start</b></center>
<p>
<a href="#" title="Kiri-e is the Japanese art of papercutting"><b>Kiri:Moto</b></a>
is an extensible, multi-purpose slicing<br>and visualization engine that produces output for:
<li><label>CAM</label> : 3 axis CNC toolpaths
<li><label>FDM</label> : GCode for 3D printers
<li><label>LASER</label> : DXG / SVG cut paths
<li><label><a target="_onshape" href="https://appstore.onshape.com/apps/CAM/EAAEWYIOMQKBENEMYW2N7MF253CT4WYL6SUJGEY=/description">Onshape</a></label> : Directly Integrated
<li><label><a target="_thingiverse" href="http://www.thingiverse.com/apps/kirimoto/">Thingiverse</a></label> : Thing App
</p>
<p>
<b><a>Files</a></b> are loaded via drag/drop or 'load' menu
<li>Loaded files are cached in the lower-left menu
<li>Check device mode (FDM, CAM, Laser)
<li>Select a GCode profile for your device
<li>Check slicing parameters in right menu
<li>Slice can be found under 'function'
</p>
<p>Refer to the <a target="_help" href="https://wiki.grid.space/wiki/Kiri:Moto">Grid.Space Wiki</a> for more information</p>
<p id="kiri-version"></p>

102
web/kiri/help.html Normal file
View file

@ -0,0 +1,102 @@
<button id="help-close" class="modal-x">X</button>
<div id="help-body" class="flex frow">
<div id="help-left">
<p>
<a href="#" title="Kiri-e is the Japanese art of papercutting"><b>Kiri:Moto</b></a>
is an extensible, multi-purpose slicing and visualization engine that produces output for:
<li><label>CAM</label> : 3 axis CNC toolpaths
<li><label>FDM</label> : GCode for 3D printers
<li><label>LASER</label> : DXG / SVG cut paths
<p>
<b>Application access</b>
<li><label><a href="https://grid.space/kiri">Direct</a></label> -- Native web app
<li><label><a target="_onshape" href="https://appstore.onshape.com/apps/CAM/EAAEWYIOMQKBENEMYW2N7MF253CT4WYL6SUJGEY=/description">Onshape</a></label> -- in Onshape App Store
<li><label><a target="_thingiverse" href="http://www.thingiverse.com/apps/kirimoto/">Thingiverse</a></label> -- as a Thing App
</p>
<p>
<b>File Load and Import</b>
<li>Drag and drop onto the build grid
<li>Or load with Function [Import]
<li>Cached file access with Function [+]
<p>
<b>Start Slicing</b>
<li>Select device mode (FDM, CAM, Laser)
<li>Select device profile under Devices
<li>Set slicing parameters in right menu
<li>Test slicing settings with Function [Slice]
<li>Preview slicing output with Function [Preview]
<li>Export gcode with Function [Export]
<p>Refer to the <a target="_help" href="https://wiki.grid.space/wiki/Kiri:Moto">Grid.Space Wiki</a> for more information</p>
<p id="kiri-version"></p>
</div>
<div id="help-right">
<p><center><b>Keyboard & Mouse Shortcuts</b></center>
<p>
<div class="flex frow">
<table>
<tr><th colspan=2 class="grouphead">Mode</th></tr>
<tr><td><label>a</label></td><td>Arrange</td></tr>
<tr><td><label>s</label></td><td>Slice</td></tr>
<tr><td><label>p</label></td><td>Preview</td></tr>
<tr><td><label>x</label></td><td>Export</td></tr>
<tr><td></td></tr>
<tr><th colspan=2 class="grouphead">View</th></tr>
<tr><td><label>h</label></td><td>Home</td></tr>
<tr><td><label>t</label></td><td>Top</td></tr>
<tr><td><label>l</label></td><td>Left</td></tr>
<tr><td><label>r</label></td><td>Right</td></tr>
<tr><td><label>b</label></td><td>Back</td></tr>
<tr><td><label>z</label></td><td>Reset</td></tr>
<tr><td><label>v</label></td><td>Layer</td></tr>
<tr><td></td></tr>
<tr><td><label>shift</label> wheel</td><td>Change Layer</td></tr>
<tr><td><label>meta</label> drag</td><td>Pan</td></tr>
<tr><td>right-drag</td><td>Pan</td></tr>
<tr><td>3-touch-drag</td><td>Pan</td></tr>
<tr><td>left-drag</td><td>Rotate</td></tr>
<tr><td>mouse-wheel</td><td>Zoom</td></tr>
<tr><td>middle-drag</td><td>Zoom</td></tr>
<tr><td>2-touch-pinch</td><td>Zoom</td></tr>
</table>
<table>
<tr><th colspan=2 class="grouphead">Config</th></tr>
<tr><td><label>d</label></td><td>Select Device Dialog</td></tr>
<tr><td><label>o</label></td><td>Select Tool Dialog</td></tr>
<tr><td><label>c</label></td><td>Local Grid Devices</td></tr>
<tr><th colspan=2 class="grouphead">Object</th></tr>
<tr><td><label>d</label></td><td>Duplicate</td></tr>
<tr><td><label>m</label></td><td>Mirror</td></tr>
<tr><td><label>w</label></td><td>Wireframe</td></tr>
<tr><td><label>delete</label></td><td>Delete</td></tr>
<tr><td></td></tr>
<tr><td><label>arrow-left</label></td><td>Z Rotate CCW 90&deg;</td></tr>
<tr><td><label>arrow-right</label></td><td>Z Rotate CW 90&deg;</td></tr>
<tr><td><label>shift-arrow-left</label></td><td>Z Rotate CCW 5&deg;</td></tr>
<tr><td><label>shift-arrow-right</label></td><td>Z Rotate CW 5&deg;</td></tr>
<tr><td></td></tr>
<tr><td><label>arrow-up</label></td><td>X Rotate CCW 90&deg;</td></tr>
<tr><td><label>arrow-down</label></td><td>X Rotate CW 90&deg;</td></tr>
<tr><td><label>shift-arrow-up</label></td><td>X Rotate CCW 5&deg;</td></tr>
<tr><td><label>shift-arrow-down</label></td><td>X Rotate CW 5&deg;</td></tr>
<tr><td></td></tr>
<tr><td><label>option-arrow-up</label></td><td>Move Up 5mm</td></tr>
<tr><td><label>option-arrow-down</label></td><td>Move Down 5mm</td></tr>
<tr><td><label>option-arrow-left</label></td><td>Move Left 5mm</td></tr>
<tr><td><label>option-arrow-right</label></td><td>Move Right 5mm</td></tr>
<tr><td></td></tr>
</table>
</div>
</div>
</div>

View file

@ -287,6 +287,7 @@ select {
}
#help a {
color: #68d;
font-size: smaller;
}
#help a:hover {
color: #46a;
@ -298,6 +299,34 @@ select {
button.selected {
background-color: white;
}
#help-left {
border-right: 1px dashed #aaa;
padding-right: 10px;
}
#help-right {
padding-left: 10px;
}
#help-body .grouphead {
padding: 3px !important;
}
#help-body table label {
font-family: monospace;
border-radius: 3px;
margin: 5px 1px 5px 1px !important;
padding: 1px 3px 1px 3px;
background-color: #ddd;
}
#help-body td {
margin: 5px;
padding: 2px;
font-family: monospace;
}
#help-body th,td {
white-space: nowrap;
}
#help-body li {
white-space: nowrap;
}
/** tool dialog */