initial commit
This commit is contained in:
commit
bd51ac38f0
90 changed files with 29458 additions and 0 deletions
BIN
web/kiri/favicon-mobile.png
Normal file
BIN
web/kiri/favicon-mobile.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6 KiB |
BIN
web/kiri/favicon.ico
Normal file
BIN
web/kiri/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
22
web/kiri/filter/CAM/Any.Generic.Grbl
Normal file
22
web/kiri/filter/CAM/Any.Generic.Grbl
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"file-ext": "nc",
|
||||
"token-space": " ",
|
||||
"strip-comments": true,
|
||||
"pre":[
|
||||
"G21 ; set units to MM (required)",
|
||||
"G90 ; absolute position mode (required)"
|
||||
],
|
||||
"post":[
|
||||
"M30 ; program end"
|
||||
],
|
||||
"tool-change":[
|
||||
"M6 T{tool} ; change tool to '{tool_name}'"
|
||||
],
|
||||
"dwell":[
|
||||
"G4 P{time} ; dwell for {time}ms"
|
||||
],
|
||||
"settings": {
|
||||
"bed_width": 400,
|
||||
"bed_depth": 400
|
||||
}
|
||||
}
|
||||
24
web/kiri/filter/CAM/Any.Generic.LinuxCNC
Normal file
24
web/kiri/filter/CAM/Any.Generic.LinuxCNC
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"file-ext": "ngc",
|
||||
"token-space": " ",
|
||||
"strip-comments": true,
|
||||
"pre":[
|
||||
"G21 ; set units to MM (required)",
|
||||
"G90 ; absolute position mode (required)",
|
||||
"M03 S20000 ; spindle on"
|
||||
],
|
||||
"post":[
|
||||
"M05 ; spindle off",
|
||||
"M30 ; program end"
|
||||
],
|
||||
"tool-change":[
|
||||
"M6 T{tool} ; change tool to '{tool_name}'"
|
||||
],
|
||||
"dwell":[
|
||||
"G4 P{time} ; dwell for {time}ms"
|
||||
],
|
||||
"settings": {
|
||||
"bed_width": 400,
|
||||
"bed_depth": 400
|
||||
}
|
||||
}
|
||||
1
web/kiri/filter/CAM/Any.Generic.TinyG
Symbolic link
1
web/kiri/filter/CAM/Any.Generic.TinyG
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
Any.Generic.Grbl
|
||||
22
web/kiri/filter/CAM/Carbide3D.Nomad.883Pro
Normal file
22
web/kiri/filter/CAM/Carbide3D.Nomad.883Pro
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"file-ext": "nc",
|
||||
"token-space": " ",
|
||||
"strip-comments": true,
|
||||
"pre":[
|
||||
"G21 ; set units to MM (required)",
|
||||
"G90 ; absolute position mode (required)"
|
||||
],
|
||||
"post":[
|
||||
"M30 ; program end"
|
||||
],
|
||||
"tool-change":[
|
||||
"M6 T{tool} ; change tool to '{tool_name}'"
|
||||
],
|
||||
"dwell":[
|
||||
"G4 P{time} ; dwell for {time}ms"
|
||||
],
|
||||
"settings": {
|
||||
"bed_width": 200,
|
||||
"bed_depth": 200
|
||||
}
|
||||
}
|
||||
22
web/kiri/filter/CAM/Carbide3D.Shapeoko.3
Normal file
22
web/kiri/filter/CAM/Carbide3D.Shapeoko.3
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"file-ext": "nc",
|
||||
"token-space": " ",
|
||||
"strip-comments": true,
|
||||
"pre":[
|
||||
"G21 ; set units to MM (required)",
|
||||
"G90 ; absolute position mode (required)"
|
||||
],
|
||||
"post":[
|
||||
"M30 ; program end"
|
||||
],
|
||||
"tool-change":[
|
||||
"M6 T{tool} ; change tool to '{tool_name}'"
|
||||
],
|
||||
"dwell":[
|
||||
"G4 P{time} ; dwell for {time}ms"
|
||||
],
|
||||
"settings": {
|
||||
"bed_width": 400,
|
||||
"bed_depth": 400
|
||||
}
|
||||
}
|
||||
22
web/kiri/filter/CAM/Carbide3D.Shapeoko.XL
Normal file
22
web/kiri/filter/CAM/Carbide3D.Shapeoko.XL
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"file-ext": "nc",
|
||||
"token-space": " ",
|
||||
"strip-comments": true,
|
||||
"pre":[
|
||||
"G21 ; set units to MM (required)",
|
||||
"G90 ; absolute position mode (required)"
|
||||
],
|
||||
"post":[
|
||||
"M30 ; program end"
|
||||
],
|
||||
"tool-change":[
|
||||
"M6 T{tool} ; change tool to '{tool_name}'"
|
||||
],
|
||||
"dwell":[
|
||||
"G4 P{time} ; dwell for {time}ms"
|
||||
],
|
||||
"settings": {
|
||||
"bed_width": 830,
|
||||
"bed_depth": 400
|
||||
}
|
||||
}
|
||||
22
web/kiri/filter/CAM/Carbide3D.Shapeoko.XXL
Normal file
22
web/kiri/filter/CAM/Carbide3D.Shapeoko.XXL
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"file-ext": "nc",
|
||||
"token-space": " ",
|
||||
"strip-comments": true,
|
||||
"pre":[
|
||||
"G21 ; set units to MM (required)",
|
||||
"G90 ; absolute position mode (required)"
|
||||
],
|
||||
"post":[
|
||||
"M30 ; program end"
|
||||
],
|
||||
"tool-change":[
|
||||
"M6 T{tool} ; change tool to '{tool_name}'"
|
||||
],
|
||||
"dwell":[
|
||||
"G4 P{time} ; dwell for {time}ms"
|
||||
],
|
||||
"settings": {
|
||||
"bed_width": 830,
|
||||
"bed_depth": 830
|
||||
}
|
||||
}
|
||||
24
web/kiri/filter/CAM/Inventables.Carvey.Any
Normal file
24
web/kiri/filter/CAM/Inventables.Carvey.Any
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"file-ext": "nc",
|
||||
"token-space": " ",
|
||||
"strip-comments": true,
|
||||
"pre":[
|
||||
"G21 ; set units to MM (required)",
|
||||
"G90 ; absolute position mode (required)"
|
||||
],
|
||||
"post":[
|
||||
"M30 ; program end"
|
||||
],
|
||||
"tool-change":[
|
||||
"M6 T{tool} ; change tool to '{tool_name}'"
|
||||
],
|
||||
"dwell":[
|
||||
"G4 P{time} ; dwell for {time}ms"
|
||||
],
|
||||
"settings": {
|
||||
"origin_center": false,
|
||||
"spindle_max": 12000,
|
||||
"bed_width": 290,
|
||||
"bed_depth": 200
|
||||
}
|
||||
}
|
||||
22
web/kiri/filter/CAM/Inventables.XCarve.1000mm
Normal file
22
web/kiri/filter/CAM/Inventables.XCarve.1000mm
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"file-ext": "nc",
|
||||
"token-space": " ",
|
||||
"strip-comments": true,
|
||||
"pre":[
|
||||
"G21 ; set units to MM (required)",
|
||||
"G90 ; absolute position mode (required)"
|
||||
],
|
||||
"post":[
|
||||
"M30 ; program end"
|
||||
],
|
||||
"tool-change":[
|
||||
"M6 T{tool} ; change tool to '{tool_name}'"
|
||||
],
|
||||
"dwell":[
|
||||
"G4 P{time} ; dwell for {time}ms"
|
||||
],
|
||||
"settings": {
|
||||
"bed_width": 1000,
|
||||
"bed_depth": 1000
|
||||
}
|
||||
}
|
||||
22
web/kiri/filter/CAM/Inventables.XCarve.500mm
Normal file
22
web/kiri/filter/CAM/Inventables.XCarve.500mm
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"file-ext": "nc",
|
||||
"token-space": " ",
|
||||
"strip-comments": true,
|
||||
"pre":[
|
||||
"G21 ; set units to MM (required)",
|
||||
"G90 ; absolute position mode (required)"
|
||||
],
|
||||
"post":[
|
||||
"M30 ; program end"
|
||||
],
|
||||
"tool-change":[
|
||||
"M6 T{tool} ; change tool to '{tool_name}'"
|
||||
],
|
||||
"dwell":[
|
||||
"G4 P{time} ; dwell for {time}ms"
|
||||
],
|
||||
"settings": {
|
||||
"bed_width": 500,
|
||||
"bed_depth": 500
|
||||
}
|
||||
}
|
||||
22
web/kiri/filter/CAM/Sienci.Mill.One
Normal file
22
web/kiri/filter/CAM/Sienci.Mill.One
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"file-ext": "nc",
|
||||
"token-space": " ",
|
||||
"strip-comments": true,
|
||||
"pre":[
|
||||
"G21 ; set units to MM (required)",
|
||||
"G90 ; absolute position mode (required)"
|
||||
],
|
||||
"post":[
|
||||
"M30 ; program end"
|
||||
],
|
||||
"tool-change":[
|
||||
"M6 T{tool} ; change tool to '{tool_name}'"
|
||||
],
|
||||
"dwell":[
|
||||
"G4 P{time} ; dwell for {time}ms"
|
||||
],
|
||||
"settings": {
|
||||
"bed_width": 235,
|
||||
"bed_depth": 185
|
||||
}
|
||||
}
|
||||
34
web/kiri/filter/FDM/Any.Generic.Marlin
Normal file
34
web/kiri/filter/FDM/Any.Generic.Marlin
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"pre":[
|
||||
"M104 S{temp} T0 ; set extruder temperature",
|
||||
"M140 S{bed_temp} T0 ; set bed temperature",
|
||||
"G90 ; set absolute positioning mode",
|
||||
"M83 ; set relative positioning for extruder",
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"G28 ; home axes",
|
||||
"G29 ; level bed",
|
||||
"G92 X0 Y0 Z0 E0 ; reset all axes positions",
|
||||
"G1 X0 Y0 Z0.25 F180 ; move xy to 0,0 and z 0.25mm over bed",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"M190 S{bed_temp} T0 ; wait for bed to reach target temp",
|
||||
"M109 S{temp} T0 ; wait for extruder to reach target temp",
|
||||
"G1 E15 F200 ; purge 15mm from extruder",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"G1 F225 ; set feed speed"
|
||||
],
|
||||
"post":[
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M104 S0 T0 ; turn off right extruder",
|
||||
"M104 S0 T1 ; turn off left extruder",
|
||||
"M140 S0 T0 ; turn off bed",
|
||||
"G1 Z{z_max} F1200 ; drop bed",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"M84 ; disable stepper motors"
|
||||
],
|
||||
"cmd":{
|
||||
"fan_power": "M106 S{fan_speed}"
|
||||
},
|
||||
"settings":{
|
||||
"origin_center": false
|
||||
}
|
||||
}
|
||||
1
web/kiri/filter/FDM/Any.Generic.Sailfish
Symbolic link
1
web/kiri/filter/FDM/Any.Generic.Sailfish
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
Any.Generic.Marlin
|
||||
26
web/kiri/filter/FDM/Atom.v2
Normal file
26
web/kiri/filter/FDM/Atom.v2
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"pre":[
|
||||
"M104 S{temp} ; set extruder temperature",
|
||||
"M140 S{bed_temp} ; set bed temperature",
|
||||
"G28 ; Home",
|
||||
"G1 F5000 Z50 ; lift nozzle",
|
||||
"G0 X0 Y-100 Z50 ; parking",
|
||||
"G0 Z20 ; parking",
|
||||
"G92 E0 ; zero the extruded length",
|
||||
"G1 F200 E3 ; extrude 3mm of feed stock"
|
||||
],
|
||||
"post":[
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M104 S0 ; turn off right extruder",
|
||||
"M140 S0 ; turn off bed"
|
||||
],
|
||||
"cmd":{
|
||||
"fan_power": "M106 S{fan_speed}"
|
||||
},
|
||||
"settings":{
|
||||
"origin_center": true,
|
||||
"bed_width": 210,
|
||||
"bed_depth": 210,
|
||||
"build_height": 320
|
||||
}
|
||||
}
|
||||
30
web/kiri/filter/FDM/DeltaMaker.2T
Normal file
30
web/kiri/filter/FDM/DeltaMaker.2T
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"pre":[
|
||||
"M104 S{temp} T0 ; set extruder temperature",
|
||||
"G21 ; Make sure we're in metric mode",
|
||||
"G90 ; set absolute positioning mode",
|
||||
"M83 ; set relative positioning for extruder",
|
||||
"G28 ; home axes",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"M109 S{temp} T0 ; wait for extruder to reach target temp",
|
||||
"G1 F200 E3.5 ; set feed speed, prime nozzle",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"G1 Z30 ; position near the bed before first position"
|
||||
],
|
||||
"post":[
|
||||
"G28 ; home axes",
|
||||
"M104 S0 T0 ; turn off right extruder",
|
||||
"M140 S0 T0 ; turn off bed",
|
||||
"M84 ; disable stepper motors"
|
||||
],
|
||||
"cmd":{
|
||||
"fan_power": "M106 S{fan_speed}"
|
||||
},
|
||||
"settings":{
|
||||
"nozzle_size": 0.5,
|
||||
"origin_center": true,
|
||||
"bed_width": 240,
|
||||
"bed_depth": 240,
|
||||
"build_height": 480
|
||||
}
|
||||
}
|
||||
30
web/kiri/filter/FDM/DeltaMaker.Original
Normal file
30
web/kiri/filter/FDM/DeltaMaker.Original
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"pre":[
|
||||
"M104 S{temp} T0 ; set extruder temperature",
|
||||
"G21 ; Make sure we're in metric mode",
|
||||
"G90 ; set absolute positioning mode",
|
||||
"M83 ; set relative positioning for extruder",
|
||||
"G28 ; home axes",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"M109 S{temp} T0 ; wait for extruder to reach target temp",
|
||||
"G1 F200 E3.5 ; set feed speed, prime nozzle",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"G1 Z30 ; position near the bed before first position"
|
||||
],
|
||||
"post":[
|
||||
"G28 ; home axes",
|
||||
"M104 S0 T0 ; turn off right extruder",
|
||||
"M140 S0 T0 ; turn off bed",
|
||||
"M84 ; disable stepper motors"
|
||||
],
|
||||
"cmd":{
|
||||
"fan_power": "M106 S{fan_speed}"
|
||||
},
|
||||
"settings":{
|
||||
"nozzle_size": 0.35,
|
||||
"origin_center": true,
|
||||
"bed_width": 240,
|
||||
"bed_depth": 240,
|
||||
"build_height": 260
|
||||
}
|
||||
}
|
||||
36
web/kiri/filter/FDM/Leapfrog.CreatrHS
Normal file
36
web/kiri/filter/FDM/Leapfrog.CreatrHS
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"pre":[
|
||||
"M104 S{temp} T0 ; set extruder temperature",
|
||||
"M140 S{bed_temp} T0 ; set bed temperature",
|
||||
"G90 ; set absolute positioning mode",
|
||||
"M83 ; set relative positioning for extruder",
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"G28 Z0 ; home Z axis",
|
||||
"G92 X0 Y0 Z0 E0 ; reset all axes positions",
|
||||
"G1 Z0.25 F180 ; move z to 0.25mm over bed",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"M109 S{temp} T0 ; wait for extruder to reach target temp",
|
||||
"G1 E15 F300 ; purge 15mm from extruder",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"G1 F225 ; set feed speed"
|
||||
],
|
||||
"post":[
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M104 S0 T0 ; turn off right extruder",
|
||||
"M104 S0 T1 ; turn off left extruder",
|
||||
"M140 S0 T0 ; turn off bed",
|
||||
"G1 Z{z_max} F1200 ; drop bed",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"M84 ; disable stepper motors"
|
||||
],
|
||||
"cmd":{
|
||||
"fan_power": "M106 S{fan_speed}"
|
||||
},
|
||||
"settings":{
|
||||
"origin_center": false,
|
||||
"bed_width": 270,
|
||||
"bed_depth": 280,
|
||||
"build_height": 180
|
||||
}
|
||||
}
|
||||
38
web/kiri/filter/FDM/MakerGear.M2
Normal file
38
web/kiri/filter/FDM/MakerGear.M2
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"pre":[
|
||||
"M108 S255 ; set extruder speed",
|
||||
"M104 S{temp} T0 ; set extruder temperature",
|
||||
"M140 S{bed_temp} T0 ; set bed temperature",
|
||||
"G90 ; set absolute positioning mode",
|
||||
"M83 ; set relative positioning for extruder",
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"G28 XY ; home XY axes",
|
||||
"G28 Z ; home Z axis",
|
||||
"G92 X0 Y0 Z0 E0 ; reset all axes positions",
|
||||
"G1 Z0.25 F180 ; move z to 0.25mm over bed",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"M109 S{temp} T0 ; wait for extruder to reach target temp",
|
||||
"G1 E15 F300 ; purge 15mm from extruder",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"G1 F225 ; set feed speed"
|
||||
],
|
||||
"post":[
|
||||
"M108 S0 ; set extruder speed",
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M104 S0 T0 ; turn off right extruder",
|
||||
"M104 S0 T1 ; turn off left extruder",
|
||||
"M140 S0 T0 ; turn off bed",
|
||||
"G1 Z200 F1200 ; drop bed",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"M84 ; disable stepper motors"
|
||||
],
|
||||
"cmd":{
|
||||
"fan_power": "M106 S{fan_speed}"
|
||||
},
|
||||
"settings":{
|
||||
"origin_center": false,
|
||||
"bed_width": 200,
|
||||
"bed_depth": 250,
|
||||
"build_height": 200
|
||||
}
|
||||
}
|
||||
44
web/kiri/filter/FDM/Makerbot.Replicator2
Normal file
44
web/kiri/filter/FDM/Makerbot.Replicator2
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"pre":[
|
||||
"M73 P0 ; set progress to 0%",
|
||||
"G90 ; set absolute positioning mode",
|
||||
"M83 ; set relative positioning for extruder",
|
||||
"M104 S{temp} T0 ; set extruder temperature for T0 (tool 0)",
|
||||
"M127 ; close extruder valve (if it has one)",
|
||||
"G162 X Y F3000 ; move X,Y axis to maximum position at speed 3000 (top/right of table)",
|
||||
"G161 Z F1200 ; move Z axis to minimum position as speed 1200 (bottom)",
|
||||
"G92 Z-5 ; set Z axis value to -5 (no move)",
|
||||
"G1 Z0 ; move Z axis to 0 (lifting it 5mm off endstop)",
|
||||
"G161 Z F100 ; move Z axis to minimum position at speed 100",
|
||||
"M132 X Y Z A B ; load EEPROM home offsets for all axis",
|
||||
"G1 X{left} Y{bottom+10} Z30 F9000 ; move to wait position off table",
|
||||
"G130 X20 Y20 Z20 A20 B20 ; lower stepper Vrefs to give more juice to the extruder heater",
|
||||
"M133 T0 ; wait for extruder T0 temperature to stabilize",
|
||||
"G130 X127 Y127 Z40 A127 B127 ; default stepper Vrefs now that extruder is hot",
|
||||
"G92 A0 ; set extruder position value to 0 (no move)",
|
||||
"G1 Z0.4 ; move nozzle just above the bed height",
|
||||
"G1 E25 F300 ; purge extruder for 25mm at speed 300",
|
||||
"G1 X{left+10} Y{bottom+10} Z0.15 F1200 ; slow wipe",
|
||||
"G1 X{left+15} Y{bottom+15} Z0.5 F1200 ; lift",
|
||||
"G92 A0 ; set extruder position value to 0 (no move)",
|
||||
"M135 T0 ; set toolhead 0"
|
||||
],
|
||||
"post":[
|
||||
"M127 ; stop filament cooling fan",
|
||||
"M73 P100 ; set build progress to 100%",
|
||||
"G1 Z150 F1000 ; send Z axis to bottom (engaging end stop)",
|
||||
"G162 X Y F3000 ; move X,Y axis to maximum position at speed 3000 (top/right of table)",
|
||||
"M18 ; disable all stepper motors",
|
||||
"M72 P1 ; play song 1 (tada)"
|
||||
],
|
||||
"cmd":{
|
||||
"fan_power": "M126 S{fan_speed}",
|
||||
"progress": "M73 P{progress}"
|
||||
},
|
||||
"settings":{
|
||||
"origin_center": true,
|
||||
"bed_width": 300,
|
||||
"bed_depth": 175,
|
||||
"build_height": 150
|
||||
}
|
||||
}
|
||||
37
web/kiri/filter/FDM/TypeA.Series1
Normal file
37
web/kiri/filter/FDM/TypeA.Series1
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"pre":[
|
||||
"G1 Z15.0 F12000 ; move the platform down 15mm",
|
||||
"G1 X150 Y5 F12000 ; center extruder on X",
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M83 ; use relative positioning for extruder",
|
||||
"M104 S{temp} ; set extruder temperature",
|
||||
"G21 ; use metric values",
|
||||
"G90 ; use absolute positioning mode",
|
||||
"G28 ; move to endstops",
|
||||
"G29 ; perform auto-levelling",
|
||||
"M109 S{temp} ; wait for extruder to reach target temp",
|
||||
"G1 X150 Y5 Z0.3 ; move the platform to purge extrusion",
|
||||
"G92 E0 ; zero the extruded length",
|
||||
"G1 F200 X250 E30 ; extrude 30mm of feed stock",
|
||||
"G92 E0 ; zero the extruded length again",
|
||||
"G1 X150 Y150 Z25 F12000 ; center head for print",
|
||||
"G1 F12000 ; set head seek rate"
|
||||
],
|
||||
"post":[
|
||||
"G1 E-1 F300 ; retract the filament to release pressure",
|
||||
"G1 Z{z_max} E-5 F1200 ; drop bed, retract more filament",
|
||||
"G28 X0 Y0 ; move X/Y to min endstops",
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M104 S0 ; turn off extruder",
|
||||
"M84 ; disable stepper motors"
|
||||
],
|
||||
"cmd":{
|
||||
"fan_power": "M106 S{fan_speed}"
|
||||
},
|
||||
"settings":{
|
||||
"origin_center": false,
|
||||
"bed_width": 305,
|
||||
"bed_depth": 305,
|
||||
"build_height": 305
|
||||
}
|
||||
}
|
||||
40
web/kiri/filter/FDM/TypeA.Series1Pro
Normal file
40
web/kiri/filter/FDM/TypeA.Series1Pro
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"pre":[
|
||||
"G1 Z15.0 F12000 ; move the platform down 15mm",
|
||||
"G1 X150 Y5 F12000 ; center extruder on X",
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M83 ; use relative positioning for extruder",
|
||||
"M104 S{temp} ; set extruder temperature",
|
||||
"M140 S{bed_temp} ; set bed temperature",
|
||||
"G21 ; use metric values",
|
||||
"G90 ; use absolute positioning mode",
|
||||
"G28 ; move to endstops",
|
||||
"G29 ; perform auto-levelling",
|
||||
"M109 S{temp} ; wait for extruder to reach target temp",
|
||||
"M190 S{bed_temp} ; wait for bed to reach target temp",
|
||||
"G1 X150 Y5 Z0.3 ; move the platform to purge extrusion",
|
||||
"G92 E0 ; zero the extruded length",
|
||||
"G1 F200 X250 E30 ; extrude 30mm of feed stock",
|
||||
"G92 E0 ; zero the extruded length again",
|
||||
"G1 X150 Y150 Z25 F12000 ; center head for print",
|
||||
"G1 F12000 ; set head seek rate"
|
||||
],
|
||||
"post":[
|
||||
"G1 E-1 F300 ; retract the filament to release pressure",
|
||||
"G1 Z{z_max} E-5 F1200 ; drop bed, retract more filament",
|
||||
"G28 X0 Y0 ; move X/Y to min endstops",
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M104 S0 ; turn off extruder",
|
||||
"M140 S0 ; turn off bed",
|
||||
"M84 ; disable stepper motors"
|
||||
],
|
||||
"cmd":{
|
||||
"fan_power": "M106 S{fan_speed}"
|
||||
},
|
||||
"settings":{
|
||||
"origin_center": false,
|
||||
"bed_width": 305,
|
||||
"bed_depth": 305,
|
||||
"build_height": 305
|
||||
}
|
||||
}
|
||||
36
web/kiri/filter/FDM/Ultimaker.Ultimaker2
Normal file
36
web/kiri/filter/FDM/Ultimaker.Ultimaker2
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"pre":[
|
||||
"M104 S{temp} T0 ; set extruder temperature",
|
||||
"M140 S{bed_temp} T0 ; set bed temperature",
|
||||
"G90 ; set absolute positioning mode",
|
||||
"M83 ; set relative positioning for extruder",
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"G28 Z0 ; home Z",
|
||||
"G92 X0 Y0 Z0 E0 ; reset all axes positions",
|
||||
"G1 Z0.25 F180 ; move z to 0.25mm over bed",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"M109 S{temp} T0 ; wait for extruder to reach target temp",
|
||||
"G1 E15 F200 ; purge 15mm from extruder",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"G1 F225 ; set feed speed"
|
||||
],
|
||||
"post":[
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M104 S0 T0 ; turn off right extruder",
|
||||
"M104 S0 T1 ; turn off left extruder",
|
||||
"M140 S0 T0 ; turn off bed",
|
||||
"G1 Z205 F1200 ; drop bed",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"M84 ; disable stepper motors"
|
||||
],
|
||||
"cmd":{
|
||||
"fan_power": "M106 S{fan_speed}"
|
||||
},
|
||||
"settings":{
|
||||
"origin_center": false,
|
||||
"bed_width": 223,
|
||||
"bed_depth": 223,
|
||||
"build_height": 205
|
||||
}
|
||||
}
|
||||
36
web/kiri/filter/FDM/Wanhao.Duplicator_4s
Normal file
36
web/kiri/filter/FDM/Wanhao.Duplicator_4s
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"pre":[
|
||||
"M104 S{temp} T0 ; set extruder temperature",
|
||||
"M140 S{bed_temp} T0 ; set bed temperature",
|
||||
"G90 ; set absolute positioning mode",
|
||||
"M83 ; set relative positioning for extruder",
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"G28 Z0 ; home Z",
|
||||
"G92 X0 Y0 Z0 E0 ; reset all axes positions",
|
||||
"G1 Z0.25 F180 ; move z to 0.25mm over bed",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"M109 S{temp} T0 ; wait for extruder to reach target temp",
|
||||
"G1 E15 F200 ; purge 15mm from extruder",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"G1 F225 ; set feed speed"
|
||||
],
|
||||
"post":[
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M104 S0 T0 ; turn off right extruder",
|
||||
"M104 S0 T1 ; turn off left extruder",
|
||||
"M140 S0 T0 ; turn off bed",
|
||||
"G1 Z{z_max} F1200 ; drop bed",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"M84 ; disable stepper motors"
|
||||
],
|
||||
"cmd":{
|
||||
"fan_power": "M106 S{fan_speed}"
|
||||
},
|
||||
"settings":{
|
||||
"origin_center": false,
|
||||
"bed_width": 225,
|
||||
"bed_depth": 145,
|
||||
"build_height": 150
|
||||
}
|
||||
}
|
||||
36
web/kiri/filter/FDM/Wanhao.Duplicator_5s
Normal file
36
web/kiri/filter/FDM/Wanhao.Duplicator_5s
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"pre":[
|
||||
"M104 S{temp} T0 ; set extruder temperature",
|
||||
"M140 S{bed_temp} T0 ; set bed temperature",
|
||||
"G90 ; set absolute positioning mode",
|
||||
"M83 ; set relative positioning for extruder",
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"G28 Z0 ; home Z",
|
||||
"G92 X0 Y0 Z0 E0 ; reset all axes positions",
|
||||
"G1 Z0.25 F180 ; move z to 0.25mm over bed",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"M109 S{temp} T0 ; wait for extruder to reach target temp",
|
||||
"G1 E15 F200 ; purge 15mm from extruder",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"G1 F225 ; set feed speed"
|
||||
],
|
||||
"post":[
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M104 S0 T0 ; turn off right extruder",
|
||||
"M104 S0 T1 ; turn off left extruder",
|
||||
"M140 S0 T0 ; turn off bed",
|
||||
"G1 Z{z_max} F1200 ; drop bed",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"M84 ; disable stepper motors"
|
||||
],
|
||||
"cmd":{
|
||||
"fan_power": "M106 S{fan_speed}"
|
||||
},
|
||||
"settings":{
|
||||
"origin_center": false,
|
||||
"bed_width": 305,
|
||||
"bed_depth": 205,
|
||||
"build_height": 575
|
||||
}
|
||||
}
|
||||
36
web/kiri/filter/FDM/Wanhao.Duplicator_6
Normal file
36
web/kiri/filter/FDM/Wanhao.Duplicator_6
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"pre":[
|
||||
"M104 S{temp} T0 ; set extruder temperature",
|
||||
"M140 S{bed_temp} T0 ; set bed temperature",
|
||||
"G90 ; set absolute positioning mode",
|
||||
"M83 ; set relative positioning for extruder",
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"G28 Z0 ; home Z",
|
||||
"G92 X0 Y0 Z0 E0 ; reset all axes positions",
|
||||
"G1 Z0.25 F180 ; move z to 0.25mm over bed",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"M109 S{temp} T0 ; wait for extruder to reach target temp",
|
||||
"G1 E15 F200 ; purge 15mm from extruder",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"G1 F225 ; set feed speed"
|
||||
],
|
||||
"post":[
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M104 S0 T0 ; turn off right extruder",
|
||||
"M104 S0 T1 ; turn off left extruder",
|
||||
"M140 S0 T0 ; turn off bed",
|
||||
"G1 Z{z_max} F1200 ; drop bed",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"M84 ; disable stepper motors"
|
||||
],
|
||||
"cmd":{
|
||||
"fan_power": "M106 S{fan_speed}"
|
||||
},
|
||||
"settings":{
|
||||
"origin_center": false,
|
||||
"bed_width": 200,
|
||||
"bed_depth": 200,
|
||||
"build_height": 180
|
||||
}
|
||||
}
|
||||
36
web/kiri/filter/FDM/Wanhao.Duplicator_i3
Normal file
36
web/kiri/filter/FDM/Wanhao.Duplicator_i3
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"pre":[
|
||||
"M104 S{temp} T0 ; set extruder temperature",
|
||||
"M140 S{bed_temp} T0 ; set bed temperature",
|
||||
"G90 ; set absolute positioning mode",
|
||||
"M83 ; set relative positioning for extruder",
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"G28 Z0 ; home Z",
|
||||
"G92 X0 Y0 Z0 E0 ; reset all axes positions",
|
||||
"G1 Z0.25 F180 ; move z to 0.25mm over bed",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"M109 S{temp} T0 ; wait for extruder to reach target temp",
|
||||
"G1 E15 F200 ; purge 15mm from extruder",
|
||||
"G92 E0 ; zero the extruded",
|
||||
"G1 F225 ; set feed speed"
|
||||
],
|
||||
"post":[
|
||||
"M107 ; turn off filament cooling fan",
|
||||
"M104 S0 T0 ; turn off right extruder",
|
||||
"M104 S0 T1 ; turn off left extruder",
|
||||
"M140 S0 T0 ; turn off bed",
|
||||
"G1 Z{z_max} F1200 ; drop bed",
|
||||
"G28 X0 Y0 ; home XY axes",
|
||||
"M84 ; disable stepper motors"
|
||||
],
|
||||
"cmd":{
|
||||
"fan_power": "M106 S{fan_speed}"
|
||||
},
|
||||
"settings":{
|
||||
"origin_center": false,
|
||||
"bed_width": 200,
|
||||
"bed_depth": 200,
|
||||
"build_height": 180
|
||||
}
|
||||
}
|
||||
27
web/kiri/help-kiri.html
Normal file
27
web/kiri/help-kiri.html
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<button id="help-close">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>
|
||||
251
web/kiri/index.html
Normal file
251
web/kiri/index.html
Normal file
|
|
@ -0,0 +1,251 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head lang="en">
|
||||
<meta charset="UTF-8">
|
||||
<meta name="copyright" content="stewart allen [stewart@neuron.com]">
|
||||
<meta name="description" content="3d slice modeler, gcode and CNC toolpath generator">
|
||||
<meta name="keywords" content="3d slicer,slicer,3d slicing,cnc,cam,toolpaths,toolpath generation,kiri,kirimoto,kiri:moto,gcode" />
|
||||
<meta name="author" content="Stewart Allen">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta property="og:description" content="Kiri:Moto is a unique multi-modal 3D slicer that runs entirely in browser and creates output for your favorite maker tools: 3D Printers, CNC Mills and Laser Cutters. Advanted layer view helps debug prints ahead of time.">
|
||||
<meta property="og:title" content="Cloud-based Slicer for Makers">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://grid.space/kiri">
|
||||
<meta property="og:image" content="https://grid.space/img/logo_km_og.png">
|
||||
<title>Kiri:Moto</title>
|
||||
<link rel="icon" href="/kiri/favicon.ico">
|
||||
<link rel="apple-touch-icon" href="/kiri/favicon-mobile.png">
|
||||
<link rel="stylesheet" type="text/css" href="/moto/style.css">
|
||||
<link rel="stylesheet" type="text/css" href="/kiri/style.css">
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
/* because TWEEN complains */
|
||||
module = {};
|
||||
</script>
|
||||
<!--{kiri}-->
|
||||
<!-- app title home page links -->
|
||||
<div id="appid">
|
||||
<span><a href="#" id="kiri">Kiri:Moto</a> by <a href="/" target="home">Grid.Space</a></span>
|
||||
</div>
|
||||
<!-- left control menu -->
|
||||
<div id="control-left" class="control"><div id="assets"></div></div>
|
||||
<!-- right control menu -->
|
||||
<div id="control-right" class="control"><div id="control"></div></div>
|
||||
<!-- SPJS gcode sender -->
|
||||
<div id="sender">
|
||||
<div id="sender-bar">
|
||||
<button id="sender-spjs">?</button>
|
||||
<button id="sender-close">X</button>
|
||||
</div>
|
||||
<span>direct device control</span>
|
||||
<div class="sender-sel">
|
||||
<table>
|
||||
<tr>
|
||||
<th colspan="2" class="flow-row">
|
||||
<input class="flow-grow" id="sender-host" size="30" spellcheck="false" placeholder="host:port of SPJS server" />
|
||||
</th>
|
||||
<td> <button id="sender-connect">connect</button> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="flow-row">
|
||||
<select class="flow-grow" id="sender-port" disabled="true"><option>select port</option></select>
|
||||
<select id="sender-mode" disabled="true">
|
||||
<option id="mode-option">set mode</option>
|
||||
<option value="grbl">grbl</option>
|
||||
<option value="tinyg">tinyg</option>
|
||||
</select>
|
||||
</th>
|
||||
<td> <button id="sender-port-close">close</button> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sender-sel"> <div id="sender-log"></div> </div>
|
||||
<div class="sender-sel" id="sender-cc">
|
||||
<table>
|
||||
<tr>
|
||||
<th>
|
||||
<label>status</label>
|
||||
<input id="sender-status" size="5" disabled="true" />
|
||||
<label>send</label>
|
||||
<input id="sender-command" size="30" />
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="flow-row" id="sender-quick">
|
||||
<button id="sender-ctrlx">soft reset</button>
|
||||
<button id="sender-hold">feed hold</button>
|
||||
<button id="sender-resume">feed resume</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sender-sel flow-row flow-space-between" id="sender-pad">
|
||||
<div>
|
||||
<table>
|
||||
<tr><th>
|
||||
<button id="sjx-">X-</button>
|
||||
<button id="sjx+">X+</button>
|
||||
</th></tr>
|
||||
<tr><th>
|
||||
<button id="sjy-">Y-</button>
|
||||
<button id="sjy+">Y+</button>
|
||||
</th></tr>
|
||||
<tr><th>
|
||||
<button id="sjz-">Z-</button>
|
||||
<button id="sjz+">Z+</button>
|
||||
</th></tr>
|
||||
</table>
|
||||
</div><div>
|
||||
<table>
|
||||
<tr><th> <label>jog</label><input id="sender-jog" size="4" value="1" title="jog distance in mm" /><label>mm</label> </th></tr>
|
||||
<tr><th> <button id="sender-set-zero">zero out axes</button> </th></tr>
|
||||
<tr><th> <button id="sender-goto-zero">goto zero axis</button> </th></tr>
|
||||
</table>
|
||||
</div><div>
|
||||
<table>
|
||||
<tr><th><label>X</label> <input id="saxi" disabled="true" size="9" /> <input id="srxi" disabled="true" size="9" /></th></tr>
|
||||
<tr><th><label>Y</label> <input id="sayi" disabled="true" size="9" /> <input id="sryi" disabled="true" size="9" /></th></tr>
|
||||
<tr><th><label>Z</label> <input id="sazi" disabled="true" size="9" /> <input id="srzi" disabled="true" size="9" /></th></tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sender-sel" id="sender-control">
|
||||
<table>
|
||||
<tr><td>
|
||||
<label>gcode control</label>
|
||||
<div id="sender-control-buttons">
|
||||
<button id="sender-gc-send">send</button>
|
||||
<button id="sender-gc-pause">pause</button>
|
||||
<button id="sender-gc-abort">abort</button>
|
||||
: <button id="sender-gc-runbox">runbox</button>
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td class="flow-row flow-space-between">
|
||||
<div><label>queue</label><input id="sender-gc-queue" disabled="true" size="9" /> </div>
|
||||
<div><label>sent</label><input id="sender-gc-sent" disabled="true" size="9" /> </div>
|
||||
<div><label>total</label><input id="sender-gc-lines" disabled="true" size="9" /> </div>
|
||||
</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<!-- all modal dialogs -->
|
||||
<div id="modal">
|
||||
<div id="help"></div>
|
||||
<!-- changeable print dialog -->
|
||||
<div id="print"></div>
|
||||
<!-- hidden file input loader -->
|
||||
<input id="load-file" type="file" name="loadme" style="display:none" accept=".stl,.gcode,.nc"/>
|
||||
</div>
|
||||
<!-- 3js -->
|
||||
<div id="container"></div>
|
||||
<!-- progress bar -->
|
||||
<div id="loading"><div id="progress"><span id="prostatus">status</span></div></div>
|
||||
<!-- file load catalog -->
|
||||
<div id="catalog" class="dialog">
|
||||
<div id="catalogBody" class="flow-col">
|
||||
<span id="localCache">local cache</span>
|
||||
<div id="catalogList"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- settings load dialog -->
|
||||
<div id="settings" class="dialog">
|
||||
<div id="settingsBody" class="flow-col">
|
||||
<span id="settingsCache">saved settings</span>
|
||||
<div id="settingsList"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- GCode filter editor -->
|
||||
<div id="devices" class="dialog">
|
||||
<div id="devices-body" class="flow-col">
|
||||
<div id="device-labels" class="flow-row">
|
||||
<span>device</span>
|
||||
<span>settings</span>
|
||||
</div>
|
||||
<div id="device-cols" class="flow-row">
|
||||
<div id="device-list" class="flow-col">
|
||||
<select id="device-select" size="15"></select>
|
||||
</div>
|
||||
<div id="device-info">
|
||||
<div id="device"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="device-action" class="flow-row">
|
||||
<button id="device-add">+</button>
|
||||
<button id="device-del">-</button>
|
||||
<span id="device-spacer"></span>
|
||||
<button id="device-save">save</button>
|
||||
<button id="device-close">close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- CAM tools dialog -->
|
||||
<div id="tools" class="dialog">
|
||||
<div id="tools-body" class="flow-col">
|
||||
<div id="tool-labels" class="flow-row">
|
||||
<span>tools</span>
|
||||
<span>details</span>
|
||||
</div>
|
||||
<div id="tool-cols" class="flow-row">
|
||||
<div id="tool-list" class="flow-col">
|
||||
<select id="tool-select" size="15"></select>
|
||||
</div>
|
||||
<div id="tool-info" class="flow-col">
|
||||
<div class="flow-row"><label>type</label>
|
||||
<select id="tool-type">
|
||||
<option value="endmill" selected>endmill</option>
|
||||
<option value="ballmill">ballmill</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="flow-row"><label>name</label><input id="tool-name" size=8></input></div>
|
||||
<div class="flow-row"><label>tool #</label><input id="tool-num" size=5></input></div>
|
||||
<div class="flow-row"><label>metric</label><input id="tool-metric" type="checkbox"></input></div>
|
||||
<div class="grouphead">flute</div>
|
||||
<div class="flow-row" title="flute diameter"><label>diameter</label><input id="tool-fdiam" size=5></input></div>
|
||||
<div class="flow-row" title="flute length"><label>length</label><input id="tool-flen" size=5></input></div>
|
||||
<div class="grouphead">shaft</div>
|
||||
<div class="flow-row" title="shaft diameter"><label>diameter</label><input id="tool-sdiam" size=5></input></div>
|
||||
<div class="flow-row" title="shaft length"><label>length</label><input id="tool-slen" size=5></input></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="tool-action" class="flow-row">
|
||||
<button id="tool-add">+</button>
|
||||
<button id="tool-del">-</button>
|
||||
<span id="tool-spacer"></span>
|
||||
<button id="tools-save">save</button>
|
||||
<button id="tools-close">done</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- selection info -->
|
||||
<div id="selection">
|
||||
<span>
|
||||
<label class="label">width:</label><label id="sel_width" class="value">mm</label>
|
||||
<label class="label">depth:</label><label id="sel_depth" class="value">mm</label>
|
||||
<label class="label">height:</label><label id="sel_height" class="value">mm</label>
|
||||
|
||||
<label class="label">scale</label>
|
||||
<label class="label">x</label><input id="scale_x" size="3" value="1"/>
|
||||
<label class="label">y</label><input id="scale_y" size="3" value="1"/>
|
||||
<label class="label">z</label><input id="scale_z" size="3" value="1"/>
|
||||
<label class="label">uniform</label><input type="checkbox" id="scale_uni" checked>
|
||||
|
||||
<label class="label">rotate</label>
|
||||
<button id="x+" title="hold SHIFT to rotate 5 degrees">x+</button><button id="x-" title="hold SHIFT to rotate 5 degrees">x-</button>
|
||||
<button id="y+" title="hold SHIFT to rotate 5 degrees">y+</button><button id="y-" title="hold SHIFT to rotate 5 degrees">y-</button>
|
||||
<button id="z+" title="hold SHIFT to rotate 5 degrees">z+</button><button id="z-" title="hold SHIFT to rotate 5 degrees">z-</button>
|
||||
</span>
|
||||
</div>
|
||||
<!-- layer slider -->
|
||||
<div id="layer-view" class="flow-row">
|
||||
<span>
|
||||
<button id="layer-toggle">layers</button>
|
||||
<div id="layers"></div>
|
||||
<input id="layer-id" size="4">
|
||||
<input id="layer-slider" type="range">
|
||||
<button id="layer-range"> section</button>
|
||||
<input id="layer-span" size="4" value="1">
|
||||
</span>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
47
web/kiri/output-gcode.html
Normal file
47
web/kiri/output-gcode.html
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
<button id="print-close">X</button>
|
||||
|
||||
<span id="print-title">output options</span>
|
||||
|
||||
<div>
|
||||
<table id="print-info">
|
||||
<tr><th>file name</th><td><input id="print-filename" size="30" spellcheck="false" /></td></tr>
|
||||
<tr><th>file size (bytes)</th><td><input id="print-filesize" size="10" disabled="true" /></td></tr>
|
||||
<tr id="mill-info"><th>estimated mill time (h:m:s)</th><td><input id="mill-time" size="10" disabled="true" /></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="print-filament-row">
|
||||
<table>
|
||||
<tr><th>filament used (mm)</th><td><input id="print-filament" size="10" disabled="true" /></td></tr>
|
||||
<tr><th>filament density (g/cm^3)</th><td><input id="print-density" size="10" value="1.25" /></td></tr>
|
||||
<tr><th>printed weight (g)</th><td><input id="print-weight" size="10" disabled="true" /></td></tr>
|
||||
<tr><th>estimated print time (h:m:s)</th><td><input id="print-time" size="10" disabled="true" /></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="print-sel">
|
||||
<table><tr><th>
|
||||
<button id="print-download">download gcode file</button>
|
||||
<button id="print-serial">use gcode sender</button>
|
||||
</th></tr></table>
|
||||
</div>
|
||||
|
||||
<div class="print-sel" id="send-to-octoprint">
|
||||
<table>
|
||||
<tr><th colspan="2"><button id="print-octoprint">send to octoprint</button></th></tr>
|
||||
<tr id="ophost"><th>host:port</th><td><input id="octo-host" size="35" placeholder="http(s)://host:port" /></td></tr>
|
||||
<tr id="opapik"><th>api key</th><td><input id="octo-apik" size="35" /></td></tr>
|
||||
<!--<tr><th>options</th><td><input type="checkbox" id="octo-print">start print</td></tr>-->
|
||||
<tr id="ophint"><td colspan="2"><span id="octo-hint"><a href="http://docs.octoprint.org/en/master/api/general.html?highlight=cors#cross-origin-requests" target="_help">CORS support</a> must be enabled in API settings</span></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="print-sel" id="send-to-gridprint">
|
||||
<table>
|
||||
<tr><th colspan="2"><button id="print-gridprint">send to grid:print</button></th></tr>
|
||||
<tr><th>host:port</th><td><input id="grid-host" size="35" placeholder="http(s)://host:port" /></td></tr>
|
||||
<tr><th>api key</th><td><input id="grid-apik" size="35" /></td></tr>
|
||||
<tr><th>target</th><td><input id="grid-target" size="35" /></td></tr>
|
||||
<tr><td colspan="2"><span id="grid-hint">setup <a href="https://github.com/stewartoallen/grid-print" target="_help">grid:print</a> for your network</span></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
18
web/kiri/output-laser.html
Normal file
18
web/kiri/output-laser.html
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<button id="print-close">X</button>
|
||||
|
||||
<span>output options</span>
|
||||
|
||||
<div>
|
||||
<table id="print-info">
|
||||
<tr><th>file name</th><td><input id="print-filename" size="30" spellcheck="false" /></td></tr>
|
||||
<tr><th>segments</th><td><input id="print-lines" size="10" disabled="true" /></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="print-sel">
|
||||
<table>
|
||||
<tr><th><button id="print-svg">download as svg</button></th></tr>
|
||||
<tr><th><button id="print-dxf">download as dxf</button></th></tr>
|
||||
<tr><th><button id="print-lg">download as gcode</button></th></tr>
|
||||
</table>
|
||||
</div>
|
||||
31
web/kiri/style-atom3dp.css
Normal file
31
web/kiri/style-atom3dp.css
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/** atom3dp css */
|
||||
|
||||
button {
|
||||
color: #000;
|
||||
border: 1px solid rgba(20,20,20,0.5);
|
||||
}
|
||||
label {
|
||||
border-bottom: 1px solid rgba(200,200,0,0.75);
|
||||
}
|
||||
.grouphead {
|
||||
background-color: rgba(0,0,0,0.85);
|
||||
}
|
||||
#control-left {
|
||||
background-color: rgba(240,240,20,0.5);
|
||||
}
|
||||
#control-right {
|
||||
color: #000;
|
||||
background-color: rgba(240,240,20,0.5);
|
||||
}
|
||||
#appid span {
|
||||
background-color: rgba(240,240,20,0.5) !important;
|
||||
}
|
||||
#selection span {
|
||||
background-color: rgba(240,240,20,0.5) !important;
|
||||
}
|
||||
#layer-view span {
|
||||
background-color: rgba(240,240,20,0.5) !important;
|
||||
}
|
||||
#modeCAM {
|
||||
display: none !important;
|
||||
}
|
||||
578
web/kiri/style.css
Normal file
578
web/kiri/style.css
Normal file
|
|
@ -0,0 +1,578 @@
|
|||
th, tr, td, span, div, label, button {
|
||||
user-select: none;
|
||||
}
|
||||
input[type=range]::-moz-focus-outer {
|
||||
border: 0;
|
||||
}
|
||||
.dialog {
|
||||
display: none;
|
||||
color: white;
|
||||
padding: 10px;
|
||||
border: 1px solid rgba(255,255,255,0.75);
|
||||
background-color: rgba(20,20,20,0.75);
|
||||
border-top-left-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
position: fixed;
|
||||
top: 25px;
|
||||
xleft: 25px;
|
||||
}
|
||||
.dialog span {
|
||||
padding: 2px 5px 2px 5px;
|
||||
margin: 0 5px 5px 5px;
|
||||
background-color: #333;
|
||||
border-top-left-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
border: 1px solid #555;
|
||||
text-align: center;
|
||||
}
|
||||
.helper {
|
||||
position: relative;
|
||||
display: none;
|
||||
}
|
||||
.mono {
|
||||
unicode-bidi: embed;
|
||||
font-family: monospace;
|
||||
white-space: pre;
|
||||
}
|
||||
#selection {
|
||||
display: none;
|
||||
text-align: center;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
bottom: 3px;
|
||||
}
|
||||
#selection span {
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 5px;
|
||||
padding: 3px 8px 8px 8px;
|
||||
background-color: rgba(170,221,255,0.75);
|
||||
color: rgba(0,0,0,0.5);
|
||||
}
|
||||
#selection label {
|
||||
border: 0;
|
||||
}
|
||||
#selection .value {
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
color: black;
|
||||
}
|
||||
#selection button {
|
||||
margin-left: 1px;
|
||||
border: 1px solid rgba(255,255,255,0.75);
|
||||
}
|
||||
#appid {
|
||||
text-align: center;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
top: 3px;
|
||||
}
|
||||
#appid span {
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 5px;
|
||||
padding: 5px 8px 3px 8px;
|
||||
background-color: rgba(170,221,255,0.75);
|
||||
color: rgba(0,0,0,0.5);
|
||||
}
|
||||
#appid a {
|
||||
color: rgba(0,0,0,0.75);
|
||||
font-weight: bold;
|
||||
}
|
||||
#appid a:hover {
|
||||
color: rgba(0,50,50,0.75);
|
||||
}
|
||||
#container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
#loading {
|
||||
position: fixed;
|
||||
top: 30px;
|
||||
left: 20%;
|
||||
right: 20%;
|
||||
border: 2px solid rgba(10,10,10,0.25);
|
||||
border-radius: 5px;
|
||||
margin: 2px;
|
||||
background-color: rgba(200,200,200,0.75);
|
||||
text-align: center;
|
||||
display: none;
|
||||
}
|
||||
#progress {
|
||||
position: relative;
|
||||
width: 1%;
|
||||
height: 100%;
|
||||
background-color: #f00;
|
||||
text-align: left;
|
||||
}
|
||||
#progress > span {
|
||||
color: white;
|
||||
padding-left: 10px;
|
||||
}
|
||||
#modal {
|
||||
z-index: 20000;
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
background-color: rgba(0,0,0,0.2);
|
||||
display: none;
|
||||
}
|
||||
|
||||
/** PRINT DIALOG */
|
||||
|
||||
#print {
|
||||
position: fixed;
|
||||
-webkit-transform: translate(-50%, 0);
|
||||
transform: translate(-50%, 0);
|
||||
text-align: center;
|
||||
top: 50px;
|
||||
left: 50%;
|
||||
color: white;
|
||||
border: 1px solid white;
|
||||
background-color: rgba(20,20,20,0.75);
|
||||
padding: 10px;
|
||||
}
|
||||
#print-close {
|
||||
position: absolute;
|
||||
z-index: 200;
|
||||
right: 3px;
|
||||
top: 3px;
|
||||
}
|
||||
#print > div {
|
||||
border: 1px solid #888;
|
||||
border-top-left-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
padding: 2px;
|
||||
margin: 6px 0 6px 0;
|
||||
}
|
||||
#print .print-sel:hover {
|
||||
border: 1px solid yellow;
|
||||
border-top-left-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
}
|
||||
#print table {
|
||||
width: 100%;
|
||||
}
|
||||
#print th {
|
||||
text-align: left;
|
||||
}
|
||||
#print td {
|
||||
text-align: right;
|
||||
}
|
||||
#print input {
|
||||
text-align: right;
|
||||
}
|
||||
#print input[disabled] {
|
||||
background-color: #bbb;
|
||||
border-color: #ccc;
|
||||
color: black;
|
||||
}
|
||||
#print-density {
|
||||
disabled: false;
|
||||
}
|
||||
#grid-hint {
|
||||
font-style: italic;
|
||||
font-weight: lighter;
|
||||
font-size: 10px;
|
||||
}
|
||||
#octo-hint {
|
||||
font-style: italic;
|
||||
font-weight: lighter;
|
||||
font-size: 10px;
|
||||
}
|
||||
#print a {
|
||||
color: #8ae;
|
||||
}
|
||||
#print a:hover {
|
||||
color: #fff;
|
||||
background-color: #888;
|
||||
}
|
||||
|
||||
/** sender dialog */
|
||||
|
||||
#sender {
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
top: 25px;
|
||||
right: 0px;
|
||||
color: white;
|
||||
border: 1px solid white;
|
||||
background-color: rgba(20,20,20,0.75);
|
||||
padding: 10px;
|
||||
display: none;
|
||||
}
|
||||
#sender-bar {
|
||||
border: 0 !important;
|
||||
margin: 2px 2px 0 0 !important;
|
||||
padding: 0 !important;
|
||||
position: absolute;
|
||||
z-index: 200;
|
||||
right: 3px;
|
||||
top: 3px;
|
||||
}
|
||||
#sender-bar button {
|
||||
margin: 0;
|
||||
}
|
||||
#sender > div {
|
||||
border: 1px solid #888;
|
||||
border-top-left-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
padding: 2px;
|
||||
margin: 6px 0 6px 0;
|
||||
}
|
||||
#sender .sender-sel:hover {
|
||||
border: 1px solid yellow;
|
||||
border-top-left-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
}
|
||||
#sender table {
|
||||
width: 100%;
|
||||
}
|
||||
#sender th {
|
||||
text-align: left;
|
||||
}
|
||||
#sender td {
|
||||
text-align: right;
|
||||
}
|
||||
#sender input[disabled] {
|
||||
background-color: #bbb;
|
||||
border-color: #ccc;
|
||||
color: black;
|
||||
}
|
||||
#v a {
|
||||
color: #8ae;
|
||||
}
|
||||
#sender a:hover {
|
||||
color: #fff;
|
||||
background-color: #888;
|
||||
}
|
||||
#sender-log {
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
padding: 5px;
|
||||
overflow: auto;
|
||||
text-align: left;
|
||||
font-size: 11px;
|
||||
max-width: 100em;
|
||||
}
|
||||
#sender-set-zero, #sender-goto-zero, #sender-connect, #sender-port-close {
|
||||
width: 100%;
|
||||
}
|
||||
#sender-jog {
|
||||
flex-grow: 1;
|
||||
}
|
||||
#sender label {
|
||||
color: #ddd;
|
||||
background-color: #555;
|
||||
border: 1px solid #aaa;
|
||||
padding-top: 1px;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
padding-bottom: 1px;
|
||||
}
|
||||
#sender span {
|
||||
font-weight: normal;
|
||||
}
|
||||
#sender-control td {
|
||||
text-align: justify;
|
||||
}
|
||||
#sender-control input {
|
||||
margin-left: 2px;
|
||||
}
|
||||
#sender-control-buttons {
|
||||
float:right;
|
||||
}
|
||||
#sender-status {
|
||||
text-align: center;
|
||||
xbackground-color: #555 !important;
|
||||
xborder: 1px solid black !important;
|
||||
xmargin: 2px 2px 2px 0;
|
||||
xpadding: 2px 2px 2px 0;
|
||||
}
|
||||
#sender-quick button {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
/** help dialog */
|
||||
|
||||
#help {
|
||||
position: fixed;
|
||||
-webkit-transform: translate(-50%, 0);
|
||||
transform: translate(-50%, 0);
|
||||
text-align: left;
|
||||
top: 50px;
|
||||
left: 50%;
|
||||
color: white;
|
||||
border: 1px solid white;
|
||||
background-color: rgba(20,20,20,0.75);
|
||||
padding: 10px;
|
||||
}
|
||||
#help-close {
|
||||
position: absolute;
|
||||
z-index: 200;
|
||||
right: 3px;
|
||||
top: 3px;
|
||||
}
|
||||
#help a {
|
||||
color: #8ae;
|
||||
}
|
||||
#help a:hover {
|
||||
color: #fff;
|
||||
background-color: #888;
|
||||
}
|
||||
#help p {
|
||||
font-weight: normal;
|
||||
}
|
||||
button.selected {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
/** tool dialog */
|
||||
|
||||
#tools {
|
||||
text-align: center;
|
||||
}
|
||||
#tools button {
|
||||
margin-left: 1px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
#tools span {
|
||||
border: 0;
|
||||
background: transparent;
|
||||
}
|
||||
#tools-body {
|
||||
height: 100%;
|
||||
}
|
||||
#tool-labels span {
|
||||
width: 200px;
|
||||
padding: 2px 5px 2px 5px;
|
||||
margin: 0 5px 5px 5px;
|
||||
background-color: #333;
|
||||
border-top-left-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
border: 1px solid #555;
|
||||
text-align: center;
|
||||
}
|
||||
#tool-cols > div {
|
||||
width: 200px;
|
||||
padding: 5px;
|
||||
margin: 5px;
|
||||
border: 1px solid #aaa;
|
||||
border-top-left-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
}
|
||||
#tool-info > div {
|
||||
margin-top: 2px;
|
||||
margin-bottom: 2px;
|
||||
flex-basis: auto;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
#tool-action > button {
|
||||
text-align: center;
|
||||
}
|
||||
#tool-action > span {
|
||||
flex-grow: 1;
|
||||
width: 100%;
|
||||
}
|
||||
#tools label {
|
||||
text-align: left;
|
||||
}
|
||||
#tools input {
|
||||
background-color: #ddd;
|
||||
margin-bottom: 1px;
|
||||
text-align: right;
|
||||
}
|
||||
#tools input:focus {
|
||||
background-color: #dee;
|
||||
}
|
||||
#tool-list > select {
|
||||
flex-grow: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
color: white;
|
||||
border: 0;
|
||||
margin-bottom: 2px;
|
||||
padding-bottom: 2px;
|
||||
background-color: transparent;
|
||||
overflow-y: auto;
|
||||
outline: none;
|
||||
}
|
||||
#tool-list select::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/** device dialog */
|
||||
|
||||
#devices {
|
||||
text-align: center;
|
||||
}
|
||||
#devices button {
|
||||
margin-left: 1px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
#devices span {
|
||||
border: 0;
|
||||
background: transparent;
|
||||
}
|
||||
#devices-body {
|
||||
height: 100%;
|
||||
}
|
||||
#device-labels span {
|
||||
width: 200px;
|
||||
padding: 2px 5px 2px 5px;
|
||||
margin: 0 5px 5px 5px;
|
||||
background-color: #333;
|
||||
border-top-left-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
border: 1px solid #555;
|
||||
text-align: center;
|
||||
}
|
||||
#device-cols > div {
|
||||
width: 200px;
|
||||
padding: 5px;
|
||||
margin: 5px;
|
||||
border: 1px solid #aaa;
|
||||
border-top-left-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
}
|
||||
#device-info > div {
|
||||
margin-top: 2px;
|
||||
margin-bottom: 2px;
|
||||
flex-basis: auto;
|
||||
flex-shrink: 0;
|
||||
position: relative;
|
||||
}
|
||||
#device-action > button {
|
||||
text-align: center;
|
||||
}
|
||||
#device-action > span {
|
||||
flex-grow: 1;
|
||||
width: 100%;
|
||||
}
|
||||
#devices label {
|
||||
text-align: left;
|
||||
}
|
||||
#devices input {
|
||||
background-color: #ddd;
|
||||
margin-bottom: 1px;
|
||||
text-align: right;
|
||||
}
|
||||
#devices input:focus {
|
||||
background-color: #dee;
|
||||
}
|
||||
#device-list select {
|
||||
flex-grow: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
color: white;
|
||||
border: 0;
|
||||
margin-bottom: 2px;
|
||||
padding-bottom: 2px;
|
||||
background-color: transparent;
|
||||
overflow-y: auto;
|
||||
outline: none;
|
||||
}
|
||||
#device-list select::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
#device-list option[local="1"] {
|
||||
color: #ff5;
|
||||
}
|
||||
#device label {
|
||||
white-space: nowrap;
|
||||
}
|
||||
#device textarea {
|
||||
overflow: hidden;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
/** file catalog */
|
||||
|
||||
#import {
|
||||
width: 100%;
|
||||
}
|
||||
button[import="1"] {
|
||||
width: 5px;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
}
|
||||
#catalog {
|
||||
text-align: center;
|
||||
min-height: 25%;
|
||||
max-height: 75%;
|
||||
height: 1000px;
|
||||
}
|
||||
#catalog div {
|
||||
position: relative;
|
||||
}
|
||||
#catalogBody {
|
||||
height: 100%;
|
||||
}
|
||||
#catalogBody div::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
#catalogList {
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
#catalogList button {
|
||||
margin: 0px 0px 2px 2px;
|
||||
overflow-x: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
/** saved settings list */
|
||||
#settings button {
|
||||
margin: 1px;
|
||||
}
|
||||
|
||||
/** layer slider and controls */
|
||||
|
||||
#layer-view {
|
||||
display: none;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 25px;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
}
|
||||
#layer-view span {
|
||||
position: relative;
|
||||
border-radius: 5px;
|
||||
padding: 3px 8px 8px 8px;
|
||||
background-color: rgba(170,221,255,0.75);
|
||||
color: rgba(0,0,0,0.5);
|
||||
}
|
||||
#layer-view input {
|
||||
vertical-align: middle;
|
||||
}
|
||||
#layer-view button {
|
||||
position: relative;
|
||||
margin-left: 1px;
|
||||
border: 1px solid rgba(255,255,255,0.75);
|
||||
}
|
||||
#layer-slider {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
width: 50%;
|
||||
}
|
||||
#layers {
|
||||
display: none;
|
||||
position: fixed;
|
||||
bottom: 30px;
|
||||
background-color: rgba(0,0,0,0.2);
|
||||
border: 1px solid rgba(0,0,0,0.5);
|
||||
border-radius: 3px;
|
||||
padding: 6px;
|
||||
-webkit-transform: translate(-10px, 0);
|
||||
transform: translate(-10px, 0);
|
||||
}
|
||||
#layers label {
|
||||
text-align: left;
|
||||
color: rgba(0,0,0,0.85);
|
||||
}
|
||||
Loading…
Reference in a new issue