SLC - SLiCe format
This is a 2 1/2 dimension file describing slices (contours) through a solid model typically for rapid prototyping applications such as stereo-lithography. It was created by "3D systems" around 1994.
The SLC file format is a "21/2D" contour representation of a CAD model. It consists of successive cross-sections taken at ascending Z intervals in which solid material is represented by interior and exterior boundary polylines. SLC data can be generated from various sources, either by conversion from CAD solid or surface models or more directly from systems that produce data arranged in layers, such as CT-scanners.
Definition of Terms
A segment is a straight line connecting two X/Y vertices points.
A Polyline is an ordered list of X/Y vertices points connected continuously by each successive line segment. The polyline must be closed whereby the last point must equal the first point in the vertices list.
A boundary is a closed polyline representing interior or exterior solid material. An exterior boundary has its polyline list in counter-clockwise order. The solid material is inside the polyline. An interior boundary has its polyline list in clockwise order and solid material is outside the polyline.
A contour layer is a list of exterior and interior boundaries representing the solid material at a specified Z cross-section of the CAD model. The cross-section slice is taken parallel to the X/Y plane and has a specified layer thickness.
Byte 8 bits
Most significant byte of FLOAT is specified in the highest addressed byte. The byte ordering follows the Intel PC Little Indian/Big Indian scheme.
Address 0 1 2
Overview of the SLC File Structure
The SLC file is divided into a header section, a 3D reserved section, a sample table section, and the contour data section.
The Header section is an ASCII character string containing global information
about the part and how it was prepared.
The syntax of the header section is a keyword followed by its appropriate parameter.
specifies the SLC file format version number. The version number of this specification is 2.0.
indicates which units the SLC data is represented in.
specifies the CAD model type. PART and SUPPORT must be closed contours. WEB types can be open polylines or line segments.
"-PACKAGE <vendor specific>"
identifies the vendor package and version number that produced the SLC file. A maximum of 32 bytes.
"-EXTENTS <minx,maxx miny,maxy minz,maxz>"
describes the X, Y, and Z extents of the CAD model.
specifies the cordal deviation, if used, to generate the SLC data.
"-ARCRES <value in degrees>"
specifies the arc resolution, if used, to generate the SLC data.
specifies the surface tolerance, if used, to generate the SLC data.
specifies the gap tolerance, if used, to generate the SLC data.
specifies the maximum gap size found when generating the SLC data.
specifies if any line width compensation has been applied to the SLC data by the CAD vendor.
3D Reserved Section
This 256-byte section is reserved for future use.
Sampling Table Section
The sample table describes the sampling thickness (layer thickness or slice thickness) of the part. There can be up to 256 entries in the table. Each entry describes the Z start, the slice thickness, and what line width compensation is desired for that sampling range.
Sampling Table Size
The first sampling table entry Z start value must be the very first Z contour layer. For example, if the cross-sections were produced with a single thickness of 0.006 inches and the first Z level of the part is 0.4 inches and a line width compensation value of 0.005 is desired, then the sampling table will look like the following:
Sample Table Size
Sample Table Size
Contour Data Section
The contour data section is a series of successive ascending Z cross-sections
or layers with the accompanying contour data. Each Contour Layer
contains the minimum Z layer value, number of boundaries followed by the
list of individual boundary data. The boundary data contains the number
of x,y vertices for that boundary, the number of gaps, and finally the
list of floating point vertices points.
Number of Vertices for the 2nd
The Contour Layers are stacked in ascending order until the top of the
part. The last layer, or the top of the part, is indicated by the
Z level and a termination unsigned integer (0xFFFFFFFF).
Suppose the cube was to be imaged in 0.010 layers. The sample table would
have a single entry with its starting Z level at 0.0 and layer thickness
at 0.01. The contour layer data section could be as follows: