CAD Exchanger SDK
ACIS Converter

Overview

ACIS_Reader can read files compliant with the ACIS formats from R1.5 to R26.0. ACIS_Writer can write files compliant with the ACIS formats from R2.0 to R26.0. By default, a file is created using R7.0 specification.

Reader supports the text (*.sat, Save As Text) and binary (*.sab, Save As Binary) formats. Writer supports text format only.

Parsing DXF and DWG file sections

The reader may also be used by external DXF and DWG file parsers which need to parse and convert contents of 3D body sections in DXF/DWG files. To support that use case ACIS_Reader::ReadMemory() is to be used to parse memory buffer prepared by the external parser.

The DXF/DWG files are typically created by Autodesk Shape Manager (ASM) and ACIS sections in these files may deviate from the format prescribed by the original ACIS kernel. In particular, ASM may use specific curve and surface sub-types (e.g. helix_int_cur or loft_spl_sur, etc) which are not in the scope of original ACIS file format. CAD Exchanger will automatically recognize these specific subtypes as well as other pecualirities used by ASM. However some such subtypes may only be parsed and not converted into target B-Spline surfaces unless an approximated B-Spline representation has been provided in the file. In the latter case, this provided approximation will be used during conversion (as mentioned in Known Limitations).

Scope

  • B-Rep representations
  • colors
  • meta-data (names, properties)
  • assembly structure

Mapping

Import Mapping

Below tables shows how ACIS entities are mapped into CAD Exchanger entities after import.

Product Structure

ACIS Entity CAD Exchanger Entity
body One of:
transform ModelData_Transformation

Topology

ACIS Entity CAD Exchanger Entity Note
lump One of: The type of body(-ies) depends on type of child entities
shell ModelData_Shell
face ModelData_Face
wire ModelData_Wire
coedge ModelData_Edge
edge
vertex ModelData_Vertex

Geometry

ACIS Entity CAD Exchanger Entity
Surfaces
cyl_spl_sur One of:
off_spl_sur One of:
rot_spl_sur One of:
pipe_spl_sur One of:
exact_spl_sur ModelData_BSplineSurface
net_spl_sur
rb_blend_spl_sur
skin_spl_sur
sum_spl_sur
sweep_spl_sur
tube_spl_sur
var_blend_spl_sur
vbl_surf
cone One of:
plane ModelData_Plane
sphere ModelData_SphericalSurface
torus One of:
Curves
int_cur ModelData_BSplineCurve
helix_int_cur
offset_int_cur
proj_int_cur
ellipse One of:
straight ModelData_Line

Parameters

Exporter Parameters

The ACIS export parameters are controlled by ACIS_WriterParameters. The following table contains a list of parameters for ACIS export:

Parameter Default value Description
TargetACISVersion() 700

Specifies a target version of a ACIS-SAT format to be used when writing. The parameter has a form major_version * 100 + minor_version, i.e. to set a target version 7.0 you should specify 700. Valid range is [200,2600]. The value of 900 (which would correspond to ACIS R9) should not be used, as ACIS does not provide this format version explicitly. Use value of 800 instead.

No check is performed whether the parameter has a correct value.

Known Limitations

  • File units are ignored when importing an ACIS file, the model is translated as if it were in millimeters;
  • lawcur, lawsur, offsetintcur, tapersur, edgetapersur, swepttapersur, shadowtapersur, ruledtapersur entities are translated using their spline approximation. If they do not have full approximation, entities are not translated;
  • The exporter writes into a file header default values of spatial tolerance (1e-7) and angle tolerance (1e-12) regardless of real model accuracy.