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# |
---|
|
Visual Basic |
---|
|
Visual C++ |
---|
|
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