Difference between revisions of "WaterColorBot Software"

From Evil Mad Scientist Wiki
Jump to: navigation, search
(For Developers)
 
(4 intermediate revisions by the same user not shown)
Line 9: Line 9:
  
 
Briefly, to describe the three interfaces:
 
Briefly, to describe the three interfaces:
* [[RoboPaint]] is automatic painting software, which is usually your best choice when starting from an existing drawing in SVG format.
+
* The [[Inkscape_and_WaterColorBot|Inkscape extensions for WaterColorBot]] allow you to create and paint artwork with a very fine level of control, either within Inkscape, or by exporting SVG graphics to RoboPaint.
 +
* [[RoboPaint]] is automatic painting software, which is sometimes your best choice when starting from an existing drawing in SVG format.
 
* [[RoboPaint RT]] is an independent real-time painting application, in which you paint on your computer, and the robot follows along in real time.
 
* [[RoboPaint RT]] is an independent real-time painting application, in which you paint on your computer, and the robot follows along in real time.
* The [[Inkscape_and_WaterColorBot|Inkscape extensions for WaterColorBot]] allow you to create and paint artwork with a very fine level of control, either within Inkscape, or by exporting SVG graphics to RoboPaint.
 
  
  
Line 19: Line 19:
 
== For Young Programmers  ==
 
== For Young Programmers  ==
  
* You can program the WaterColorBot in both [http://scratch.mit.edu Scratch] and [http://snap.berkeley.edu Snap!] Our example code for these projects, "WaterColorBlocks" is available [https://github.com/evil-mad/WaterColorBlocks here]. You will also need to run RoboPaint (0.9.0 or newer) in the background, as an interface to the WaterColorBot.
+
* You can program the WaterColorBot in both [http://scratch.mit.edu Scratch] and [http://snap.berkeley.edu ''Snap!''] Our example code for these projects, "WaterColorBlocks" is available [https://github.com/evil-mad/WaterColorBlocks here]. You will also need to run RoboPaint (0.9.0 or newer) in the background, as an interface to the WaterColorBot. (Of the two interfaces, we have generally found ''Snap!'' to be more enjoyable and reliable.)
  
 +
* An alternative block-based programming interface is [http://beetleblocks.com BeetleBlocks], a Scratch-like programming environment for making 3D creations ("Visual Code for 3D Design"). BeetleBlocks can save its 2D curves as SVG files, which you can open and print from within RoboPaint.
  
  
Line 30: Line 31:
 
* The Inkscape extensions are written in Python.  Their github repository is [https://github.com/evil-mad/wcb-ink here]
 
* The Inkscape extensions are written in Python.  Their github repository is [https://github.com/evil-mad/wcb-ink here]
 
* The RESTful [https://github.com/techninja/cncserver/blob/master/API.md WaterColorBot API] is built into RoboPaint.
 
* The RESTful [https://github.com/techninja/cncserver/blob/master/API.md WaterColorBot API] is built into RoboPaint.
* You can also send low-level commands directly to the EBB over USB, from any program that can write to a serial port.  Command documentation for the EBB can be found [http://schmalzhaus.com/EBB/EBBCommands.html here].
+
* You can also send low-level commands directly to the EBB over USB, from any program that can write to a serial port.  Command documentation for the EBB can be found [http://evil-mad.github.io/EggBot/ebb.html here].

Latest revision as of 16:44, 19 February 2017

wcb_tn.jpg This wiki page is part of the documentation for the WaterColorBot.
Click here to return to the WaterColorBot overview.


WaterColorBot Software[edit]

There are three main software interfaces for driving the WaterColorBot: RoboPaint, RoboPaint RT, and the Inkscape extensions for WaterColorBot.


Briefly, to describe the three interfaces:

  • The Inkscape extensions for WaterColorBot allow you to create and paint artwork with a very fine level of control, either within Inkscape, or by exporting SVG graphics to RoboPaint.
  • RoboPaint is automatic painting software, which is sometimes your best choice when starting from an existing drawing in SVG format.
  • RoboPaint RT is an independent real-time painting application, in which you paint on your computer, and the robot follows along in real time.


Much more information about these programs are on their respective pages, linked above.


For Young Programmers[edit]

  • You can program the WaterColorBot in both Scratch and Snap! Our example code for these projects, "WaterColorBlocks" is available here. You will also need to run RoboPaint (0.9.0 or newer) in the background, as an interface to the WaterColorBot. (Of the two interfaces, we have generally found Snap! to be more enjoyable and reliable.)
  • An alternative block-based programming interface is BeetleBlocks, a Scratch-like programming environment for making 3D creations ("Visual Code for 3D Design"). BeetleBlocks can save its 2D curves as SVG files, which you can open and print from within RoboPaint.


For Developers[edit]

A brief overview of where to get started:

  • RoboPaint is written in Javascript. Its github repository is here.
  • RoboPaint RT is written in Processing/Java Its github repository is here
  • The Inkscape extensions are written in Python. Their github repository is here
  • The RESTful WaterColorBot API is built into RoboPaint.
  • You can also send low-level commands directly to the EBB over USB, from any program that can write to a serial port. Command documentation for the EBB can be found here.