add prusa MK3S profile

This commit is contained in:
Stewart Allen 2022-02-24 19:53:22 -05:00
commit 965f5a1041
4 changed files with 194 additions and 8 deletions

1
app.js
View file

@ -367,6 +367,7 @@ function initModule(mod, file, dir) {
addCORS: addCorsHeaders,
redirect: http.redirect,
reply404: http.reply404,
decodePost: http.decodePost,
reply: quickReply
},
ws: {

View file

@ -0,0 +1,179 @@
{
"noclone": false,
"mode": "FDM",
"internal": 0,
"imageURL": "",
"imageScale": 0.75,
"imageAnchor": 0,
"bedHeight": 2.5,
"bedWidth": 250,
"bedDepth": 210,
"bedRound": false,
"bedBelt": false,
"resolutionX": 1600,
"resolutionY": 900,
"deviceZMax": 0,
"maxHeight": 210,
"originCenter": false,
"extrudeAbs": false,
"spindleMax": 0,
"gcodeFan": [
"M106 S{fan_speed}"
],
"gcodeTrack": [
"M73 P{progress}"
],
"gcodeLayer": [
";; LAYER {layer} of {layers}",
"M117 Layer {layer} of {layers}"
],
"gcodePre": [
"M104 S160 ; set extruder temp",
"M140 S{bed_temp} ; set bed temp",
"M190 S{bed_temp} ; wait for bed temp",
"G28 W ; home all without mesh bed level",
"G80 ; mesh bed leveling",
"G90 ; set absolute positioning mode",
"M83 ; set relative positioning for extruder",
"M900 K0.04 ; linear advance",
"G1 F1000 ; set feedrate",
"G1 Y-3.0 Z0.5 ; park outside print area",
"M104 S{temp} ; set extruder actual required temp",
"M109 S{temp} ; wait for extruder actual required temp",
"G1 X60.0 E9.0 ; purge line",
"G1 X100.0 E12.5 ; purge line",
"M117 Printing"
],
"gcodePost": [
"G0 E-1 F900 ; retract slightly",
"M104 S0 ; turn off nozzle heat",
"M140 S0 ; turn off bed heat",
"M107 ; turn off fan",
"G0 F3000 ; set feedrate",
"G0 Y210 Z210 ; serve up print",
"G4 ; wait",
"M84 ; disable steppers",
"M117 Print Done"
],
"gcodeProc": "",
"gcodeDwell": [],
"gcodeSpindle": [],
"gcodeChange": [],
"gcodeFExt": "gcode",
"gcodeSpace": true,
"gcodeStrip": false,
"gcodeLaserOn": [],
"gcodeLaserOff": [],
"extruders": [
{
"extFilament": 1.75,
"extNozzle": 0.4,
"extSelect": [
"T0"
],
"extDeselect": [],
"extOffsetX": 0,
"extOffsetY": 0
}
],
"new": false,
"deviceName": "Prusa i3 MK3S+",
"fwRetract": false,
"extras": {
"palette": {
"printer": "3612e108c25c",
"ping": null,
"feed": null,
"push": null,
"offset": null,
"heat": null,
"cool": null,
"press": null
}
},
"profiles": [
{
"processName": "MK3S+ PLA",
"sliceHeight": 0.2,
"sliceShells": 3,
"sliceShellOrder": "in-out",
"sliceLayerStart": "center",
"sliceFillAngle": 45,
"sliceFillOverlap": 0.35,
"sliceFillSparse": 0.1,
"sliceFillType": "hex",
"sliceAdaptive": false,
"sliceMinHeight": 0,
"sliceSupportDensity": 0.25,
"sliceSupportOffset": 0.4,
"sliceSupportGap": 0,
"sliceSupportSize": 6,
"sliceSupportArea": 0.25,
"sliceSupportExtra": 0,
"sliceSupportAngle": 1,
"sliceSupportNozzle": 0,
"sliceSolidMinArea": 5,
"sliceSolidLayers": 2,
"sliceBottomLayers": 2,
"sliceTopLayers": 3,
"firstLayerRate": 10,
"firstLayerPrintMult": 1,
"firstLayerYOffset": 0,
"firstLayerBrim": 0,
"firstLayerBeltLead": 200,
"firstLayerFanSpeed": 0,
"outputTemp": 205,
"outputBedTemp": 70,
"outputFanSpeed": 255,
"outputFeedrate": 80,
"outputFinishrate": 30,
"outputSeekrate": 150,
"outputShellMult": 1,
"outputFillMult": 1.1,
"outputSparseMult": 1.1,
"outputRetractDist": 4,
"outputRetractSpeed": 60,
"outputRetractWipe": 2,
"outputRetractDwell": 0,
"outputShortPoly": 50,
"outputMinSpeed": 1,
"outputCoastDist": 0.05,
"outputLayerRetract": false,
"zHopDistance": 0.1,
"antiBacklash": 0,
"outputOriginCenter": false,
"sliceFillWidth": 1,
"sliceFillRate": 0,
"sliceSupportEnable": false,
"firstSliceHeight": 0.2,
"firstLayerFillRate": 35,
"firstLayerLineMult": 1,
"firstLayerNozzleTemp": 0,
"firstLayerBedTemp": 0,
"firstLayerBrimTrig": 0,
"firstLayerBrimGap": 0,
"outputRaft": false,
"outputRaftSpacing": 0.2,
"outputBrimCount": 0,
"outputBrimOffset": 2,
"outputPurgeTower": 0,
"outputInvertX": false,
"outputInvertY": false,
"arcTolerance": 0,
"ranges": [],
"outputLoops": 0,
"firstLayerBrimIn": 0,
"firstLayerBeltBump": 0,
"outputBeltFirst": false,
"sliceFillRepeat": 4,
"sliceLineWidth": 0,
"sliceSupportSpan": 5,
"sliceSupportOutline": true,
"firstLayerFlatten": 0,
"outputDraftShield": false,
"outputAvoidGaps": true,
"sliceDetectThin": "off",
"beltAnchor": 200
}
]
}

View file

@ -1034,15 +1034,16 @@ gapp.register("kiri.init", [], (root, exports) => {
removeLocalDevice(getSelectedDevice());
showDevices();
};
ui.deviceExport.onclick = function() {
let exp = api.util.b64enc({
ui.deviceExport.onclick = function(event) {
const record = {
version: kiri.version,
device: selected,
process: api.process.code(),
code: devs[selected],
time: Date.now()
});
deviceExport(exp, selected);
};
let exp = api.util.b64enc(record);
api.device.export(exp, selected, { event, record });
};
ui.deviceList.innerHTML = '';
@ -1514,6 +1515,9 @@ gapp.register("kiri.init", [], (root, exports) => {
space.platform.setRound(true);
space.useDefaultKeys(api.feature.on_key === undefined || api.feature.on_key_defaults);
// api augmentation with local functions
api.device.export = deviceExport;
Object.assign(ui, {
tracker: tracker,
container: container,

View file

@ -4,6 +4,7 @@
// dep: kiri.api
gapp.register("kiri.tools", [], (root, exports) => {
const { Vector3, Quaternion } = THREE;
const { kiri } = root;
const { api } = kiri;
@ -11,6 +12,7 @@ const { api } = kiri;
let pgeo = new THREE.CircleGeometry(8, 30);
let pmat = new THREE.MeshBasicMaterial({color: 0xff0000, opacity: 0.5, transparent: true});
let pmesh = new THREE.Mesh(pgeo, pmat);
// circle outline
let pi = pgeo.index.array;
let pp = pgeo.attributes.position.array;
@ -88,9 +90,9 @@ api.event.on('mouse.hover', (ev) => {
pmesh.position.x = point.x - opos.x + norm.x * 0.1;
pmesh.position.y = -point.z - opos.y + norm.y * 0.1;
pmesh.position.z = point.y + norm.z * 0.1;
let q = new THREE.Quaternion().setFromUnitVectors(
new THREE.Vector3(0,0,1),
new THREE.Vector3(norm.x,norm.y,norm.z)
let q = new Quaternion().setFromUnitVectors(
new Vector3(0,0,1),
new Vector3(norm.x,norm.y,norm.z)
);
pmesh.setRotationFromQuaternion(q);
}
@ -104,7 +106,7 @@ api.event.on('mouse.hover.up', (ev) => {
if (!object) {
return;
}
let q = new THREE.Quaternion().setFromUnitVectors(lastface.normal, new THREE.Vector3(0,0,-1));
let q = new Quaternion().setFromUnitVectors(lastface.normal, new Vector3(0,0,-1));
api.selection.rotate(q);
endit();
});