Skip to content

Commit

Permalink
documentation update
Browse files Browse the repository at this point in the history
  • Loading branch information
jgphilpott committed Mar 10, 2024
1 parent 47cf722 commit 4012ea3
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 3 deletions.
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"cSpell.language": "en-US",
"cSpell.words": [
"autohome",
"cura",
"forkme",
"gcode",
"polyslice",
Expand Down
16 changes: 14 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
# Polyslice
<p align="center">
<img width="333" height="333" src="https://github.com/jgphilpott/polyslice/blob/main/imgs/logo.jpeg">
</p>

A G-code exporter for [three.js](https://github.com/mrdoob/three.js) inspired by the conversation on [this three.js issue](https://github.com/mrdoob/three.js/issues/17981).
# About

Polyslice is an [FDM](https://en.wikipedia.org/wiki/Fused_filament_fabrication) [slicer](https://en.wikipedia.org/wiki/Slicer_(3D_printing)) designed specifically for [three.js](https://github.com/mrdoob/three.js) and inspired by the discussion on [this three.js issue](https://github.com/mrdoob/three.js/issues/17981). The idea is to be able to go straight from a mesh in a three.js scene to a machine usable [G-code](https://en.wikipedia.org/wiki/G-code), thus eliminating the need for intermediary file formats and 3rd party slicing software.

Currently, if you want to print something you have designed in three.js you need to first export it to an [STL](https://en.wikipedia.org/wiki/STL_(file_format)) or [OBJ](https://en.wikipedia.org/wiki/Wavefront_.obj_file) file, slice that file with another software like [Cura](https://github.com/Ultimaker/Cura) and then transfer the resulting [G-code](https://en.wikipedia.org/wiki/G-code) to your 3D printer. Ideally, you should be able to use a three.js plugin to slice the meshes in your scene and send the G-code directly to your 3D printer via [Web Serial API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API).

With this approach the design, slicing and printing process becomes much more seamless! No download or installation is required, the entire process can happen without leaving a web browser. Intermediary file formats become obsolete and G-codes become invisible for the average user.

# Tools

To assist in designing and testing this slicer I developed a simple mini app called '[Web G-code Sender](https://jgphilpott.github.io/polyslice/serial/browser/sender.html)' for experimenting with G-code and writing/reading printer data via [Web Serial API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API). I recommend taking a look at it if you want to learn G-code or how to remotely control a 3D printer from a web browser.
2 changes: 1 addition & 1 deletion serial/browser/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

# About

The [Web G-code Sender](https://jgphilpott.github.io/polyslice/serial/browser/sender.html) is a **mini app** that was built as a development aid for [Polyslice](https://github.com/jgphilpott/polyslice), an FDM slicer designed specifically for [three.js](https://github.com/mrdoob/three.js). The app can connect to a 3D printer via a serial port (USB or Bluetooth) to send individual G-codes and read the printers response data.
The [Web G-code Sender](https://jgphilpott.github.io/polyslice/serial/browser/sender.html) is a mini app that was built as a development aid for [Polyslice](https://github.com/jgphilpott/polyslice), an FDM slicer designed specifically for [three.js](https://github.com/mrdoob/three.js). The app can connect to a 3D printer via a serial port (USB or Bluetooth) to send individual G-codes and read the printers response data.

Various [other apps](https://github.com/kliment/Printrun) exist that do the same thing but [I](https://github.com/jgphilpott) wanted something browser based for a more seamless user experience, no download or installation should be necessary. Furthermore, I wanted more *raw* access to the API so that I could integrate this functionality into my own applications and not be limited by another developers GUI.

Expand Down

0 comments on commit 4012ea3

Please sign in to comment.