

Import-STL()               Unix Programmer's Manual               Import-STL()


NAME
     imp_stl - StereoLithography STL geometry import filter

SYNOPSIS

     This man page describes the options specific to the StereoLithography STL
     geometry import converter.

EXAMPLE CONVERSION SYNTAX

     To convert a StereoLithography STL file to Wavefront  using  the  default
     parameters listed in the setup.ini file:

          pt -i stl -o wave filename.stl

     To convert a StereoLithography STL file to VRML and override some of  the
     default options in setup.ini:

          pt -i stl -in-stl-flip-axes = yes -o vrml filename.stl

OVERVIEW

     This geometry import converter reads both binary and  ASCII  versions  of
     StereoLithography  STL  files  which  are  typically  sent to 3D System's
     StereoLithography molding machine. All triangles are read into  a  single
     object since there is no object information contained within a .stl file.

COMMAND LINE OPTIONS

     The following options are specific to this import converter:

     -i stl
          This is the optional command line option which  specifies  that  the
          input  data  is  in  the StereoLithography STL file format (ASCII or
          binary). If not specified then the converter will try to  guess  the
          input file's format from its file extension (.stl) and then from the
          contents of its file.

     -in-stl-report-statistics = [ yes | no ]
          If this option is enabled then the import converter will  print  out
          the number of objects and polygons that were parsed from the file.

     -in-stl-weld-vertices = [ yes | no ]
          Polygons read in  from  a  .stl  file  are,  by  nature,  completely
          separate  from  each  other  and  do  not share vertices even if two
          adjacent  polygons  are  situated  side  by  side.  This  is   quite
          inefficient  and  also  it  will  not  allow  the  .stl  data  to be
          "smoothed" out  using  the  smoothing  option  described  below.  To
          overcome  these problems the "Welding" option can be enabled. Vertex
          welding collapses adjacent vertices which are within a distance less
          than  or  equal  to the threshold value specified with the '-in-stl-
          vertices-threshold'  option.   This  welding  operation  should   be
          performed  if  the  "-in-stl-compute-normals"  option (see below) is
          enabled. Also, the welding  operation  can  become  quite  slow  for
          objects  with  large  number  of vertices since every vertex must be
          compared against every other vertex  (an  n-squared  problem).  This


                                                                             1



Import-STL()               Unix Programmer's Manual               Import-STL()


          option is enabled by default.

     -in-stl-vertices-threshold = <threshold value>
          If the distance between two vertices is less than or equal  to  this
          number,  and  the "-in-stl-weld-vertices" option is enabled then the
          two vertices will be collapsed (welded) into one. Since no edge in a
          .stl  file  should  be shorter than 0.00015 units, the minimum value
          for this threshold value should be set  to  0.00015  (which  is  the
          default).

     -in-stl-compute-normals = [ yes | no ]
          All .stl files do not contain vertex normals and thus will not  look
          smooth  when  shaded. This option, when enabled, will allow smoothed
          vertex normals to be computed  for  the  data  based  on  the  angle
          between  adjacent  polygons. The smoothing criterion is based on the
          angle between adjacent polygons; common smoothed vertex normals will
          be computed if the angle between their geometric surfaces normals is
          less than  the  "-in-stl-smoothing-angle"  type-in  value  described
          below.  If this checkbox is disabled then no new vertex normals will
          be created. NOTE: for this option to work properly  the  input  data
          must  have  its  vertices  welded together so that adjacent polygons
          share the same vertices (the "-in-stl-weld-vertices" option must  be
          enabled. This option is enabled by default.

     -in-stl-smoothing-angle = <smoothing angle in degrees>
          This type-in value sets the cut-off  smoothing  angle  (in  degrees)
          used  by  the  vertex  normal  computation  algorithm.  If the angle
          between two adjacent polygons is greater than this  number  then  no
          smoothing  will  occur  (a  crease  will  be evident between the two
          polygons), else smoothing will occur where the  polygons  meet.  The
          default  angle  is  45  degrees; higher values will make the surface
          smoother.

     -in-stl-flip-axes = [ yes | no ]
          If this option is enabled then the model  will  be  reorientated  so
          that  the "Up" axis of the model will be aligned with the positive Y
          axis (which is used by the converter) instead of  the  positive  "Z"
          axis  as  used  by  .stl  files.  This  option  should be enabled by
          default.

     -in-stl-reverse-poly-orientation = [ yes | no ]
          If this option is enabled then the orientation of each polygon  will
          be  reversed  so  that  the  polygons' normals point in the opposite
          direction. By default this option is disabled ('no').














                                                                             2

