CustomExporter Class


A class that allows exporting 3D views via a custom export context.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Since: 2014

Syntax

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

Remarks

The Export method of this class triggers standard rendering process in Revit, but instead of displaying the result on screen or printer, the output is channeled through the given custom context that handles processing of the geometric as well as non-geometric information.

Examples

Copy C#
/// <summary>
/// This method initiates a custom export process for a given 3D view.
/// </summary>
internal void ExportA3DView(Document document, View3D a3DView)
{
   // Instantiate an export context - the class that receives the output data during 
   // export process. The context class must implement the IExportContext interface.
   MyExportContext context = new MyExportContext(document);

   // Create an instance of a custom exporter by giving it a document and the context.
   CustomExporter exporter = new CustomExporter(document, context);

   // Optionally set attributes that should apply to the export process. For example:

   // a) Exclude OnFaceBegin and OnFaceEnd method from being invoked in the export
   //    context if data about faces and edges are not relevant to the export.
   //    Excluding face nodes would dramatically speed up the export process.
   //    Note: Excluding faces just excludes the calls, not the actual processing of
   //    face tessellation. Meshes of the faces will still be received by the context.
   exporter.IncludeFaces = false;

   // b) Set TRUE or FALSE to abort the export process should an error occur
   exporter.ShouldStopOnError = true;

   // Initiate the export process by calling one of Exporter's 'export' method,
   // in this case the one that takes a single 3D view as an argument.
   exporter.Export(a3DView);
}
Copy VB.NET
' <summary>
' This method initiates a custom export process for a given 3D view.
' </summary>
Friend Sub ExportA3DView(document As Document, a3DView As View3D)
    ' Instantiate an export context - the class that receives the output data during 
    ' export process. The context class must implement the IExportContext interface.
    Dim context As New MyExportContext(document)

    ' Create an instance of a custom exporter by giving it a document and the context.
    Dim exporter As New CustomExporter(document, context)

    ' Optionally set attributes that should apply to the export process. For example:


    ' a) Exclude OnFaceBegin and OnFaceEnd method from being invoked in the export
    '    context if data about faces and edges are not relevant to the export.
    '    Excluding face nodes would dramatically speed up the export process.
    '    Note: Excluding faces just excludes the calls, not the actual processing of
    '    face tessellation. Meshes of the faces will still be received by the context.
    exporter.IncludeFaces = False

    ' b) Set TRUE or FALSE to abort the export process should an error occur
    exporter.ShouldStopOnError = True

    ' Initiate the export process by calling one of Exporter's 'export' method,
    ' in this case the one that takes a single 3D view as an argument.
    exporter.Export(a3DView)
End Sub

Inheritance Hierarchy

System Object
Autodesk.Revit.DB CustomExporter

See Also