STL to ACIS SAT conversion

Versión (78.7 KB) por Adam A
Convert an STL file into ACIS SAT, which can be more readily imported into various CAD packages.

4.5K descargas

Actualizado 6 Jun 2012

Ver licencia

STL to ACIS SAT converter

Adam H. Aitkenhead
31st March 2010

Convert an STL file into an ACIS v4.0 SAT file (Standard ACIS Text), which can be more readily imported into various CAD packages (including Solidworks) as a solid model.

>> CONVERT_stl_to_sat(STLfilename)
>> CONVERT_stl_to_sat(STLfilename,STLformat)

converts the stl file <STLfilename> into an ACIS SAT file. The optional string <STLformat> defines the format of the STL file as one the following:
'auto' - (The default option) Automatic detection of the file format
'ascii' - ASCII format
'binary' - Binary format

>> CONVERT_stl_to_sat('sample.stl')

converts the STL file 'sample.stl' into an ASIC SAT file called 'sample.sat'.

The STL data must meet the following criteria:

1. All facets are triangular.
2. No duplicate or overlapping facets exist.
3. The mesh is properly closed.
4. The facet normals are properly defined.
5. For each facet edge, there must exist an odd number of identical edges on adjacent facets.

Although uncommon, some STL meshes may not meet requirement 5 and cannot be converted to SAT using this code.

For a description of the ACIS format, refer to:

Depending on the hardware, conversion is performed reasonably quickly for STL meshes of up to a few thousand facets. For larger meshes the conversion time increases roughly with the square of the number of facets.

Citar como

Adam A (2023). STL to ACIS SAT conversion (, MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R14SP1
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versión Publicado Notas de la versión

If the code fails due to a problematic facet, a plot is now displayed to show the location of that facet.

Added extra checks to test if the input mesh meets requirement 5. Also, small speed improvement for import of binary STL files.

Minor bug fix.

Another 20-25% speed improvement.

Optimised the WRITE_sat.m code, giving a speed increase of 30-40% for larger meshes.

Added automatic removal of zero-area facets.

Added H1 headers.

7th April 2010: Optimisation of the WRITE_sat.m code. Conversion now runs 10-15% quicker for large meshes.