3DReading

From RepRap
Revision as of 03:38, 6 July 2009 by Sebastien Bailard (talk | contribs) (copied over from twiki)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Reading in 3D objects

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 (that link will take you to its Wikipedia entry). 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.

However, 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 loads STL files given a path to them, attaches attributes to them so that each is made from a known material with which the RepRap machine builds, and allows them to be rotated and translated in space so that they can be placed anywhere in the build area.

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.

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

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

-- Main.AdrianBowyer - 25 Feb 2008