Difference between revisions of "STL"

From GICL Wiki
Jump to: navigation, search
 
(3 intermediate revisions by one user not shown)
Line 38: Line 38:
  
 
'''Identifier:''' <!--[[Identifier::]] - A URL or other identifier that refers to the engineering format.-->
 
'''Identifier:''' <!--[[Identifier::]] - A URL or other identifier that refers to the engineering format.-->
http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=5659302
+
http://www.ennex.com/~fabbers/StL.asp
  
 
'''Documentation:''' [[Documentation::3ds Documentation]] <!-- Information in general about the engineering format.-->
 
'''Documentation:''' [[Documentation::3ds Documentation]] <!-- Information in general about the engineering format.-->
  
'''File Extensions:'''<!-- [[File Extension::]] - Extensions of the engineering format, excluding the dot.--> .3ds, .max
+
'''File Extensions:'''<!-- [[File Extension::]] - Extensions of the engineering format, excluding the dot.--> .stl
  
'''Applications:'''<!-- - Applications that the engineering format uses.--> [http://en.wikipedia.org/wiki/Autodesk_3ds_Max Autodesk 3ds Max], [http://en.wikipedia.org/wiki/Mathematica Mathematica], [http://en.wikipedia.org/wiki/VTK VTK], [http://people.sc.fsu.edu/~burkardt/cpp_src/ivcon/ivcon.html IVCON].
+
'''Applications:'''<!-- - Applications that the engineering format uses.--> .
  
* '''Native application(s):''' [[Native Application::3ds Engineering Format Application-native|Autodesk 3ds Max]] <!-- Applications which are primarily designed to specifically run this engineering format.-->
+
* '''Native application(s):''' <!-- Applications which are primarily designed to specifically run this engineering format.-->
  
* '''Interoperable applications:''' [[Interoperable Application::3ds Engineering Format Application|Mathematica, VTK, IVCON]] <!-- Applications which can read or write files of this format, but are not native applications for the format.-->
+
* '''Interoperable applications:''' VisCAM, SolidView, Materialise Magics<!-- Applications which can read or write files of this format, but are not native applications for the format.-->
  
'''Magic numbers:'''<!-- [[Magic Numbers::]] - Unique identifying characters at the beginning of files for this engineering format.--> 4D 4D ([http://en.wikipedia.org/wiki/Hexadecimal hex]), MM ([http://en.wikipedia.org/wiki/ASCII ASCII]).
+
'''Magic numbers:'''<!-- [[Magic Numbers::]] - Unique identifying characters at the beginning of files for this engineering format.-->  
  
'''Format(s):'''<!-- [[Format::]] - The MIME file types.--> application/x-3ds, image/x-3ds.
+
'''Format(s):'''<!-- [[Format::]] - The MIME file types.--> application/sla.
  
 
'''Rights:'''<!-- [[Rights::]] - The name or type of the license for the engineering format. Examples: BSD-style license, Apache License, Proprietary license--> Proprietary license.
 
'''Rights:'''<!-- [[Rights::]] - The name or type of the license for the engineering format. Examples: BSD-style license, Apache License, Proprietary license--> Proprietary license.
Line 60: Line 60:
 
* '''Standardization:''' [[Standardization::none]] <!-- Information regarding standardization attempts with this format.-->
 
* '''Standardization:''' [[Standardization::none]] <!-- Information regarding standardization attempts with this format.-->
  
* '''Adoption:''' [[Adoption::none]] <!-- Information about how this format has been adopted by other organizations.-->
+
* '''Adoption:''' Adopted by other organisations wishing to model 3D objects to be fabricated by 3D printers.  Such organisations include Marcam and Materialise  <!-- Information about how this format has been adopted by other organizations.-->
  
 
** '''Licensing and patent claims:''' [[Licensing and patent claims::proprietary license]] <!-- Any licenses or patent claims that the engineering format makes.-->
 
** '''Licensing and patent claims:''' [[Licensing and patent claims::proprietary license]] <!-- Any licenses or patent claims that the engineering format makes.-->
Line 70: Line 70:
 
* '''Technical protection considerations:''' [[Technical protection considerations::none]] <!-- Any considerations that are necessary when it comes to technical protection.-->
 
* '''Technical protection considerations:''' [[Technical protection considerations::none]] <!-- Any considerations that are necessary when it comes to technical protection.-->
  
'''Typical use:'''<!-- [[Typical use::]] - Keywords that describe the format's typical use. Examples: CAD and CAM--> CAM, a model archiving file format.
+
'''Typical use:'''[[Typical use::CAD 3D Printing]]<!-- [[Typical use::CAD 3D Printing]] - Keywords that describe the format's typical use. Examples: CAD and CAM--> CAM, a model archiving file format.
  
 
'''File classification:'''<!-- - Specific properties that pertain to this engineering format.-->
 
'''File classification:'''<!-- - Specific properties that pertain to this engineering format.-->
Line 77: Line 77:
 
** '''Raster data 2D:'''<!-- - Can the format support 2D raster data? Example: A format that can contain 2D pixelated data supports 2D raster data.-->
 
** '''Raster data 2D:'''<!-- - Can the format support 2D raster data? Example: A format that can contain 2D pixelated data supports 2D raster data.-->
 
*** '''Is Supported:''' [[File Classification Raster Data 2D - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
 
*** '''Is Supported:''' [[File Classification Raster Data 2D - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
*** '''Description:''' Contour data only. <!--[[File Classification Raster Data 2D - Description::]] - This field is used to describe the support or lack of support of the feature.-->
+
*** '''Description:''' Mesh data only. <!--[[File Classification Raster Data 2D - Description::]] - This field is used to describe the support or lack of support of the feature.-->
 
** '''Raster data 3D:'''<!-- - Can the format support 3D raster data? Example: A format that can contain 2D pixelated data of a 3D model supports 3D raster data.-->
 
** '''Raster data 3D:'''<!-- - Can the format support 3D raster data? Example: A format that can contain 2D pixelated data of a 3D model supports 3D raster data.-->
 
*** '''Is Supported:''' [[File Classification Raster Data 3D - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
 
*** '''Is Supported:''' [[File Classification Raster Data 3D - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
*** '''Description:''' Contour data only. <!--[[File Classification Raster Data 3D - Description::]] - This field is used to describe the support or lack of support of the feature.-->
+
*** '''Description:''' Mesh data only. <!--[[File Classification Raster Data 3D - Description::]] - This field is used to describe the support or lack of support of the feature.-->
 
* '''Geometric representation:'''<!-- - Section describes whether or not the engineering format supports geometric representations.-->
 
* '''Geometric representation:'''<!-- - Section describes whether or not the engineering format supports geometric representations.-->
 
** '''Implicit representation:''' <!-- Section describes whether or not the engineering format supports implicit representations.-->
 
** '''Implicit representation:''' <!-- Section describes whether or not the engineering format supports implicit representations.-->
Line 88: Line 88:
 
*** '''Implicit curves:'''<!-- - Can the format support implicit curves? Example: A format that can contain curves that are generated with mathematical equations that contain the independent variables x, y, and z, supports implicit curves.-->
 
*** '''Implicit curves:'''<!-- - Can the format support implicit curves? Example: A format that can contain curves that are generated with mathematical equations that contain the independent variables x, y, and z, supports implicit curves.-->
 
**** '''Is Supported:''' [[File Classification Implict Curves - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
 
**** '''Is Supported:''' [[File Classification Implict Curves - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
**** '''Description:''' Explicit curves supported. <!--[[File Classification Implicit Curves - Description::]] - This field is used to describe the support or lack of support of the feature.-->
+
**** '''Description:''' Curves not supported. <!--[[File Classification Implicit Curves - Description::]] - This field is used to describe the support or lack of support of the feature.-->
 
*** '''Point set:''' <!-- Can the format support point sets? Example: A format that supports surfaces and lines that are generated by points that form triangles supports point sets.-->
 
*** '''Point set:''' <!-- Can the format support point sets? Example: A format that supports surfaces and lines that are generated by points that form triangles supports point sets.-->
 
**** '''Is Supported:''' [[File Classification Point Set - Is Supported::true]] <!-- Is the feature supported in the engineering format?-->
 
**** '''Is Supported:''' [[File Classification Point Set - Is Supported::true]] <!-- Is the feature supported in the engineering format?-->
Line 100: Line 100:
 
**** '''Description:''' Surface meshes supported. <!--[[File Classification Manifold Volume Meshes - Description::]] - This field is used to describe the support or lack of support of the feature.-->
 
**** '''Description:''' Surface meshes supported. <!--[[File Classification Manifold Volume Meshes - Description::]] - This field is used to describe the support or lack of support of the feature.-->
 
**** '''Non-manifold meshes:''' <!-- Can the format support non-manifold meshes? Example: A format that supports meshes that are not manifolds--->
 
**** '''Non-manifold meshes:''' <!-- Can the format support non-manifold meshes? Example: A format that supports meshes that are not manifolds--->
**** '''Is Supported:''' [[File Classification Non-manifold Meshes - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
+
**** '''Is Supported:''' [[File Classification Non-manifold Meshes - Is Supported::true]] <!-- Is the feature supported in the engineering format?-->
**** '''Description:''' Non-manifold meshes change existing topology. <!--[[File Classification Non-manifold Meshes - Description::]] - This field is used to describe the support or lack of support of the feature.-->
+
**** '''Description:''' Non-manifold meshes are allowed by the format, however a non-manifold mesh will not be able to be printed using a Stereolithography machine. <!--[[File Classification Non-manifold Meshes - Description::]] - This field is used to describe the support or lack of support of the feature.-->
 
** '''Parametric representation:''' <!-- Section describes whether or not the engineering format supports parametric representations.
 
** '''Parametric representation:''' <!-- Section describes whether or not the engineering format supports parametric representations.
 
*** '''Parametric surfaces:''' - Can the format support parametric surfaces? Example: A format that can contain surfaces that are generated with parametric equations supports parametric surfaces.-->
 
*** '''Parametric surfaces:''' - Can the format support parametric surfaces? Example: A format that can contain surfaces that are generated with parametric equations supports parametric surfaces.-->
**** '''Is Supported:''' [[File Classification Parametric Surfaces - Is Supported::true]] <!-- Is the feature supported in the engineering format?-->
+
**** '''Is Supported:''' [[File Classification Parametric Surfaces - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
**** '''Description:''' Spline-to-patch surface. <!--[[File Classification Parametric Surfaces - Description::]] - This field is used to describe the support or lack of support of the feature.-->
+
**** '''Description:''' Triangle meshes only. <!--[[File Classification Parametric Surfaces - Description::]] - This field is used to describe the support or lack of support of the feature.-->
 
*** '''Parametric curves:''' <!-- Can the format support parametric curves? Example: A format that can contain curves that are generated with parametric equations supports parametric curves.-->
 
*** '''Parametric curves:''' <!-- Can the format support parametric curves? Example: A format that can contain curves that are generated with parametric equations supports parametric curves.-->
**** '''Is Supported:''' [[File Classification Parametric Curves - Is Supported::true]] <!-- Is the feature supported in the engineering format?-->
+
**** '''Is Supported:''' [[File Classification Parametric Curves - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
**** '''Description:''' Splines and NURBS. <!--[[File Classification Parametric Curves - Description::]] - This field is used to describe the support or lack of support of the feature.-->
+
**** '''Description:''' Triangle meshes only. <!--[[File Classification Parametric Curves - Description::]] - This field is used to describe the support or lack of support of the feature.-->
 
** '''Contour sets:''' <!-- Can the format support contour sets?-->
 
** '''Contour sets:''' <!-- Can the format support contour sets?-->
 
*** '''Is Supported:''' [[File Classification Contour Sets - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
 
*** '''Is Supported:''' [[File Classification Contour Sets - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
 
*** '''Description:''' Surfaces are supported. <!--[[File Classification Contour Sets - Description::]] - This field is used to describe the support or lack of support of the feature.-->
 
*** '''Description:''' Surfaces are supported. <!--[[File Classification Contour Sets - Description::]] - This field is used to describe the support or lack of support of the feature.-->
 
** '''NURBS:''' <!-- Can the format support Non Uniform Rational Basis Splines? Examples: The engineering formats IGES, STEP, ACIS, and PHIGS-->
 
** '''NURBS:''' <!-- Can the format support Non Uniform Rational Basis Splines? Examples: The engineering formats IGES, STEP, ACIS, and PHIGS-->
*** '''Is Supported:''' [[File Classification NURBS - Is Supported::true]] <!-- Is the feature supported in the engineering format?-->
+
*** '''Is Supported:''' [[File Classification NURBS - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
*** '''Description:''' [[File Classification NURBS - Description::none]] <!-- This field is used to describe the support or lack of support of the feature.-->
+
*** '''Description:''' Triangle meshes only <!-- This field is used to describe the support or lack of support of the feature.-->
 
* '''Multi-resolution models:''' <!-- Can the format support models with multiple resolutions? Examples: A format that supports a highly detailed and lowly detailed model simultaneously supports multi-resolution models.-->
 
* '''Multi-resolution models:''' <!-- Can the format support models with multiple resolutions? Examples: A format that supports a highly detailed and lowly detailed model simultaneously supports multi-resolution models.-->
** '''Is Supported:''' [[File Classification Multi-resolution Models - Is Supported::true]] <!-- Is the feature supported in the engineering format?-->
+
** '''Is Supported:''' [[File Classification Multi-resolution Models - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
** '''Description:''' [[File Classification Multi-resolution Models - Description::none]] <!-- This field is used to describe the support or lack of support of the feature.-->
+
** '''Description:''' Single resolution models <!-- This field is used to describe the support or lack of support of the feature.-->
 
* '''Dynamics:''' <!-- - Section describes whether or not the engineering format supports dynamics.-->
 
* '''Dynamics:''' <!-- - Section describes whether or not the engineering format supports dynamics.-->
 
** '''Kinematics:''' <!-- Can the format support kinematics? Example: Does the format allow model parts to rotate?-->
 
** '''Kinematics:''' <!-- Can the format support kinematics? Example: Does the format allow model parts to rotate?-->
*** '''Is Supported:''' [[File Classification Kinematics - Is Supported::true]] <!-- Is the feature supported in the engineering format?-->
+
*** '''Is Supported:''' [[File Classification Kinematics - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
*** '''Description:''' <!--[[File Classification Kinematics - Description::parts are allowed to rotate]] <!-- This field is used to describe the support or lack of support of the feature.-->
+
*** '''Description:''' <!--[[File Classification Kinematics - Description::no kinematics support]] <!-- This field is used to describe the support or lack of support of the feature.-->
 
** '''Assembly:''' <!-- Can the format support assembly? Example: Does the format allow the assembly instructions to be explicitly specified with a model?-->
 
** '''Assembly:''' <!-- Can the format support assembly? Example: Does the format allow the assembly instructions to be explicitly specified with a model?-->
*** '''Is Supported:''' [[File Classification Assembly - Is Supported::true]] <!-- Is the feature supported in the engineering format?-->
+
*** '''Is Supported:''' [[File Classification Assembly - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
*** '''Description:''' [[File Classification Assembly - Description::parts can be assembled.]] <!-- This field is used to describe the support or lack of support of the feature.-->
+
*** '''Description:''' [[File Classification Assembly - Description::none.]] <!-- This field is used to describe the support or lack of support of the feature.-->
 
** '''Force(s):''' <!-- Can the format support forces? Example: Does the format support acceleration forces?-->
 
** '''Force(s):''' <!-- Can the format support forces? Example: Does the format support acceleration forces?-->
*** '''Is Supported:''' [[File Classification Force - Is Supported::true]] <!-- Is the feature supported in the engineering format?-->
+
*** '''Is Supported:''' [[File Classification Force - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
*** '''Description:''' [[File Classification Force - Description::It can simulate forces applying on the model.]] <!-- This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' [[File Classification Force - Description::none.]] <!-- This field is used to describe the support or lack of support of the feature.
 
* '''Boundary representation''' - Can the format support models with boundary representations?
 
* '''Boundary representation''' - Can the format support models with boundary representations?
 
** '''Manifold surface boundary representations:''' <!-- Can the format support manifold surface boundary representations? Example: The engineering format STEP-->
 
** '''Manifold surface boundary representations:''' <!-- Can the format support manifold surface boundary representations? Example: The engineering format STEP-->
 
*** '''Is Supported:''' [[File Classification Manifold Surface Boundary Representation - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
 
*** '''Is Supported:''' [[File Classification Manifold Surface Boundary Representation - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
*** '''Description:''' [[File Classification Manifold Surface Boundary Representation - Description::plugins exist.]] <!-- This field is used to describe the support or lack of support of the feature.-->
+
*** '''Description:''' [[File Classification Manifold Surface Boundary Representation - Description::no support for boundries.]] <!-- This field is used to describe the support or lack of support of the feature.-->
 
** '''Manifold volume boundary representations:''' <!-- Can the format support manifold volume boundary representations? Example: The engineering format STEP-->
 
** '''Manifold volume boundary representations:''' <!-- Can the format support manifold volume boundary representations? Example: The engineering format STEP-->
 
*** '''Is Supported:''' [[File Classification Manifold Volume Boundary Representation - Is Supported::false]] - Is the feature supported in the engineering format?
 
*** '''Is Supported:''' [[File Classification Manifold Volume Boundary Representation - Is Supported::false]] - Is the feature supported in the engineering format?
*** '''Description:''' [[File Classification Manifold Volume Boundary Representation - Description::plugins exist.]] <!-- This field is used to describe the support or lack of support of the feature.-->
+
*** '''Description:''' [[File Classification Manifold Volume Boundary Representation - Description::no support for boundries.]] <!-- This field is used to describe the support or lack of support of the feature.-->
 
** '''Non-manifold boundary representations:''' <!-- Can the format support non-manifold boundary representations? Example: The engineering format STEP-->
 
** '''Non-manifold boundary representations:''' <!-- Can the format support non-manifold boundary representations? Example: The engineering format STEP-->
 
*** '''Is Supported:''' [[File Classification Non-manifold Boundary Representation - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
 
*** '''Is Supported:''' [[File Classification Non-manifold Boundary Representation - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
*** '''Description:''' [[File Classification Non-manifold Boundary Representation - Description::none]] <!-- This field is used to describe the support or lack of support of the feature.-->
+
*** '''Description:''' [[File Classification Non-manifold Boundary Representation - Description::no support for boundries]] <!-- This field is used to describe the support or lack of support of the feature.-->
 
* '''Material transparency:''' <!-- Can the format support transparency? Example: Does the format allow models to have a clear window in a car?-->
 
* '''Material transparency:''' <!-- Can the format support transparency? Example: Does the format allow models to have a clear window in a car?-->
** '''Is Supported:''' [[File Classification Material Transparency - Is Supported::true]] <!-- Is the feature supported in the engineering format?-->
+
** '''Is Supported:''' [[File Classification Material Transparency - Is Supported::false]] <!-- Is the feature supported in the engineering format?-->
** '''Description:''' [[File Classification Material Transparency - Description::none]] <!-- This field is used to describe the support or lack of support of the feature.-->
+
** '''Description:''' [[File Classification Material Transparency - Description::If using the binary format and using the Materialise Magics software, transparency can be set for the entire model, however, transparency does not mean much when an object is intended to be printed using a Stereolithography machine]] <!-- This field is used to describe the support or lack of support of the feature.-->
  
'''References:''' [[References::http://en.wikipedia.org/wiki/3DS_Max]] <!-- A list of references regarding any aspects of this engineering format; any reading material supplemental to this page.-->
+
'''References:''' [[References::http://en.wikipedia.org/wiki/STL_(file_format)]] <!-- A list of references regarding any aspects of this engineering format; any reading material supplemental to this page.-->

Latest revision as of 16:31, 13 May 2009

Title(s): Stererlithography File (STL).

Version ID: .

Date released: October, 1999.

Date: 1999.

Creator(s): 3D Systems

Contributor(s): 3D systems.

Relationships: The format was developed by 3D systems in 1999. It is intended for use with Stererlithography machines for the rapid manufacturing and rapid prototyping of physical 3D models. Because these models are meant to be manufactured by 3D printers, they have no color or textures attributed to them.

  • Previous Version(s):

The file format has not changed much since its inception due to its simplicity. However, the binary version of the file has two extra bytes at the end of every triangle. Some proprietary systems have used these bytes to store color data. One example of this is the VisCAM software.

  • Contains: none.
  • Syntax Format(s):

There are two formats for STL files, they can either be ASCII or binary.

    • ASCII: The ASCII format is simply a list of facets and their three vertices.
    • Binary: The binary format is similar to the ASCII format in that is is a list of triangular faces, however, each triangle has 16 bits of meta data that can be used for any information one might want to convey about the facet.
  • Family Format(s): none.

Description: The format is incredibly simplistic. The ASCII version is only a list of faces, their normals, and the vertices that they are comprised of. Each one of these faces must be a triangle. This simplicity is due to the intended use of the file. These files are not intended to represent complex and dynamic models with animations, skeletons and textures. These models are only meant to have one position, and no color. These are the only attributes that can be fabricated by modern Stererlithography machines.

History: The file format was developed by 3D Systems in 1999 as a way to model the objects that would be fabricated by their 3D printers. Because of the verbosity of the ASCII version of the format, a binary format was also developed. A file in the binary format is much smaller than its ASCII counterpart, and it has meta data bits for each triangle to enable the conveyance of unforeseen information about the model.

Example(s): STL Example

Identifier: http://www.ennex.com/~fabbers/StL.asp

Documentation: 3ds Documentation

File Extensions: .stl

Applications: .

  • Native application(s):
  • Interoperable applications: VisCAM, SolidView, Materialise Magics

Magic numbers:

Format(s): application/sla.

Rights: Proprietary license.

Sustainability Factors:

  • Standardization: none
  • Adoption: Adopted by other organisations wishing to model 3D objects to be fabricated by 3D printers. Such organisations include Marcam and Materialise
  • Self-documentation: none
  • External dependencies: none
  • Technical protection considerations: none

Typical use:CAD 3D Printing CAM, a model archiving file format.

File classification:

References: http://en.wikipedia.org/wiki/STL_(file_format)