Start Method


IExport Context Start Method

This method is called at the very start of the export process, still before the first entity of the model was send out.

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

Return Value

Boolean
Return True if you are ready to proceed with processing the export.
Example
// A context would typically maintain a variable for the document being exported
private Document m_document = null;

// Some contexts may find it useful to have a flag indicating
// whether or not the process should be canceled (see Is
private bool m_cancelled = false;

// Typically, an export context has to manage a stack of transformation
// for all nested objects, such as instances, lights, links, etc.
private Stack<Transform> m_TransformationStack = new Stack<Transform>();

/// <summary>
/// Assuming that instance variables gets initiated in the context's constructor
/// </summary>
/// <param name="document"></param>
public MyExportContext(Document document)
{
   m_document = document;
   m_TransformationStack.Push(Transform.Identity);
}

/// <summary>
/// This method is the starting point of the export process.
/// </summary>
/// <remarks>
/// The method is called only once and is typically used to prepare
/// the context object, e.g. crate or open the output files,
/// or establish a connection to an on-line renderer, etc.
/// </remarks>
/// <returns>
/// Return true if the export process it good to start.
/// </returns>
public bool Start()
{
   return true;
}

/// <summary>
/// This method establishes the final point of the export process.
/// </summary>
/// <remarks>
/// Resources (such as files, pipes, threads, etc.) used by the context
/// should be properly released/closed inside this method.
/// </remarks>
public void Finish()
{
}

/// <summary>
/// This method is invoked many times during the export process.
/// </summary>
/// <remarks>
/// Depending on internal condition of the context, it can be decided
/// whether the export is to be immediately canceled or not.
/// </remarks>
public bool IsCanceled()
{
   return m_cancelled;
}
See Also
ArchiLabs Desktop

Put AI to work inside Revit.

Give Desktop your instructions and project files to build Revit families, update model elements, and create views and schedules. Works directly in Revit and AutoCAD.

Explore Desktop →