ShapeImporter Class


An utility class that supports conversion of geometry stored in an external format into a Revit geometry objects.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 17.0.0.0 (17.0.1090.0)
Since: 2017

Syntax

C#
public class ShapeImporter : IDisposable
Visual Basic
Public Class ShapeImporter _
	Implements IDisposable
Visual C++
public ref class ShapeImporter : IDisposable

Remarks

See ShapeImporterSourceFormat for the list of supported formats.

Examples

Copy C#
public void ReadSATFile(Document revitDoc)
{
    // Allow the user to select a SAT file.
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Filter = "SAT Files (*.sat)|*.sat";

    if (DialogResult.OK == ofd.ShowDialog())
    {
        ShapeImporter shapeImporter = new ShapeImporter();
        shapeImporter.InputFormat = ShapeImporterSourceFormat.SAT; 
        IList<GeometryObject> shapes = shapeImporter.Convert(revitDoc, ofd.FileName);

        if (shapes.Count != 0)
        {
            using (Transaction tr = new Transaction(revitDoc, "Create a DirectShape"))
            {
                tr.Start();

                DirectShape dsImportedSat = DirectShape.CreateElement(revitDoc, new ElementId(BuiltInCategory.OST_Walls));
                dsImportedSat.SetShape(shapes);

                tr.Commit();
            }
        }
    }
}
Copy VB.NET
Public Sub ReadSATFile(revitDoc As Document)
    ' Allow the user to select a SAT file.
    Dim ofd As New OpenFileDialog()
    ofd.Filter = "SAT Files (*.sat)|*.sat"

    If DialogResult.OK = ofd.ShowDialog() Then
        Dim shapeImporter As New ShapeImporter()
        shapeImporter.InputFormat = ShapeImporterSourceFormat.SAT
        Dim shapes As IList(Of GeometryObject) = shapeImporter.Convert(revitDoc, ofd.FileName)

        If shapes.Count <> 0 Then
            Using tr As New Transaction(revitDoc, "Create a DirectShape")
                tr.Start()

                Dim dsImportedSat As DirectShape = DirectShape.CreateElement(revitDoc, New ElementId(BuiltInCategory.OST_Walls))
                dsImportedSat.SetShape(shapes)

                tr.Commit()
            End Using
        End If
    End If
End Sub

Inheritance Hierarchy

System Object
Autodesk.Revit.DB ShapeImporter

See Also