Shape
|
A utility class that supports conversion of geometry stored in an external format into a Revit geometry objects.
System
Object
Autodesk.Revit.DB ShapeImporter
Autodesk.Revit.DB ShapeImporter
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 27.0.4.0 (27.0.4.0)
The ShapeImporter type exposes the following members.
| Name | Description | |
|---|---|---|
|
|
ShapeImporter | Default constructor. Initializes an instance of ShapeImporter that will automatically recognize the file format from its extension (ShapeImporterSourceFormat.Auto). |
| Name | Description | |
|---|---|---|
|
|
DefaultLengthUnit | The length unit to be used if not specified when the input is a unitless SAT file. |
|
|
InputFormat | The format of the incoming data. |
|
|
IsValidObject | Specifies whether the .NET object represents a valid Revit entity. |
| Name | Description | |
|---|---|---|
|
|
Convert | Converts the geometry stored in the external format into a collection of Revit geometry objects. |
|
|
Dispose | Releases all resources used by the ShapeImporter |
|
|
Equals |
Determines whether the specified object is equal to the current object.
(Inherited from Object ) |
|
|
GetHashCode |
Serves as the default hash function.
(Inherited from Object ) |
|
|
GetType |
Gets the
Type
of the current instance.
(Inherited from Object ) |
|
|
IsServiceAvailable | Checks whether the data conversion service and Material Library are available. |
|
|
SetDefaultLengthUnit | Sets the length unit to be used when the input is a unitless SAT file. |
|
|
ToString |
Returns a string that represents the current object.
(Inherited from Object ) |
See
ShapeImporterSourceFormat
for the list of supported formats.
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();
}
}
}
}