Skip to content
bsutton edited this page Apr 16, 2012 · 31 revisions

Welcome to the home of Reprap Print Studio (RPS)

Reprap Print Studio aims to redefine the end user experience of printing with a reprap.

The current software for reprap printers provide very proprietary interfaces which perhaps arent' as intuitive as they could be. One reason for this is that they largely ignore the current UI metaphores which have been developed over the past couple of decades for 2D printing.

Reprap Print Studio has several aims:

  1. To present a user experience that leans heavily on the lessons learnt from the 2D printing world to deliver a more familiar user interface.
  2. Where possible use existing standards (terminology and protocols) from the 2D world.
  3. Provide better separation of functional components.
  4. Deliver multi-material printing support
  5. Develop a plugable archetecture so that the system can easily be expanded by third parties.
  6. Involve as large a part of the Reprap community as possible.

Resources

To maximise existing code the project will utilise existing tooling as much as possible. To that end the follow projects will be used as contributing codes bases:

  1. Reprap Host
  2. Skien Forge
  3. Sprinter Firmware
  4. Java port of 3dc conversion library

Application development

The core language will be java utilising the Eclipse IDE.

Architecture

##Reprap Print Studio (RPS) RPS is a UI which focus' on print layout, slicing and layer visualisation and tuning. RPS will output STL, AMF and gcode files. RPS primary format will be AMF as it allows multiple objects, materials and colours to be defined in a single file and is critical for support of the multi-material printing.

RPS Details

Reprap Print Manager (RPP)

RPP will be a UI/service responsible for the actual printing process. RPP will accept as input gcode files (or some similar substitute). RPP will provide printer setup and calibration tools as well as implementing a print queue. RPP will provide a method to directly open a gcode file however it will also provide a standards based tcp interface for accepting and managing print job.

RPP Details

Print Drivers

User space print drivers will be developed (effectively POJOs with a defined interface) to allow RPS and RPP to operating independently of the underlying printer. Both RPS and RPP will provide an interface to allow a Print Driver to be loaded. The print driver will provide all of the printer specific configuration information needed to slice objects.

Print Drivers Details

File manipulation

The first component to be released is a library that allows for the manipluation of common graphics file formats (STL, AMF) to allow multiple 'single material' file formats such as a STL file to be combined into a single multi-material file format such as AMF. The library also provide a nice set of manipulation functions which can be used to prepare an STL file for printing such as: Rotation Translation Merging of multiple STL files Unit conversion

e.g. Combine two STL files into a single file. The two source files use different scales (inches and millimeters) with the final output file rendered in millimeters. 3dc -v -i src/test/resources/cube.stl -u millimeter -i src/test/resources/kwartzlab.stl -u inch -o src/test/resources/result.stl -u millimeter

Rotate an STL file by 90 degrees around the x-axis. 3dc -v -i src/test/resources/cube.stl -r 90:0:0 -o src/test/resources/rotatedcube.stl

Move an STL file by 10 millimeters along the y-axis. 3dc -v -i src/test/resources/cube.stl -u millimeter -t 0:10:0 -o src/test/resources/movedcube.stl -u millimeter

Combines four files (cube.stl, kwartzlab.stl, rook.amf and rook.stl) into a single file called result.amf. As the four files are combined the are converted into a common unit of measure (millimeter) translated and rotated in the 3d co-ord plane and each input file is assigned a material and a colour.

3dc -v -i src/test/resources/cube.stl -u millimeter -material pla -colour red -i src/test/resources/kwartzlab.stl -u meter -material abs -r 0:0:0 -i src/test/resources/rook.amf -material pla -u micron -t 10:10:10 -r 180:0:180 -i src/test/resources/rook.stl -material pla -colour yellow -o src/test/resources/result.amf -u millimeter

Update: This work is now complete and the library is available for immediate use using the command line interface.

3DC details