From RepRap
Jump to: navigation, search

3DReading is the first step in the processing done by the Reprap host software.

The 3DReading step reads a source file representing some 3D object. Such a file can be created by a person using practically any CAD system, such as the ones listed at Useful Software Packages#2D and 3D CAD software.

3D object formats

There is a standard format for describing 3D objects that is used by every rapid prototyping system, including RepRap.
It is called the STL format (see the Wikipedia: STL (file format) Wikipedia article).
STL is short for STereoLithography, which was the first RP technology.
Unfortunately STL files have almost no internal structure, being little more than a list of triangles in space that cover the object to be built.

Note that RepRap knows nothing of STL files other than making calls to org.j3d.loaders.stl, which returns a Java3D BranchGroup. It is this that RepRap uses internally as its initial store of 3D information. That means that any file format that Java3D can read into a <nolink>BranchGroup</nolink> can be used by RepRap, just by adding a reader call to org.reprap.gui.STLObject.

We are working on a general file format to represent multi-material objects. For details see our page on the Multiple Material File Format.

Reading in 3D objects

There is a standard Java3D function to read STL files (org.j3d.loaders.stl) and to return them as Java3D objects.
This is used by the RepRap class org.reprap.gui.STLObject, which

  1. loads STL files given a path to them,
  2. attaches attributes to them so that each is made from a known material with which the RepRap machine builds, and
  3. allows them to be rotated and translated in space so that they can be placed anywhere in the build area.

After 3D objects have been read they are passed to ZSlicing.