SAT/SAB importer (based on Spatial's ACIS modeling toolkit) provides direct and dependable access to native ACIS files for data translation, viewing, rendering & animation.
This geometry import converter imports and processes BREP solids-based CAD
geometry files stored in Spatial's ACIS SAT (ASCII) or SAB (binary)
native file formats. It is the defacto industry method to import
Spatial SAT and SAB files, right up to the current version
and service pack releases of the ACIS modeling
As some cursory background, Spatial Corp.
develops a solid modeling toolkit called ACIS which has been
licensed by hundreds of 3D companies for use in their modeling
programs. The native file format of this modeling toolkit is
SAT (ASCII) and SAB (binary). Many non-ACIS 3D solids
modelers also have options to export .sat files
from their programs that would be compatible with
This is an optional add-on
CAD module compatible with any Okino software.
The importer is an optional purchase due to its licensing and
royalties paid to Spatial Corp for the ACIS modeling toolkit
used to handle the conversion of the SAT and SAB files.
** IMPORTANT ** Spatial Corp. licenses its ACIS SAT licenses on a
per-year basis (this is not an Okino policy), with extensions via the yearly maintenance fee.
Each year the license has to be renewed via the yearly 'maintenance fee'. Okino personally contacts its
users of the Spatial ACIS SAT converters at month 11 and just before month 12 to remind them of the pending
maintenance renewal. If the maintenance is not renewed then the ACIS SAT license will expire.
Spatial Corp. requires that the maintenance fee be paid yearly, starting with the initial purchase.
If you let the maintenance payment lapse (and let the license expire as a result), then decide to
start paying them again at some undetermined time in the future to re-start the license,
a small "re-instatement fee" will then be due to Spatial Corp.
Some Major Benefits of the SAT/SAB Importer
Supports ACIS SAT (text) and SAB (binary) files up to the current ACIS modeling
Okino has been a trained Spatial and ACIS developer since 1997, resulting
in a top notch, refined and professional implementation
of the Okino-SAT importer.
Many options to control the import of the data. Import by body, face,
bodies + faces or bodies + shells + faces. This allows rendering
materials to be applied at the finest granularity (faces) or the coarsest (bodies).
Importing via the SAT and SAB "solids-based" file formats
adjacent NURBS patches are "stitched" together via topology information
data) and thus creates "crack free" tessellation when the NURBS
or parametric solids are converted to a polygonal mesh.
Imports ACIS SAT/SAB files directly into 3ds Max
and Maya via the native PolyTrans-for-MAX and PolyTrans-for-Maya plug-in
systems. These are by far the most refined, developed
and best methods to directly import
solids-based CAD files into 3ds Max and Maya.
Also excellent conversion into Softimage, Newtek's Lightwave, MAXON's
Cinema-4D and many other downstream 3D software packages and
The CAD importer includes a vital built-in Okino hierarchy/part
optimization tool to reduce the complexity of the imported
CAD files before
to other 3D animation packages and downstream
file formats. This
is particularly important when importing large CAD assemblies
Lightwave, 3ds Max and Maya.
Main Importer Options
Flip Model so that Y Axis is ‘Up’
If this option is enabled then the model will be rotated so that its “Up” axis
is aligned with the positive Y axis instead of
the positive Z axis.
Assign Materials at the 'Face' Level
If this option is enabled then materials will be allowed to be assigned
at the "face" BREP object level. BREP objects are defined as bodies,
shells and faces. If you import a model and find that some materials are missing
then most probably they have been assigned at the lower level "face" level,
in which case you will want to enable
this option. This option is enabled by default.
Report Statistics About the Parsed File
If this checkbox is enabled then the import converter will print
out the number of objects, polygons, normals, texture coordinates, tangent
and surfaces that were parsed from the input file.
Method to Import BREP Solids Objects
Solids-based CAD data is composed of “bodies” which contain one
or more “shells”, and each shell contains one or more "faces".
A body can be considered as an 3D object, and the faces can be considered at
the sub-parts of the object. This is otherwise commonly known as a BREP, or "Boundary
Representation" of a solids object.
This combo box determines how the solids-based BREP Body/Shell/Face entity
will be imported and converted to the non-BREP polygonal form required by this
Single Body Parts (single BREP tesellation)
This option will create the least number of geometry items after
import. If you feel that the
model is still imported as "too many parts" then
enable the "Optimize Object Count" checkbox.
This choice will cause all the sub-parts (faces) to be stored as
a single object (ie: you
won’t be able to move or modify the sub-objects of the
body); this is useful if you don’t want dozens, hundreds or thousands
of sub-parts cluttering your
The "single BREP tessellation" variation will cause the faceter/tessellator
to be applied to the top-most "Body" entity and not to each individual
face (like as done in the next
option below). This may result in better, crack-free tessellations.
Single Body Parts (via combined faces)
This is identical to the previous option above, except that the
tessellation is applied to each individual face of the model and not to the
all the faces of the body are tessellated then they are
combined back together into a single polygonal object.
Bodies + Faces (Lots of Objects)
This option will import the BREP "body" as many sub-parts (many BREP "faces").
It will tend to create a large
number of child objects in the final scene. Choosing this option will provide
control over assigning
materials to each
face part of the BREP model,
as well as allowing you to manipulate each face part.
Bodies + Shells + Faces (Lots of Objects)
This is the same as the "Bodies + Face" option except that another
dummy level of hierarchy will be added between the "Body" definition
and the list of "Face" parts in the hierarchy, with the name "Shell" on
the dummy nodes. Basically this option will separate the Face parts based on
the shell they are associated with in the Body part. Some people find this convenient
if they model their parts based on "shells".
Optimize Object Count
By enabling this "Optimize Object Count" checkbox a series of
algorithms will be invoked to combine all sub-parts
contained within grouping nodes (under
the yellow folder shown above) into respective
single objects. In other words, the hundreds of sub-parts contained within
grouping nodes will
be reduced to
single parts within each grouping node. In addition,
once all the parts have been combined together, redundant grouping and hierarchy
will be deleted
In general this option only makes sense to enable when the "Method to
Import BREP Solids Objects" combo box is set to "Bodies, shells and
Faces" since this import method will create a huge number of "Face" objects.
For this importer it is not recommended that you need to enable this option.
Instead, just set the "Method to Import BREP Solids Objects" combo
box to "Single Body Parts" or "Single Body Parts + Shell Hierarchy".
These options will implicitly import the least
number of object parts.
The "Help" button which appears on the dialog box when this button
is pressed describes the object and hierarchy
compression algorithm further.
Match File Units to These Internal Units
"Units conversion" is often an important aspect of importing CAD files.
People who create 3D models in a modeling package will do so using a specific
units system, such as meters or feet. However, when these models are imported
into another 3D package that uses a different default units system (such as
Lightwave which uses centimeters), a "units conversion" operation
needs to occur (the imported model geometry
needs to be rescaled).
This option determines what will be done when the units defined in the source
file do not match current internal program system units. If the units do not
match, the importer will rescale the imported geometry based on the ratio between
the source file units and the internal system units.
The drop-down combo box specifies the current units system in effect within
the internal NuGraf/PolyTrans 3d database. It defaults to meters. What you need
to do is select an appropriate entry from the drop-down combo box which matches
the system units used by your destination program: for example, set it to Centimeters
for Lightwave, Inches for 3DS MAX, Centimeters for Maya, etc (this should be
automatic if importing into 3ds max or Maya).
No Unit Conversion, No units; never do any geometry scaling.
Microinches, 1e-6 inches
Mils, 1e-3 inches
Inches, 0.0254 meters
Feet, 12 inches
Miles, 63360 inches
Microns, 1e-6 meters
Millimeters, 1e-3 meters
Centimeters, 1e-2 meters
Kilometers, 1e+3 meters
Custom, Custom units are in effect. See below.
Custom Units in "Units Per Meter"
If the drop-down combo box is set to "Custom", then this edit text
control defines the "units per meter" scale factor for the custom
Compute the Following Vertex Attributes
Vertex Normals. If this checkbox is enabled then the import converter
will compute proper vertex normals for each triangle vertex. Vertex
normals are necessary to make
an object appear to be smooth when rendered.
Vertex (u,v) Texture Coordinates. If this checkbox is enabled then the
import converter will compute proper texture (u,v) coordinates
for each triangle vertex. Texture coordinates
necessary if a bitmap texture image is
to be applied to the object at some time in the
Remove Duplicated Vertex Components For...
Vertices. If this checkbox is enabled then the import converter will
remove any duplicated or redundant vertex coordinates. This
will not modify the object but it may reduce the amount
of memory required to store the
Likewise, if this checkbox is enabled then the import
converter will remove any duplicated
or redundant vertex normals.
Vertex (u,v) Texture Coordinates.
Likewise, if this checkbox is enabled then the
import converter will remove
any duplicated or redundant vertex texture coordinates
Import Material Attributes (when available)
If this checkbox is enabled then additional rendering material attributes
will be imported, if and only if they exist within the
source data and are made available to this importer. Some of these attributes
· RGB surface color
· Ambient, diffuse, specular and phong power shading coefficients
Import Lights (when available)
If this checkbox is enabled then lights will be imported, if and only
if they exist within the source data and are made available
to this importer. Point, spot, directional and ambient lights are supported.
Tessellation (surface refinement) Options
An important aspect of this import converter is its surface tessellator.
Almost all data imported from the source file is either “solid” entities
or NURBS surfaces so this tessellator converts the implicit surfaces
to n-sided polygons, quads or triangles during the import process.
The surface tessellator used in this import converter is the one provided by Spatial Technology. It converts the implicit surfaces to n-sided polygons, quads or triangles by applying the following refinement criteria, from highest to lowest:
1. Minimum number of U and V grid lines
2. Maximum edge length
3. Normal deviation
4. Surface deviation
5. Grid aspect ratio
The parameters on the right side of the dialog box control the surface refinement
Recommended Usage Method
To make a bumpy or curved surface look smoother, move the 'Surface Deviation' slider more to the left.
To make rounded edges or a curved surface look smoother, move the 'Normal Deviation' slider more to the left.
To make 'quad-like' polygons and not a pure triangular mesh, with many of the resulting polygons have a squarish aspect ratio:
Change the 'Polygon Type' combo box to Triangles on fringes only.
Set the 'Minimum Grid Lines in U and V Directions' U and V values both to 10, or, change the 'Maximum Edge Length' to 0.1 (10%).
NOTE: If you wish to disable one or more of these refinement
criteria then set the refinement parameter’s value to 0 (where possible).
Normal Deviation (Degrees)
This slider specifies the maximum deviation (in degrees) between
the normals on two adjacent faces. Smaller values will make surfaces and curves
smoother, but at the expense of creating more polygons.
The default is 15 degrees
and the range is 0 to 90 degrees.
Surface Deviation (Percentage)
This slider specifies the maximum allowable distance between a polygon
and the true surface,
expressed as a percentage of the object’s bounding
box size. Smaller values
will make the model appear smoother, but at the expense of creating more polygons.
This combo box determines whether the tessellator will create triangles (3-sided polygons), N-sided (4-sided or more polygons) or a combination thereof.
This option will cause the tessellator to output the polygonal mesh purely as triangles.
N-Sided, Triangles on fringes only
This option will cause the tessellator to primarily output 4-sided quads or 5-sided polygons, except for the edge areas where some or all of the polygons may be triangles (to allow for smoother meshes).
N-Sided + Grid-to-edges
This option will cause the tessellator to output the polygonal mesh purely as a rectilinear grid of 4-sided quads or 5-sided polygons.
N-Sided + Quad-tree
This option will cause the tessellator to output the polygonal mesh purely as 4-sided quads or 5-sided polygons. However, an adaptive meshing algorithm (quad-tree or bin-tree) will be used to produce a more intelligent tessellation.
Less Commonly Modified Options
Minimum Grid Lines in U and V Directions
Spatial's tessellator is based on the concept of a rectilinear grid overlayed on the NURBS geometry which helps to determine how finely subdivided the geometry will become. Thus, this provides another mechanism to further subdivide the final polygonal facets.
In the following image, the number of grid lines is unconstrained (both of the parameter values set to 0).
Whereas in the following image, the 'Minimum Grid Lines' in the U and V directions have been changed to 10 (and the 'Polygon Type' was set to 'Triangles on Fringes Only'):
Maximum Edge Length
This slider specifies the maximum allowable length of any "edge", expressed as a percentage of the model's bounding box extents.
This image shows the result when this option is disabled. Notice the long triangles in the center flat region:
Edge length = 0 (disabled)
This second image shows this option set to 20%, which forces the model to be triangulated further so that no edge length is more than 0.2 times the size of the model's bounding box extents:
Edge length = 20%
The following is another example. In the first image the 'Maximum Edge Length' has been set to 0 (disabled):
Whereas in the following image, the 'Maximum Edge Length' has been changed to 0.10% (and the 'Polygon Type' was set to 'Triangles on Fringes Only'):
Smaller values (greater than 0.0) will cause more triangles to be created. A value of 0 disables this refinement parameter.
If modifying this option does nothing, then set the slider to increasingly smaller values (0.4% is the smallest input value possible).
Grid Aspect Ratio
This parameter specifies the approximate aspect ratio of each
cell in the grid. If the value is close to 1 then the cell is close to a square.
does not guarantee the aspect ratio of the facet, which
may consist of only a part of a cell.