Custom |

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

The CustomExporter type exposes the following members.

Name | Description | |
---|---|---|
![]() | CustomExporter | Constructs a new instance of a CustomExporter for a given document using the input instance of IExportContext as the output device. |

Name | Description | |
---|---|---|
![]() | Export2DForceDisplayStyle | This value tells the exporter of 2D views to force the given display mode for the view. |
![]() | Export2DGeometricObjectsIncludingPatternLines | This flag sets the exporter of 2D views to either include or exclude output of face pattern lines as part of geometric objects when the model is being processed by the export context. |
![]() | Export2DIncludingAnnotationObjects | This flag sets the exporter of 2D views to either include or exclude output of annotation objects when the model is being processed by the export context. |
![]() | IncludeGeometricObjects | This flag sets the exporter to either include or exclude output of geometric objects such as faces and curves when the model is being processed by the export context. |
![]() | IsValidObject | Specifies whether the .NET object represents a valid Revit entity. |
![]() | ShouldStopOnError | This flag instructs the exporting process to either stop or continue in case an error occurs during any of the exporting methods. |

Name | Description | |
---|---|---|
![]() | Dispose | Releases all resources used by the CustomExporter |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object ) |
![]() | Export(IList ElementId ) | Exports a collection of 3D or 2D views |
![]() | Export(View) | Exports one 3D or 2D view |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object ) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object ) |
![]() ![]() | IsRenderingSupported | Checks if view rendering is currently supported in the running instance of Revit. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object ) |

The Export method of this class triggers standard rendering or exporting 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.
Revit will process the exporting algorithm depending on the type of given context. If an instance of IPhotoRenderContext is used, then Revit will output the model as if executing the Render command, thus only such entities that would be visible in a rendered view will be sent to the context.
Alternatively, if an instance of IModelExportContext is used, Revit will output the model as if exporting it to a CAD format, a process which results outputting also objects that would not appear in a rendered image, such as model curves and text annotations.
For 2D views, an instance of IExportContext2D has to be used. Revit will output the contents of the 2D view as it is displayed on the screen. Export can be modified by setting properties pertaining to 2D views: Export2DGeometricObjectsIncludingPatternLines , Export2DIncludingAnnotationObjects . Export2DForceDisplayStyle . See notes for 2D export in IExportContext2D .

/// <summary>
/// This method initiates a custom export process for a given 3D view.
/// </summary>
internal void ExportA3DView(Document document, View 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.IncludeGeometricObjects = 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);
}
