I'm using kiri:moto ( https://grid.space/kiri ) to generate gcode/toolpaths for my x-carve.

I’m using kiri:moto (https://grid.space/kiri) to generate gcode/toolpaths for my x-carve. It runs entirely in-browser like ChiliPeppr. At the moment, I have to download the gcode then drag/drop that into ChiliPeppr. Is there a more direct way I can engineer to send the gcode directly since they’re both running in tabs in the same browser.

Also, separately, has consideration been given to using IndexedDB (when available) to store gcode history? It has nearly unlimited storage in comparison.

Yes, take a look at how the JSCut widget does it inside the http://chilipeppr.com/tinygStaging workspace and then perhaps fork that widget to make a Kiri widget. Then you can inject gcode over to ChiliPeppr by posting to http://chilipeppr.com/dataput?key=blah&val=blah. To understand that call better just review http://github.com/chilipeppr/docs

IndexedDB looks really nice. I do think ChiliPeppr should move to that for storing Gcode and then the 5MB limit would be gone. It appears that you can use up to 50% of the user’s hard drive with IndexedDB. I like it. Would you possibly be interested in forking the Drag/Drop element and tweaking it to use IndexedDB instead of localStorage()?

Sure. I’ll take a look. I use IndexedDB in kiri to store 3D models. It’s very fast and not limited to string data.

@Stewart_Allen I like that IndexedDB has the option of being asynchronous. I’ve been working on an STL Widget for Chilipeppr so we’re all well aware of how current localStorage limits would be preventing saving larger STL files that could easily be in the 35 - 50mb range (and ThreeJS would handle them fine).
Actually, I’d be interested to see if I could use the slicer portion of kiri:moto in the widget - we’re going for full fledged 3D Printer control in the browser from import to sending the gcode to the machine, and slicing in javascript is a huge part of making that happen.
Messaged you on hangouts if you’d like to chat more. Cheers!

@raykholo here you go. based on IndexedDB. http://jsfiddle.net/stewartoallen/v1L0jcnq/ … my first real work using the fiddle platform. getting double events and console.log is being lost. but otherwise, totally working for me :slight_smile:

@Stewart_Allen are you the author of grid.space? I had never heard of it, but I think it’s pretty cool. You can drag in an STL and then slice it. I would like to even do that with aluminum where I have a 2mm thick sheet but want to mill out a 20mm tall cube. It would be amazing to have all the slicing be available inside ChiliPeppr and all those controls be in a widget. Of course having the direct send would be hot too like you were talking about earlier.

@jlauer yes, I’m the author. it has modes for FDM (3d) printing, laser cutouts and CAM/CNC milling. the source is not open, but it’s free to use. I’m making changes now to expose the API such that it can be included as a script for uses such as this. I am considering a widget to enable direct importing of gcode from kiri to chilipeppr.

That would be awesome. I think Kiri could be a huge addition to the ecosystem.

@Stewart_Allen this is great to hear. Let me know if you need any help getting starting with the chilipeppr widget template.

thanks. it’ll probably be later in the week. need to clear my queue first :slight_smile:

update to an old thread: KiriMoto is now open source under the MIT license.


Cool. I didn’t realize you could send direct to SPJS from Kiri:Moto either.