RepRap file format outline and request for comments
Files for things to be built
Eventually, RepRap may need its own file format .reprap for example, along with translators to turn .stl files or .dwg files into .reprap files. The translator may be our java-based RepRap virtual machine simulator.
.reprap file requirements and file structure: Internally, a .reprap file may look like a cross between a .stl file, a .ps file, and g-code. For every point in the extruder object, we need to describe it's constituent materials. filament thickness, and the extruder position and velocity when we deposit the material. Much of this can be implicit; if we are fabricating a rectangular solid, we don't want to spell out every voxel in the object.
.reprap file information and metainformation
- .reprap version number
- Object name and part number
- Object description e.g. "Ceramic WaterJet Turbine Rotor"
- Object linear dimensions (Will the object fit in the printer.)
- Object volume
- Object estimated print time. (print_time = (total_extrusion_length/extrusion_speed) + (total_nonextruding_tranlation_length/translation_speed)
- Material Components (5010 g thermoplastic, 20 g red_pigmented_thermoplastic, 17 cc kaolin slurry)
For individual layers, we will need this information, unless we specify it implicitly.
- Grain direction (For regular objects, where we aren't trying to optimize filament geometry and mechanical strength, say in a rectangular solid.)
- Specific Filament length segments, arcs, bezier curves (If we are making circular parts, or something where we are trying to optimize filament geometry and mechanical strength to make an object like a bone or buckystructure.)
- Material fractions and distribution (we want the pigmented material on the outside. We want the support material here here, and so on.) Here we are using the small nozzle, and here we park the big nozzle and fill a vertical column for a while.
- If we are trying to make an object with embedded subcomponents, we may need directions to the reprap such as "Pick and Place a 8 pin microcontroller here."
Files to describe a RepRap machine
At the moment this file is the reprap.properties(.dist) file in trunk/reprap/host/lib.
A RepRap machine's config file obviously needs to contain all the capabilities of the machine - speeds, dimensions, and so on - and a list of materials, their associated heads, and those heads' characteristics - temperature, PIC address, etc. XML certainly seems the way to go for that, especially as (I presume) Java has an XML library that'll read and write it woithout our having to think.
-- Main.SebastienBailard - 13 Jul 2006
- File Format policy: What file format do we release our parts in?
- Recommended File Formats
- A community specification for an improvement to STL files.
- A community specification for an open 3D file wrapper.