"RevitAPIUI" The full path to the Revit Macros module. This path should be used instead of the .NET GetExecutingAssembly() result, because the Macros module is loaded in such a way to make that result unreliable. For Revit Macros internal use only. For Revit Macros internal use only. For Revit Macros internal use only. For Revit Macros use only. If current active document is changed. Determines whether vectors are parallel within DOUBLE_EPS Returns: if parallel => 1 if not or if either is {0,0,0}. => 0 if antiparallel => -1 Determines whether vectors are parallel within ANGLE_EPS Returns: if parallel => 1 if not or if either is {0,0,0}. => 0 if antiparallel => -1 Returns true when the two vectors are almost equal. NOTE that the applied tolerance scales with the length of the vectors. USE WITH CAUTION In 3D modeling, a tolerance such as Revit's vertex tolerance (TessEpsCntrl::getVertexEps) should be used. Use this only in special cases." The triple product of of three vectors vec0, vec1, vec2 is defined as dot(cross(vec0, vec1), vec2). It is equal to the signed volume of the parallelepiped spanned by the three vectors. It is zero if and only if the vectors are linearly dependent. This function is equivalent to the Vec3d function vecVolume. Convert the input xyz into a unit vector. IF the input vector cannot be normalized THEN the function will return a zero vector. Convert the input xyz into a unit vector. IF the vector cannot be normalized THEN the function will return std::nullopt. Treats lhs and rhs as vectors and returns their cross product. Treats lhs and rhs as vectors and returns their dot product. returns a parallel unit vector or zero vector Make this a unit vector or return ERR_NULL_VECTOR construct XYZ from components returns a unit vector in the X, Y or Z direction for dim values of 0, 1 or 2 respectively returns a unit vector in the Z-direction (0, 0, 1) returns a unit vector in the Y-direction (0, 1, 0) returns a unit vector in the X-direction (1, 0, 0) returns (0, 0, 0) 'XYZUtils::XYZ' is a class that represents a 3d vector or a 3d point. By default XYZUtils::XYZ is initialized to {0.0, 0.0, 0.0}. A pointer to an ID2D1BitmapRenderTarget object. Retrieves the bitmap for this render target. The returned bitmap can be used for drawing operations. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. When this method returns, contains the valid bitmap for this render target. This bitmap can be used for drawing operations. Returns ID2D1BitmapRenderTarget interface Pointer to an ID2D1BitmapRenderTarget interface or NULL if object is not initialized yet. Returns ID2D1BitmapRenderTarget interface Pointer to an ID2D1BitmapRenderTarget interface or NULL if object is not initialized yet. Detaches render target interface from the object Pointer to detached render target interface. Attaches existing render target interface to the object Existing render target interface. Cannot be NULL Constructs a CBitmapRenderTarget object. A pointer to an ID2D1DCRenderTarget object. Returns ID2D1DCRenderTarget interface Pointer to an ID2D1DCRenderTarget interface or NULL if object is not initialized yet. Returns ID2D1DCRenderTarget interface Pointer to an ID2D1DCRenderTarget interface or NULL if object is not initialized yet. Binds the render target to the device context to which it issues drawing commands If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The device context to which the render target issues drawing commands The dimensions of the handle to a device context (HDC) to which the render target is bound Creates a CDCRenderTarget. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The rendering mode, pixel format, remoting options, DPI information, and the minimum DirectX support required for hardware rendering. Detaches render target interface from the object Pointer to detached render target interface. Attaches existing render target interface to the object Existing render target interface. Cannot be NULL Constructs a CDCRenderTarget object. ID2D1DCRenderTarget wrapper. A pointer to an ID2D1HwndRenderTarget object. Changes the size of the render target to the specified pixel size If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The new size of the render target in device pixels Indicates whether the HWND associated with this render target is occluded. A value that indicates whether the HWND associated with this render target is occluded. Returns the HWND associated with this render target. The HWND associated with this render target. Returns ID2D1HwndRenderTarget interface. Pointer to an ID2D1HwndRenderTarget interface or NULL if object is not initialized yet. Returns ID2D1HwndRenderTarget interface. Pointer to an ID2D1HwndRenderTarget interface or NULL if object is not initialized yet. Re-creates a render target associated with the window If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The HWND associated with this render target Creates a render target associated with the window If the method succeeds, it returns TRUE. Otherwise, it returns FALSE The HWND associated with this render target Detaches render target interface from the object Pointer to detached render target interface. Attaches existing render target interface to the object Existing render target interface. Cannot be NULL Constructs a CHwndRenderTarget object from HWND. The HWND associated with this render target ID2D1HwndRenderTarget wrapper. A pointer to CD2DTextFormat object that contains a default text format. A list of pointers to CD2DResource objects. A pointer to an ID2D1RenderTarget object. Verifies CD2DResource object validity; creates the object if it didn't already exist. Pointer to CD2DResource object. TRUE is object if valid; otherwise FALSE. Removes the last axis-aligned clip from the render target. After this method is called, the clip is no longer applied to subsequent drawing operations. Removes the last axis-aligned clip from the render target. After this method is called, the clip is no longer applied to subsequent drawing operations. The size and position of the clipping area, in device-independent pixels. The antialiasing mode that is used to draw the edges of clip rects that have subpixel boundaries, and to blend the clip with the scene contents. The blending is performed once when the PopAxisAlignedClip method is called, and does not apply to each primitive within the layer. Sets the render target's drawing state to that of the specified ID2D1DrawingStateBlock. The new drawing state of the render target. Saves the current drawing state to the specified ID2D1DrawingStateBlock. When this method returns, contains the current drawing state of the render target. This parameter must be initialized before passing it to the method. Executes all pending drawing commands. Contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized. Contains the tag for drawing operations that caused errors or 0 if there were no errors. This parameter is passed uninitialized. Stops redirecting drawing operations to the layer that is specified by the last PushLayer call. Adds the specified layer to the render target so that it receives all subsequent drawing operations until PopLayer is called. The content bounds, geometric mask, opacity, opacity mask, and antialiasing options for the layer. The layer that receives subsequent drawing operations. Creates a new bitmap render target for use during intermediate offscreen drawing that is compatible with the current render target . If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. When this method returns, contains the address of a pointer to a new bitmap render target. This parameter is passed uninitialized. The desired size of the new render target in device-independent pixels if it should be different from the original render target, or NULL. For more information, see the Remarks section. The desired size of the new render target in pixels if it should be different from the original render target, or NULL. For more information, see the Remarks section. The desired pixel format and alpha mode of the new render target, or NULL. If the pixel format is set to DXGI_FORMAT_UNKNOWN or if this parameter is null, the new render target uses the same pixel format as the original render target. If the alpha mode is D2D1_ALPHA_MODE_UNKNOWN or this parameter is NULL, the alpha mode of the new render target defaults to D2D1_ALPHA_MODE_PREMULTIPLIED. For information about supported pixel formats, see Supported Pixel Formats and Alpha Modes. A value that specifies whether the new render target must be compatible with GDI. Applies the specified transform to the render target, replacing the existing transformation. All subsequent drawing operations occur in the transformed space. The transform to apply to the render target. Applies the specified transform to the render target, replacing the existing transformation. All subsequent drawing operations occur in the transformed space. The transform to apply to the render target. Applies the specified transform to the render target, replacing the existing transformation. All subsequent drawing operations occur in the transformed space. The transform to apply to the render target. Retrieves the render target's current text rendering options. When this method returns, textRenderingParamscontains the address of a pointer to the render target's current text rendering options. Specifies text rendering options to be applied to all subsequent text and glyph drawing operations. The text rendering options to be applied to all subsequent text and glyph drawing operations; NULL to clear current text rendering options. Gets the current antialiasing mode for text and glyph drawing operations. Current antialiasing mode for text and glyph drawing operations. Specifies the antialiasing mode to use for subsequent text and glyph drawing operations. The antialiasing mode to use for subsequent text and glyph drawing operations. Retrieves the current antialiasing mode for nontext drawing operations. Current antialiasing mode for nontext drawing operations. Sets the antialiasing mode of the render target. The antialiasing mode applies to all subsequent drawing operations, excluding text and glyph drawing operations. The antialiasing mode for future drawing operations. Paints the interior of the specified mesh. The mesh to paint. The brush used to paint the mesh. Draws the specified glyphs. The origin, in device-independent pixels, of the glyphs' baseline. The glyphs to render. The brush used to paint the specified glyphs. A value that indicates how glyph metrics are used to measure text when it is formatted. The default value is DWRITE_MEASURING_MODE_NATURAL. Paints the interior of the specified geometry. The geometry to paint. The brush used to paint the geometry's interior. The opacity mask to apply to the geometry;NULL for no opacity mask. If an opacity mask (the opacityBrush parameter) is specified, brush must be an ID2D1BitmapBrush that has its x- and y-extend modes set to D2D1_EXTEND_MODE_CLAMP. For more information, see the Remarks section. Draws the outline of the specified geometry using the specified stroke style. The geometry to draw. The brush used to paint the geometry's stroke. The thickness of the geometry's stroke. The stroke is centered on the geometry's outline. The style of stroke to apply to the geometry's outline, or NULL to paint a solid stroke. Draws the formatted text described by the specified IDWriteTextLayout object. The bitmap to render. The size and position, in device-independent pixels in the render target's coordinate space, of the area to which the bitmap is drawn. If the rectangle is not well-ordered, nothing is drawn, but the render target does not enter an error state. A value between 0.0f and 1.0f, inclusive, that specifies an opacity value to apply to the bitmap; this value is multiplied against the alpha values of the bitmap's contents. The interpolation mode to use if the bitmap is scaled or rotated by the drawing operation. The size and position, in device-independent pixels in the bitmap's coordinate space, of the area within the bitmap to draw. Draws the formatted text described by the specified IDWriteTextLayout object. The point, described in device-independent pixels, at which the upper-left corner of the text described by textLayout is drawn. The formatted text to draw. Any drawing effects that do not inherit from ID2D1Resource are ignored. If there are drawing effects that inherit from ID2D1Resource that are not brushes, this method fails and the render target is put in an error state. The brush used to paint any text in textLayout that does not already have a brush associated with it as a drawing effect (specified by the IDWriteTextLayout::SetDrawingEffect method). A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is D2D1_DRAW_TEXT_OPTIONS_NONE, which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle. Draws the specified text using the format information provided by an IDWriteTextFormat object. A pointer to an array of Unicode characters to draw. The size and position of the area in which the text is drawn. The brush used to paint the text. An object that describes formatting details of the text to draw, such as the font, the font size, and flow direction. A value that indicates whether the text should be snapped to pixel boundaries and whether the text should be clipped to the layout rectangle. The default value is D2D1_DRAW_TEXT_OPTIONS_NONE, which indicates that text should be snapped to pixel boundaries and it should not be clipped to the layout rectangle. A value that indicates how glyph metrics are used to measure text when it is formatted. The default value is DWRITE_MEASURING_MODE_NATURAL. Applies the opacity mask described by the specified bitmap to a brush and uses that brush to paint a region of the render target. The position and radius, in device-independent pixels, of the ellipse to paint. The brush used to paint the region of the render target specified by destinationRectangle. The type of content the opacity mask contains. The value is used to determine the color space in which the opacity mask is blended. The region of the render target to paint, in device-independent pixels. The region of the bitmap to use as the opacity mask, in device-independent pixels. Draws a line between the specified points using the specified stroke style. The start point of the line, in device-independent pixels. The end point of the line, in device-independent pixels. The brush used to paint the line's stroke. A value greater than or equal to 0.0f that specifies the width of the stroke. If this parameter isn't specified, it defaults to 1.0f. The stroke is centered on the line. The style of stroke to paint, or NULL to paint a solid line. Paints the interior of the specified ellipse. The position and radius, in device-independent pixels, of the ellipse to paint. The brush used to paint the interior of the ellipse. Draws the outline of the specified ellipse using the specified stroke style. The position and radius of the ellipse to draw, in device-independent pixels. The brush used to paint the ellipse's outline. The thickness of the ellipse's stroke. The stroke is centered on the ellipse's outline. The style of stroke to apply to the ellipse's outline, or NULL to paint a solid stroke. Paints the interior of the specified rounded rectangle. The dimensions of the rounded rectangle to paint, in device independent pixels. The brush used to paint the interior of the rounded rectangle. Draws the outline of the specified rounded rectangle using the specified stroke style. The dimensions of the rounded rectangle to draw, in device-independent pixels. The brush used to paint the rounded rectangle's outline. The width of the rounded rectangle's stroke. The stroke is centered on the rounded rectangle's outline. The default value is 1.0f. The style of the rounded rectangle's stroke, or NULL to paint a solid stroke. The default value is NULL. Paints the interior of the specified rectangle. The dimension of the rectangle to paint, in device-independent pixels. The brush used to paint the rectangle's interior. Draws the outline of a rectangle that has the specified dimensions and stroke style. The dimensions of the rectangle to draw, in device-independent pixels The brush used to paint the rectangle's stroke A value greater than or equal to 0.0f that specifies the width of the rectangle's stroke. The stroke is centered on the rectangle's outline. The style of stroke to paint, or NULL to paint a solid stroke. Clears the drawing area to the specified color. The color to which the drawing area is cleared. Converts GDI color and alpha values to the D2D1_COLOR_F object. RGB value. Alpha value. D2D1_COLOR_F value. Ends drawing operations on the render target and indicates the current error state and associated tags. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. Initiates drawing on this render target. Detaches render target interface from the object Pointer to detached render target interface. Attaches existing render target interface to the object Existing render target interface. Cannot be NULL Gets the maximum size, in device-dependent units (pixels), of any one bitmap dimension supported by the render target The maximum size, in pixels, of any one bitmap dimension supported by the render target Indicates whether the render target supports the specified properties TRUE if the specified render target properties are supported by this render target; otherwise, FALSE The render target properties to test Specifies a label for subsequent drawing operations. A label to apply to subsequent drawing operations. A label to apply to subsequent drawing operations. Gets the label for subsequent drawing operations. Contains the first label for subsequent drawing operations. This parameter is passed uninitialized. If NULL is specified, no value is retrieved for this parameter. Contains the second label for subsequent drawing operations. This parameter is passed uninitialized. If NULL is specified, no value is retrieved for this parameter. Returns the size of the render target in device pixels The size of the render target in device pixels Retrieves the pixel format and alpha mode of the render target The pixel format and alpha mode of the render target Returns the render target's dots per inch (DPI) The render target's dots per inch (DPI). Sets the dots per inch (DPI) of the render target. A value greater than or equal to zero that specifies the horizontal/verticalDPI of the render target. Returns the size of the render target in device-independent pixels The current size of the render target in device-independent pixels Returns ID2D1RenderTarget interface Pointer to an ID2D1RenderTarget interface or NULL if object is not initialized yet. Returns ID2D1RenderTarget interface Pointer to an ID2D1RenderTarget interface or NULL if object is not initialized yet. Checks resource validity TRUE if resource is valid; otherwise FALSE. Deletes one or more resources If the method succeeds, it returns TRUE. Otherwise, it returns FALSE If bDeleteResources is TRUE, all resources located in m_lstResources will be automatically destroyed. The destructor. Called when a render target object is being destroyed. Constructs a CRenderTarget object. ID2D1RenderTarget wrapper. A pointer to an ID2D1Mesh. Checks resource validity TRUE if resource is valid; otherwise FALSE. Destroys a CD2DMesh object. Creates a CD2DMesh. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to the render target. Opens the mesh for population. A pointer to an ID2D1TessellationSink that is used to populate the mesh. Returns ID2D1Mesh interface Pointer to an ID2D1Mesh interface or NULL if object is not initialized yet. Returns ID2D1Mesh interface Pointer to an ID2D1Mesh interface or NULL if object is not initialized yet. Detaches resource interface from the object Pointer to detached resource interface. Attaches existing resource interface to the object Existing resource interface. Cannot be NULL The destructor. Called when a D2D mesh object is being destroyed. Constructs a CD2DMesh object. A pointer to the render target. Indicates that the object will be destroyed by owner (pParentTarget). ID2D1Mesh wrapper. A pointer to an ID2D1GeometrySink. Specifies stroke and join options to be applied to new segments added to the geometry sink. Stroke and join options to be applied to new segments added to the geometry sink. Specifies the method used to determine which points are inside the geometry described by this geometry sink and which points are outside. The method used to determine whether a given point is part of the geometry. Closes the geometry sink Nonzero if successful; otherwise FALSE. Creates a sequence of lines using the specified points and adds them to the geometry sink. An array of one or more points that describe the lines to draw. A line is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by BeginFigure) to the first point in the array. if the array contains additional points, a line is drawn from the first point to the second point in the array, from the second point to the third point, and so on. An array of a sequence of the end points of the lines to draw. Creates a line segment between the current point and the specified end point and adds it to the geometry sink. The end point of the line to draw. Adds a sequence of quadratic Bezier segments as an array in a single call. An array of a sequence of quadratic Bezier segments. Creates a quadratic Bezier curve between the current point and the specified end point. A structure that describes the control point and the end point of the quadratic Bezier curve to add. Creates a sequence of cubic Bezier curves and adds them to the geometry sink. An array of Bezier segments that describes the Bezier curves to create. A curve is drawn from the geometry sink's current point (the end point of the last segment drawn or the location specified by BeginFigure) to the end point of the first Bezier segment in the array. if the array contains additional Bezier segments, each subsequent Bezier segment uses the end point of the preceding Bezier segment as its start point. Creates a cubic Bezier curve between the current point and the specified end point. A structure that describes the control points and end point of the Bezier curve to add. Adds a single arc to the path geometry The arc segment to add to the figure Ends the current figure; optionally, closes it. A value that indicates whether the current figure is closed. If the figure is closed, a line is drawn between the current point and the start point specified by BeginFigure. Starts a new figure at the specified point. The point at which to begin the new figure. Whether the new figure should be hollow or filled. Returns ID2D1GeometrySink interface Pointer to an ID2D1GeometrySink interface or NULL if object is not initialized yet. Returns ID2D1GeometrySink interface Pointer to an ID2D1GeometrySink interface or NULL if object is not initialized yet. Checks geometry sink validity TRUE if geometry sink is valid; otherwise FALSE. The destructor. Called when a D2D geometry sink object is being destroyed. Constructs a CD2DGeometrySink object from CD2DPathGeometry object. An existing CD2DPathGeometry object. ID2D1GeometrySink wrapper. A pointer to an ID2D1PathGeometry. Retrieves tthe number of figures in the path geometry. Returns the number of figures in the path geometry. Retrieves the number of segments in the path geometry. Returns the number of segments in the path geometry. Copies the contents of the path geometry to the specified ID2D1GeometrySink. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The sink to which the path geometry's contents are copied. Modifying this sink does not change the contents of this path geometry. Retrieves the geometry sink that is used to populate the path geometry with figures and segments. A pointer to the ID2D1GeometrySink that is used to populate the path geometry with figures and segments. Detaches resource interface from the object Pointer to detached resource interface. Attaches existing resource interface to the object Existing resource interface. Cannot be NULL Destroys a CD2DPathGeometry object. Creates a CD2DPathGeometry. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to the render target. Constructs a CD2DPathGeometry object. A pointer to the render target. Indicates that the object will be destroyed by owner (pParentTarget). ID2D1PathGeometry wrapper. A pointer to an ID2D1Geometry. Widens the geometry by the specified stroke and writes the result to an ID2D1SimplifiedGeometrySink after it has been transformed by the specified matrix and flattened using the specified tolerance. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The amount by which to widen the geometry. The style of stroke to apply to the geometry, or NULL. The transform to apply to the geometry after widening it. The ID2D1SimplifiedGeometrySink to which the widened geometry is appended. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. Creates a set of clockwise-wound triangles that cover the geometry after it has been transformed using the specified matrix and flattened using the specified tolerance. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The transform to apply to this geometry, or NULL. The ID2D1TessellationSink to which the tessellated is appended. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. Creates a simplified version of the geometry that contains only lines and (optionally) cubic Bezier curves and writes the result to an ID2D1SimplifiedGeometrySink. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. A value that specifies whether the simplified geometry should contain curves. The transform to apply to the simplified geometry. The ID2D1SimplifiedGeometrySink to which the simplified geometry is appended. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. Computes the outline of the geometry and writes the result to an ID2D1SimplifiedGeometrySink. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The transform to apply to the geometry outline. The ID2D1SimplifiedGeometrySink to which the geometry transformed outline is appended. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. Determines whether the geometry's stroke contains the specified point given the specified stroke thickness, style, and transform. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The point to test for containment. The thickness of the stroke to apply. The style of the stroke to apply. The transform to apply to the stroked geometry. When this method returns, contains a boolean value set to TRUE if the geometry's stroke contains the specified point; otherwise, FALSE. You must allocate storage for this parameter. The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the stroke by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. Indicates whether the area filled by the geometry would contain the specified point given the specified flattening tolerance. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The point to test. The transform to apply to the geometry prior to testing for containment. When this method returns, contains a bool value that is TRUE if the area filled by the geometry contains point; otherwise, FALSE. You must allocate storage for this parameter. The numeric accuracy with which the precise geometric path and path intersection is calculated. Points missing the fill by less than the tolerance are still considered inside. Smaller values produce more accurate results but cause slower execution. Gets the bounds of the geometry after it has been widened by the specified stroke width and style and transformed by the specified matrix. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The amount by which to widen the geometry by stroking its outline. The style of the stroke that widens the geometry. A transform to apply to the geometry after the geometry is transformed and after the geometry has been stroked. When this method returns, contains the bounds of the widened geometry. You must allocate storage for this parameter. The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. Retrieves the bounds of the geometry. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The transform to apply to this geometry before calculating its bounds. When this method returns, contains the bounds of this geometry. If the bounds are empty, this will be a rect where bounds.left is greater than bounds.right. You must allocate storage for this parameter. Calculates the point and tangent vector at the specified distance along the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The distance along the geometry of the point and tangent to find. If this distance is less then 0, this method calculates the first point in the geometry. If this distance is greater than the length of the geometry, this method calculates the last point in the geometry. The transform to apply to the geometry before calculating the specified point and tangent. The location at the specified distance along the geometry. If the geometry is empty, this point contains NaN as its x and y values. When this method returns, contains a pointer to the tangent vector at the specified distance along the geometry. If the geometry is empty, this vector contains NaN as its x and y values. You must allocate storage for this parameter. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. Calculates the length of the geometry as though each segment were unrolled into a line. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The transform to apply to the geometry before calculating its length. When this method returns, contains a pointer to the length of the geometry. For closed geometries, the length includes an implicit closing segment. You must allocate storage for this parameter. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. Computes the area of the geometry after it has been transformed by the specified matrix and flattened using the specified tolerance. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The transform to apply to this geometry before computing its area. When this method returns, contains a pointer to the area of the transformed, flattened version of this geometry. You must allocate storage for this parameter. The maximum bounds on the distance between points in the polygonal approximation of the geometry. Smaller values produce more accurate results but cause slower execution. Describes the intersection between this geometry and the specified geometry. The comparison is performed using the specified flattening tolerance. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The geometry to test. The transform to apply to inputGeometry. The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. Combines this geometry with the specified geometry and stores the result in an ID2D1SimplifiedGeometrySink. If the method succeeds, it returns TRUE. Otherwise, it returns FALSE. The geometry to combine with this instance. The type of combine operation to perform. The transform to apply to inputGeometry before combining. The result of the combine operation. The maximum bounds on the distance between points in the polygonal approximation of the geometries. Smaller values produce more accurate results but cause slower execution. Checks resource validity TRUE if resource is valid; otherwise FALSE. Destroys a CD2DGeometry object. Returns ID2D1Geometry interface Pointer to an ID2D1Geometry interface or NULL if object is not initialized yet. Returns ID2D1Geometry interface Pointer to an ID2D1Geometry interface or NULL if object is not initialized yet. Detaches resource interface from the object Pointer to detached resource interface. Attaches existing resource interface to the object Existing resource interface. Cannot be NULL The destructor. Called when a D2D geometry object is being destroyed. Constructs a CD2DGeometry object. A pointer to the render target. Indicates that the object will be destroyed by owner (pParentTarget). ID2D1Geometry wrapper. A pointer to an IDWriteTextLayout. Gets the locale name of the text at the specified position. CString object that contains the current locale name. The position of the text to inspect. The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the locale name. Copies the font family name of the text at the specified position. CString object that contains the current font family name. The position of the text to examine. The range of text that has the same formatting as the text at the position specified by currentPosition. This means the run has the exact formatting as the position specified, including but not limited to the font family name. Sets the locale name for text within a specified text range If the method succeeds, it returns TRUE. Otherwise, it returns FALSE A null-terminated locale name string Text range to which this change applies Sets null-terminated font family name for text within a specified text range If the method succeeds, it returns TRUE. Otherwise, it returns FALSE The font family name that applies to the entire text string within the range specified by textRange Text range to which this change applies Returns IDWriteTextLayout interface Pointer to an IDWriteTextLayout interface or NULL if object is not initialized yet. Returns IDWriteTextLayout interface Pointer to an IDWriteTextLayout interface or NULL if object is not initialized yet. Checks resource validity TRUE if resource is valid; otherwise FALSE. Destroys a CD2DTextLayout object. Creates a CD2DTextLayout. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to the render target. Re-creates a CD2DTextLayout. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to the render target. The destructor. Called when a D2D text layout object is being destroyed. Constructs a CD2DTextLayout object. A pointer to the render target. A CString object that contains the string to create a new CD2DTextLayout object from. A CString object that contains the format to apply to the string. The size of the layout box. Indicates that the object will be destroyed by owner (pParentTarget). IDWriteTextLayout wrapper. A pointer to an IDWriteTextFormat. Gets a copy of the locale name. CString object that contains the current locale name. Gets a copy of the font family name. CString object that contains the current font family name. Returns IDWriteTextFormat interface Pointer to an IDWriteTextFormat interface or NULL if object is not initialized yet. Returns IDWriteTextFormat interface Pointer to an IDWriteTextFormat interface or NULL if object is not initialized yet. Checks resource validity TRUE if resource is valid; otherwise FALSE. Destroys a CD2DTextFormat object. Creates a CD2DTextFormat. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to the render target. Re-creates a CD2DTextFormat. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to the render target. The destructor. Called when a D2D text format object is being destroyed. Constructs a CD2DTextFormat object. A pointer to the render target. A CString object that contains the name of the font family. The logical size of the font in DIP ("device-independent pixel") units. A DIPequals 1/96 inch. A value that indicates the font weight for the text object. A value that indicates the font style for the text object. A value that indicates the font stretch for the text object. A CString object that contains the locale name. A pointer to a font collection object. When this is NULL, indicates the system font collection. Indicates that the object will be destroyed by owner (pParentTarget). IDWriteTextFormat wrapper. A pointer to an ID2D1RadialGradientBrush. The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. Retrieves the y-radius of the gradient ellipse The y-radius of the gradient ellipse. This value is expressed in the brush's coordinate space Retrieves the x-radius of the gradient ellipse The x-radius of the gradient ellipse. This value is expressed in the brush's coordinate space Retrieves the offset of the gradient origin relative to the gradient ellipse's center The offset of the gradient origin from the center of the gradient ellipse. This value is expressed in the brush's coordinate space Retrieves the center of the gradient ellipse The center of the gradient ellipse. This value is expressed in the brush's coordinate space Specifies the y-radius of the gradient ellipse, in the brush's coordinate space The y-radius of the gradient ellipse. This value is in the brush's coordinate space Specifies the x-radius of the gradient ellipse, in the brush's coordinate space The x-radius of the gradient ellipse. This value is in the brush's coordinate space Specifies the offset of the gradient origin relative to the gradient ellipse's center The offset of the gradient origin from the center of the gradient ellipse Specifies the center of the gradient ellipse in the brush's coordinate space The center of the gradient ellipse, in the brush's coordinate space Returns ID2D1RadialGradientBrush interface Pointer to an ID2D1RadialGradientBrush interface or NULL if object is not initialized yet. Returns ID2D1RadialGradientBrush interface Pointer to an ID2D1RadialGradientBrush interface or NULL if object is not initialized yet. Detaches resource interface from the object Pointer to detached resource interface. Attaches existing resource interface to the object Existing resource interface. Cannot be NULL Destroys a CD2DRadialGradientBrush object. Creates a CD2DRadialGradientBrush. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to the render target. The destructor. Called when a D2D radial gradient brush object is being destroyed. Constructs a CD2DLinearGradientBrush object. A pointer to the render target. A pointer to an array of D2D1_GRADIENT_STOP structures. A value greater than or equal to 1 that specifies the number of gradient stops in the gradientStops array. The center, gradient origin offset, and x-radius and y-radius of the brush's gradient. The space in which color interpolation between the gradient stops is performed. The behavior of the gradient outside the [0,1] normalized range. A pointer to the opacity and transformation of a brush. Indicates that the object will be destroyed by owner (pParentTarget). ID2D1RadialGradientBrush wrapper. A pointer to an ID2D1LinearGradientBrush. The start and end points of the gradient. Retrieves the ending coordinates of the linear gradient The ending two-dimensional coordinates of the linear gradient, in the brush's coordinate space Retrieves the starting coordinates of the linear gradient The starting two-dimensional coordinates of the linear gradient, in the brush's coordinate space Sets the ending coordinates of the linear gradient in the brush's coordinate space The ending two-dimensional coordinates of the linear gradient, in the brush's coordinate space Sets the starting coordinates of the linear gradient in the brush's coordinate space The starting two-dimensional coordinates of the linear gradient, in the brush's coordinate space Returns ID2D1LinearGradientBrush interface Pointer to an ID2D1LinearGradientBrush interface or NULL if object is not initialized yet. Returns ID2D1LinearGradientBrush interface Pointer to an ID2D1LinearGradientBrush interface or NULL if object is not initialized yet. Detaches resource interface from the object Pointer to detached resource interface. Attaches existing resource interface to the object Existing resource interface. Cannot be NULL Destroys a CD2DLinearGradientBrush object. Creates a CD2DLinearGradientBrush. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to the render target. The destructor. Called when a D2D linear gradient brush object is being destroyed. Constructs a CD2DLinearGradientBrush object. A pointer to the render target. A pointer to an array of D2D1_GRADIENT_STOP structures. A value greater than or equal to 1 that specifies the number of gradient stops in the gradientStops array. The start and end points of the gradient. The space in which color interpolation between the gradient stops is performed. The behavior of the gradient outside the [0,1] normalized range. A pointer to the opacity and transformation of a brush. Indicates that the object will be destroyed by owner (pParentTarget). ID2D1LinearGradientBrush wrapper. A pointer to an array of D2D1_GRADIENT_STOP structures. The behavior of the gradient outside the [0,1] normalized range. The space in which color interpolation between the gradient stops is performed. Array of the D2D1_GRADIENT_STOP structures. Destroys a CD2DGradientBrush object. The destructor. Called when a D2D gradient brush object is being destroyed. Constructs a CD2DGradientBrush object. A pointer to the render target. A pointer to an array of D2D1_GRADIENT_STOP structures. A value greater than or equal to 1 that specifies the number of gradient stops in the gradientStops array. The space in which color interpolation between the gradient stops is performed. The behavior of the gradient outside the [0,1] normalized range. A pointer to the opacity and transformation of a brush. Indicates that the object will be destroyed by owner (pParentTarget). The base class of CD2DLinearGradientBrush and CD2DRadialGradientBrush classes. Bitmap brush properties. Stores a pointer to an ID2D1BitmapBrush object. Stores a pointer to a CD2DBitmap object. Initializes the object A pointer to the bitmap brush properties. Destroys a CD2DBitmapBrush object. Creates a CD2DBitmapBrush. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to the render target. Gets the interpolation method used when the brush bitmap is scaled or rotated The interpolation method used when the brush bitmap is scaled or rotated Gets the method by which the brush vertically tiles those areas that extend past its bitmap A value that specifies how the brush vertically tiles those areas that extend past its bitmap Gets the method by which the brush horizontally tiles those areas that extend past its bitmap A value that specifies how the brush horizontally tiles those areas that extend past its bitmap Specifies the bitmap source that this brush uses to paint The bitmap source used by the brush Specifies the interpolation mode used when the brush bitmap is scaled or rotated The interpolation mode used when the brush bitmap is scaled or rotated Specifies how the brush vertically tiles those areas that extend past its bitmap A value that specifies how the brush vertically tiles those areas that extend past its bitmap Specifies how the brush horizontally tiles those areas that extend past its bitmap A value that specifies how the brush horizontally tiles those areas that extend past its bitmap Gets the bitmap source that this brush uses to paint Pointer to an CD2DBitmap object or NULL if object is not initialized yet. Returns ID2D1BitmapBrush interface Pointer to an ID2D1BitmapBrush interface or NULL if object is not initialized yet. Returns ID2D1BitmapBrush interface Pointer to an ID2D1BitmapBrush interface or NULL if object is not initialized yet. Detaches resource interface from the object Pointer to detached resource interface. Attaches existing resource interface to the object Existing resource interface. Cannot be NULL The destructor. Called when a D2D bitmap brush object is being destroyed. Constructs a CD2DBitmapBrush object from file. A pointer to the render target. Pointer to a null-terminated string that contains the name of file. Destination size of the bitmap. A pointer to the extend modes and the interpolation mode of a bitmap brush. A pointer to the opacity and transformation of a brush. Indicates that the object will be destroyed by owner (pParentTarget). Constructs a CD2DBitmapBrush object from resource. A pointer to the render target. The resource ID number of the resource. Pointer to a null-terminated string that contains the resource type. Destination size of the bitmap. A pointer to the extend modes and the interpolation mode of a bitmap brush. A pointer to the opacity and transformation of a brush. Indicates that the object will be destroyed by owner (pParentTarget). Constructs a CD2DBitmapBrush object. A pointer to the render target. A pointer to the extend modes and the interpolation mode of a bitmap brush. A pointer to the opacity and transformation of a brush. Indicates that the object will be destroyed by owner (pParentTarget). ID2D1BitmapBrush wrapper. Brush solid color. Stores a pointer to an ID2D1SolidColorBrush object. Destroys a CD2DSolidColorBrush object. Creates a CD2DSolidColorBrush. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to the render target. Retrieves the color of the solid color brush The color of this solid color brush Specifies the color of this solid color brush The color of this solid color brush Returns ID2D1SolidColorBrush interface Pointer to an ID2D1SolidColorBrush interface or NULL if object is not initialized yet. Returns ID2D1SolidColorBrush interface Pointer to an ID2D1SolidColorBrush interface or NULL if object is not initialized yet. Detaches resource interface from the object Pointer to detached resource interface. Attaches existing resource interface to the object Existing resource interface. Cannot be NULL The destructor. Called when a D2D solid brush object is being destroyed. Constructs a CD2DSolidColorBrush object. A pointer to the render target. The red, green, and blue values of the brush's color. The opacity of the brush's color. A pointer to the opacity and transformation of a brush. Indicates that the object will be destroyed by owner (pParentTarget). Constructs a CD2DSolidColorBrush object. A pointer to the render target. The red, green, blue, and alpha values of the brush's color. A pointer to the opacity and transformation of a brush. Indicates that the object will be destroyed by owner (pParentTarget). ID2D1SolidColorBrush wrapper. Brush properties. Stores a pointer to an ID2D1Brush object. Gets the current transform of the render target When this returns, contains the current transform of the render target. This parameter is passed uninitialized Applies the specified transform to the render target, replacing the existing transformation. All subsequent drawing operations occur in the transformed space The transform to apply to the render target Gets the degree of opacity of this brush A value between zero and 1 that indicates the opacity of the brush. This value is a constant multiplier that linearly scales the alpha value of all pixels filled by the brush. The opacity values are clamped in the range 0 to 1 before they are multiplied together Sets the degree of opacity of this brush A value between zero and 1 that indicates the opacity of the brush. This value is a constant multiplier that linearly scales the alpha value of all pixels filled by the brush. The opacity values are clamped in the range 0 to 1 before they are multiplied together Destroys a CD2DBrush object. Returns ID2D1Brush interface Pointer to an ID2D1Brush interface or NULL if object is not initialized yet. Returns ID2D1Brush interface Pointer to an ID2D1Brush interface or NULL if object is not initialized yet. Checks resource validity TRUE if resource is valid; otherwise FALSE. Detaches resource interface from the object Pointer to detached resource interface. Attaches existing resource interface to the object Existing resource interface. Cannot be NULL The destructor. Called when a D2D brush object is being destroyed. Constructs a CD2DBrush object. A pointer to the render target. A pointer to the opacity and transformation of a brush. Indicates that the object will be destroyed by owner (pParentTarget). ID2D1Brush wrapper. Initializes the object Creates a CD2D_BRUSH_PROPERTIES structure The transformation to apply to the brush The base opacity of the brush. The default value is 1.0. Creates a CD2D_BRUSH_PROPERTIES structure The base opacity of the brush. The default value is 1.0. Creates a CD2D_BRUSH_PROPERTIES structure D2D1_BRUSH_PROPERTIES wrapper. TRUE if m_hBmpSrc should be destroyed; otherwise FALSE. Source bitmap handle. Bitmap destination size. Botmap file path. Resource type. Bitmap resource ID. Stores a pointer to an ID2D1Bitmap object. Destroys a CD2DBitmap object. Creates a CD2DBitmap. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to the render target. Initializes the object Returns ID2D1Bitmap interface Pointer to an ID2D1Bitmap interface or NULL if object is not initialized yet. Returns ID2D1Bitmap interface Pointer to an ID2D1Bitmap interface or NULL if object is not initialized yet. Checks resource validity TRUE if resource is valid; otherwise FALSE. Copies the specified region from memory into the current bitmap If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. The data to copy The stride, or pitch, of the source bitmap stored in srcData. The stride is the byte count of a scanline (one row of pixels in memory). The stride can be computed from the following formula: pixel width * bytes per pixel + memory padding In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied Copies the specified region from the specified render target into the current bitmap If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. The render target that contains the region to copy In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied The area of renderTarget to copy Copies the specified region from the specified bitmap into the current bitmap If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. The bitmap to copy from In the current bitmap, the upper-left corner of the area to which the region specified by srcRect is copied The area of bitmap to copy Return the dots per inch (DPI) of the bitmap The horizontal and vertical DPI of the bitmap. Retrieves the pixel format and alpha mode of the bitmap The pixel format and alpha mode of the bitmap. Returns the size, in device-dependent units (pixels), of the bitmap The size, in pixels, of the bitmap.. Returns the size, in device-independent pixels (DIPs), of the bitmap The size, in DIPs, of the bitmap. Detaches resource interface from the object Pointer to detached resource interface. Attaches existing resource interface to the object Existing resource interface. Cannot be NULL The destructor. Called when a D2D bitmap object is being destroyed. Constructs a CD2DBitmap object. A pointer to the render target. Indicates that the object will be destroyed by owner (pParentTarget). Constructs a CD2DBitmap object from HBITMAP. A pointer to the render target. Handle to the bitmap. Destination size of the bitmap. Indicates that the object will be destroyed by owner (pParentTarget). Constructs a CD2DBitmap object from file. A pointer to the render target. Pointer to a null-terminated string that contains the name of file. Destination size of the bitmap. Indicates that the object will be destroyed by owner (pParentTarget). Constructs a CD2DBitmap object from resource. A pointer to the render target. The resource ID number of the resource. Pointer to a null-terminated string that contains the resource type. Destination size of the bitmap. Indicates that the object will be destroyed by owner (pParentTarget). ID2D1Bitmap wrapper. Stores a pointer to an ID2D1Layer object. Destroys a CD2DLayer object. Creates a CD2DLayer. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to the render target. Detaches resource interface from the object Pointer to detached resource interface. Attaches existing resource interface to the object Existing resource interface. Cannot be NULL Returns ID2D1Layer interface Pointer to an ID2D1Layer interface or NULL if object is not initialized yet. Returns ID2D1Layer interface Pointer to an ID2D1Layer interface or NULL if object is not initialized yet. Checks resource validity TRUE if resource is valid; otherwise FALSE. Returns the size of the render target in device-independent pixels The current size of the render target in device-independent pixels The destructor. Called when a D2D layer object is being destroyed. Constructs a CD2DLayer object. A pointer to the render target. Indicates that the object will be destroyed by owner (pParentTarget). ID2D1Layer wrapper. Pointer to the parent CRenderTarget) Resource will be destoyed by owner (CRenderTarget) Checks resource validity TRUE if resource is valid; otherwise FALSE. Destroys a CD2DResource object. Creates a CD2DResource. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to the render target. Re-creates a CD2DResource. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to the render target. Check auto destroy flag. TRUE if the object will be destroyed by its owner; otherwise FALSE. The destructor. Called when a D2D resource object is being destroyed. Constructs a CD2DResource object. A pointer to the render target. Indicates that the object will be destroyed by owner (pParentTarget). An abstract class, which provides a interface for creating and managing D2D resources such as brushes, layers and texts. Constructs a CD2DEllipse from CD2DPointF and CD2DSizeF objects. The center point of the ellipse. The X-radius and Y-radius of the ellipse. Constructs a CD2DEllipse object from D2D1_ELLIPSE object. source ellipse Constructs a CD2DEllipse object from D2D1_ELLIPSE object. source ellipse Constructs a CD2DEllipse object from CD2DRectF object. source rectangle D2D1_ELLIPSE wrapper Constructs a CD2DRoundedRect object from D2D1_ROUNDED_RECT object. source rectangle Constructs a CD2DRoundedRect object from D2D1_ROUNDED_RECT object. source rectangle Constructs a CD2DRoundedRect object from CD2DRectF object. source rectangle radius size D2D1_ROUNDED_RECT wrapper Converts CD2DRectU to CRect object. Current value of D2D rectangle. Returns a Boolean value that indicates whether an expression contains no valid data (Null). TRUE if rectangle's top, left, bottom, and right values are all equal to 0; otherwise FALSE. Constructs a CD2DRectU object from four UINT32 values. source left coordinate source top coordinate source right coordinate source bottom coordinate Constructs a CD2DRectU object from D2D1_RECT_U object. source rectangle Constructs a CD2DRectU object from D2D1_RECT_U object. source rectangle Constructs a CD2DRectU object from CRect object. source rectangle D2D1_RECT_U wrapper Converts CD2DRectF to CRect object. Current value of D2D rectangle. Returns a Boolean value that indicates whether an expression contains no valid data (Null). TRUE if rectangle's top, left, bottom, and right values are all equal to 0; otherwise FALSE. Constructs a CD2DRectF object from four FLOAT values. source left coordinate source top coordinate source right coordinate source bottom coordinate Constructs a CD2DRectF object from D2D1_RECT_F object. source rectangle Constructs a CD2DRectF object from D2D1_RECT_F object. source rectangle Constructs a CD2DRectF object from CRect object. source rectangle D2D1_RECT_F wrapper Converts CD2DSizeU to CSize object. Current value of D2D size. Returns a Boolean value that indicates whether an expression contains no valid data (Null). TRUE if width and height are empty; otherwise FALSE. Constructs a CD2DSizeU object from two UINT32 values. source width source height Constructs a CD2DSizeU object from D2D1_SIZE_U object. source size Constructs a CD2DSizeU object from D2D1_SIZE_U object. source size Constructs a CD2DSizeU object from CSize object. source size D2D1_SIZE_U wrapper Converts CD2DSizeF to CSize object. Current value of D2D size. Returns a Boolean value that indicates whether an expression contains no valid data (Null). TRUE if width and height are empty; otherwise FALSE. Constructs a CD2DSizeF object from two FLOAT values. source width source height Constructs a CD2DSizeF object from D2D1_SIZE_F object. source size Constructs a CD2DSizeF object from D2D1_SIZE_F object. source size Constructs a CD2DSizeF object from CSize object. source size D2D1_SIZE_F wrapper Converts CD2DPointU to CPoint object. Current value of D2D point. Constructs a CD2DPointU object from two UINT32 values. source X source Y Constructs a CD2DPointU from object D2D1_POINT_2U object. source point Constructs a CD2DPointU from object D2D1_POINT_2U object. source point Constructs a CD2DPointU object from CPoint object. source point D2D1_POINT_2U wrapper Converts CD2DPointF to CPoint object. Current value of D2D point. Constructs a CD2DPointF object from two FLOAT values. source X source Y Constructs a CD2DPointF object from D2D1_POINT_2F object. source point Constructs a CD2DPointF object from D2D1_POINT_2F object. source point Constructs a CD2DPointF object from CPoint object. source point D2D1_POINT_2F wrapper Calls the transition library to create encapsulated transition COM object. This method also can set initial value and initial velocity to be applied to an animation variable, which is associated with this transition. For this purpose you have to call SetInitialValue and SetInitialVelocity before the framework creates the encapsulated transition COM object (it happens when you call CAnimationController::AnimateGroup). A pointer to transition library, which is responsible for creation of standard transitions. A pointer to transition factory, which is responsible for creation of custom transitions. Sets an initial velocity, which will be applied to an animation variable associated with this transition. Sets an initial value, which will be applied to an animation variable associated with this transition. Constructs a custom transition object. A pointer to custom interpolator. Stores the initial velocity. Stores the initial value. Specifies whether the initial velocity was specified with SetInitialVelocity. Specifies whether the initial value was specified with SetInitialValue. Stores a pointer to a custom interpolator. Implements custom transition. The CCustomTransitions class allows developers to implement custom transitions. It's created and used as a standard transition, but its constructor accepts as parameter a pointer to a custom interpolator. Perform the following steps to use custom transitions: 1. Derive a class from CCustomInterpolator and implement at least InterpolateValue method. 2. Ensure that the lifetime of custom interpolator object must be longer than duration of animation where it's used. 3. Instantiate (using operator new) a CCustomTransition object and pass a pointer to custom interpolator in the constructor. 4. Call CCustomTransition::SetInitialValue and CCustomTransition::SetInitialVelocity if these parameters are required for custom interpolation. 5. Pass the pointer to custom transition to AddTransition method of animation object, whose value should be animated with the custom algorithm. 6. When the value of animation object should change Windows Animation API will call InterpolateValue (and other relevant methods) in CCustomInterpolator. Gets the interpolator's dependencies. If the method succeeds, it returns S_OK. It returns E_FAIL if CCustomInterpolator is not set, or custom implementation returns FALSE from the GetDependencies method. Output. Aspects of the interpolator that depend on the initial value passed to SetInitialValueAndVelocity. Output. Aspects of the interpolator that depend on the initial velocity passed to SetInitialValueAndVelocity. Output. Aspects of the interpolator that depend on the duration passed to SetDuration. Interpolates the velocity at a given offset If the method succeeds, it returns S_OK. It returns E_FAIL if CCustomInterpolator is not set, or custom implementation returns FALSE from the InterpolateVelocity method. The offset from the start of the transition. The offset is always greater than or equal to zero and less than or equal to the duration of the transition. This method is not called if the duration of the transition is zero. Output. The velocity of the variable at the offset. Interpolates the value at a given offset If the method succeeds, it returns S_OK. It returns E_FAIL if CCustomInterpolator is not set, or custom implementation returns FALSE from the InterpolateValue method. The offset from the start of the transition. The offset is always greater than or equal to zero and less than the duration of the transition. This method is not called if the duration of the transition is zero. Output. The interpolated value. Gets the final value to which the interpolator leads. If the method succeeds, it returns S_OK. It returns E_FAIL if CCustomInterpolator is not set, or custom implementation returns FALSE from the GetFinalValue method. Output. The final value of a variable at the end of the transition. Gets the interpolator's duration. If the method succeeds, it returns S_OK. It returns E_FAIL if CCustomInterpolator is not set, or custom implementation returns FALSE from the GetDuration method. Output. The duration of the transition, in seconds. Sets the interpolator's duration If the method succeeds, it returns S_OK. It returns E_FAIL if CCustomInterpolator is not set, or custom implementation returns FALSE from the SetDuration method. The duration of the transition. Sets the interpolator's initial value and velocity. If the method succeeds, it returns S_OK. It returns E_FAIL if CCustomInterpolator is not set, or custom implementation returns FALSE from the SetInitialValueAndVelocity method. The value of the variable at the start of the transition. The velocity of the variable at the start of the transition. Creates an instance of CInterpolatorBase and stores a pointer to custom interpolator, which will be handling events. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to custom interpolator.Output. Contains a pointer to instance of CInterpolatorBase when the function returns. Stores a pointer to custom interpolator, which will be handling events. A pointer to custom interpolator. Constructs the CInterpolatorBase object. Implements a callback, which is called by Animation API when it needs to calculate a new value of animation variable. This handler is created and passed to IUIAnimationTransitionFactory::CreateTransition when a CCustomTransition object is being created as a part of animation initialization process (started by CAnimationController::AnimateGroup). Usually you don't need to use this class directly, it just routs all events to a CCustomInterpolator-derived class, whose pointer is passed to constructor of CCustomTransition. Gets the interpolator's dependencies. Basic implementation always returns TRUE. Return FALSE from overridden implementation if you wish to fail the event. Output. Aspects of the interpolator that depend on the initial value passed to SetInitialValueAndVelocity. Output. Aspects of the interpolator that depend on the initial velocity passed to SetInitialValueAndVelocity. Output. Aspects of the interpolator that depend on the duration passed to SetDuration. Interpolates the velocity at a given offset Basic implementation always returns TRUE. Return FALSE from overridden implementation if you wish to fail the event. The offset from the start of the transition. The offset is always greater than or equal to zero and less than or equal to the duration of the transition. This method is not called if the duration of the transition is zero. Output. The velocity of the variable at the offset. Interpolates the value at a given offset. Basic implementation always returns TRUE. Return FALSE from overridden implementation if you wish to fail the event. The offset from the start of the transition. The offset is always greater than or equal to zero and less than the duration of the transition. This method is not called if the duration of the transition is zero. Output. The interpolated value. Gets the final value to which the interpolator leads. Basic implementation always returns TRUE. Return FALSE from overridden implementation if you wish to fail the event. Output. The final value of a variable at the end of the transition. Gets the interpolator's duration. Basic implementation always returns TRUE. Return FALSE from overridden implementation if you wish to fail the event. Output. The duration of the transition, in seconds. Sets the interpolator's duration. Basic implementation always returns TRUE. Return FALSE from overridden implementation if you wish to fail the event. The duration of the transition. Sets the interpolator's initial value and velocity. The basic implementation always returns TRUE. Return FALSE from overridden implementation if you wish to fail the event. The value of the variable at the start of the transition. The velocity of the variable at the start of the transition. Initializes duration and final value. The duration of the transition. The final value of a variable at the end of the transition. Constructs a custom interpolator object and initializes duration and velocity to specified values. The duration of the transition. Constructs a custom interpolator object and sets all values to default 0. Use CCustomInterpolator::Init to initialize duration and final value later in the code. The interpolated velocity. The interpolated value. The velocity of the variable at the start of the transition. The value of the variable at the start of the transition. The final value of a variable at the end of the transition. The duration of the transition. Implements a basic interpolator. Derive a class from CCustomInterpolator and override all necessary methods in order to implement a custom interpolation algorithm. A pointer to this class should be passed as a parameter to CCustomTransition. Calls the transition library to create encapsulated transition COM object. TRUE if transition is created successfully; otherwise FALSE. A pointer to transition library, which is responsible for creation of standard transitions. A pointer to transition factory, which is responsible for creation of custom transitions. The period of oscillation of the sinusoidal wave in seconds. The duration of the transition. Constructs a transition object. The duration of the transition. The period of oscillation of the sinusoidal wave in seconds. Encapsulates a sinusoidal-velocity transition, with an amplitude determined by the animation variable's initial velocity.. The value of the animation variable oscillates around the initial value over the entire duration of a sinusoidal-range transition. The amplitude of the oscillation is determined by the animation variable's velocity when the transition begins. Because all transitions are cleared automatically, it's recommended to allocated them using operator new. The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then it's NULL. Changing member variables after creation of this COM object has no effect. Calls the transition library to create encapsulated transition COM object. TRUE if transition is created successfully; otherwise FALSE. A pointer to transition library, which is responsible for creation of standard transitions. A pointer to transition factory, which is responsible for creation of custom transitions. The slope at the start of the transition. The period of oscillation of the sinusoidal wave in seconds. The value of the animation variable at a peak of the sinusoidal wave. The value of the animation variable at a trough of the sinusoidal wave. The duration of the transition. Constructs a transition object. The duration of the transition. The value of the animation variable at a trough of the sinusoidal wave. The value of the animation variable at a peak of the sinusoidal wave. The period of oscillation of the sinusoidal wave in seconds. The slope at the start of the transition. Encapsulates a sinusoidal-range transition, with a given range of oscillation. The value of the animation variable fluctuates between the specified minimum and maximum values over the entire duration of a sinusoidal-range transition. The slope parameter is used to disambiguate between the two possible sine waves specified by the other parameters. Because all transitions are cleared automatically, it's recommended to allocated them using operator new. The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then it's NULL. Changing member variables after creation of this COM object has no effect. Calls the transition library to create encapsulated transition COM object. TRUE if transition is created successfully; otherwise FALSE. A pointer to transition library, which is responsible for creation of standard transitions. A pointer to transition factory, which is responsible for creation of custom transitions. The duration of the transition. Constructs a reversal transition object and initializes its duration. The duration of the transition. Encapsulates a reversal transition. A reversal transition smoothly changes direction over a given duration. The final value will be the same as the initial value and the final velocity will be the negative of the initial velocity. Because all transitions are cleared automatically, it's recommended to allocated them using operator new. The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then it's NULL. Changing member variables after creation of this COM object has no effect. Calls the transition library to create encapsulated transition COM object. TRUE if transition is created successfully; otherwise FALSE. A pointer to transition library, which is responsible for creation of standard transitions. A pointer to transition factory, which is responsible for creation of custom transitions. The acceleration of the animation variable during the transition. The velocity of the animation variable at the end of the transition. The value of the animation variable at the end of the transition. Constructs a parabolic-acceleration transition and initializes it with specified parameters. The value of the animation variable at the end of the transition. The velocity of the animation variable at the end of the transition. The acceleration of the animation variable during the transition. Encapsulates a parabolic-acceleration transition. During a parabolic-acceleration transition, the value of the animation variable changes from the initial value to the final value ending at a specified velocity. You can control how quickly the variable reaches the final value by specifying the rate of acceleration. Because all transitions are cleared automatically, it's recommended to allocated them using operator new. The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then it's NULL. Changing member variables after creation of this COM object has no effect. Calls the transition library to create encapsulated transition COM object. TRUE if transition is created successfully; otherwise FALSE. A pointer to transition library, which is responsible for creation of standard transitions. A pointer to transition factory, which is responsible for creation of custom transitions. The value of the animation variable at the end of the transition. The maximum duration of the transition. Constructs a smooth-stop transition and initializes its maximum duration and final value. The maximum duration of the transition. The value of the animation variable at the end of the transition. Encapsulates a smooth-stop transition. A smooth-stop transition slows down as it approaches a given final value, and reaches it with a velocity of zero. The duration of the transition is determined by the initial velocity, the difference between the initial and final values, and the specified maximum duration. If there is no solution consisting of a single parabolic arc, this method creates a cubic transition. Because all transitions are cleared automatically, it's recommended to allocated them using operator new. The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then it's NULL. Changing member variables after creation of this COM object has no effect. Calls the transition library to create encapsulated transition COM object. TRUE if transition is created successfully; otherwise FALSE. A pointer to transition library, which is responsible for creation of standard transitions. A pointer to transition factory, which is responsible for creation of custom transitions. The value of the animation variable at the end of the transition. The absolute value of the variable's velocity. Constructs a linear-speed transition object and initializes it with speed and final value. The absolute value of the variable's velocity. The value of the animation variable at the end of the transition. Encapsulates a linear-speed transition. During a linear-speed transition, the value of the animation variable changes at a specified rate. The duration of the transition is determined by the difference between the initial value and the specified final value. Because all transitions are cleared automatically, it's recommended to allocated them using operator new. The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then it's NULL. Changing member variables after creation of this COM object has no effect. Calls the transition library to create encapsulated transition COM object. TRUE if transition is created successfully; otherwise FALSE. A pointer to transition library, which is responsible for creation of standard transitions. A pointer to transition factory, which is responsible for creation of custom transitions. The value of the animation variable at the end of the transition. The duration of the transition. Constructs a linear transition object and initializes it with duration and final value. The duration of the transition. The value of the animation variable at the end of the transition. Encapsulates a linear transition. During a linear transition, the value of the animation variable transitions linearly from its initial value to a specified final value. Because all transitions are cleared automatically, it's recommended to allocated them using operator new. The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then it's NULL. Changing member variables after creation of this COM object has no effect. Calls the transition library to create encapsulated transition COM object. TRUE if transition is created successfully; otherwise FALSE. A pointer to transition library, which is responsible for creation of standard transitions. A pointer to transition factory, which is responsible for creation of custom transitions. The value of the animation variable at the end of the transition. Constructs a transition object and initializes its final value. The value of the animation variable at the end of the transition. Encapsulates an instantaneous transition. During an instantaneous transition, the value of the animation variable changes instantly from its current value to a specified final value. The duration of this transition is always zero. Because all transitions are cleared automatically, it's recommended to allocated them using operator new. The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then it's NULL. Changing member variables after creation of this COM object has no effect. Calls the transition library to create encapsulated transition COM object. TRUE if transition is created successfully; otherwise FALSE. A pointer to transition library, which is responsible for creation of standard transitions. A pointer to transition factory, which is responsible for creation of custom transitions. The amount of time by which to hold the variable at its final value. The value of the animation variable at the end of the transition. The amount of time by which to delay the instantaneous switch to the final value. Constructs a discrete transition object and initializes its parameters. The amount of time by which to delay the instantaneous switch to the final value. The value of the animation variable at the end of the transition. The amount of time by which to hold the variable at its final value. Encapsulates a discrete transition. During a discrete transition, the animation variable remains at the initial value for a specified delay time, then switches instantaneously to a specified final value and remains at that value for a given hold time. Because all transitions are cleared automatically, it's recommended to allocated them using operator new. The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then it's NULL. Changing member variables after creation of this COM object has no effect. Calls the transition library to create encapsulated transition COM object. TRUE if transition is created successfully; otherwise FALSE. A pointer to transition library, which is responsible for creation of standard transitions. A pointer to transition factory, which is responsible for creation of custom transitions. The velocity of the variable at the end of the transition. The value of the animation variable at the end of the transition. The duration of the transition. Constructs a transition object and initializes its parameters. The duration of the transition. The value of the animation variable at the end of the transition. The velocity of the variable at the end of the transition. Encapsulates a cubic transition. During a cubic transition, the value of the animation variable changes from its initial value to a specified final value over the duration of the transition, ending at a specified velocity. Because all transitions are cleared automatically, it's recommended to allocated them using operator new. The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then it's NULL. Changing member variables after creation of this COM object has no effect. Calls the transition library to create encapsulated transition COM object. TRUE if transition is created successfully; otherwise FALSE. A pointer to transition library, which is responsible for creation of standard transitions. A pointer to transition factory, which is responsible for creation of custom transitions. The duration of the transition. Constructs a transition object and initializes its duration. The duration of the transition. Encapsulates a constant transition. During a constant transition, the value of an animation variable remains at the initial value over the duration of the transition. Because all transitions are cleared automatically, it's recommended to allocated them using operator new. The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then it's NULL. Changing member variables after creation of this COM object has no effect. Calls the transition library to create encapsulated transition COM object. TRUE if transition is created successfully; otherwise FALSE. A pointer to transition library, which is responsible for creation of standard transitions. A pointer to transition factory, which is responsible for creation of custom transitions. The ratio of the time spent decelerating to the duration. The ratio of the time spent accelerating to the duration. The value of the animation variable at the end of the transition. The duration of the transition. Constructs a transition object. The duration of the transition. The value of the animation variable at the end of the transition. The ratio of the time spent accelerating to the duration. The ratio of the time spent decelerating to the duration. Implements an accelerate-decelerate transition. During an accelerate-decelerate transition, the animation variable speeds up and then slows down over the duration of the transition, ending at a specified value. You can control how quickly the variable accelerates and decelerates independently, by specifying different acceleration and deceleration ratios. When the initial velocity is zero, the acceleration ratio is the fraction of the duration that the variable will spend accelerating; likewise with the deceleration ratio. If the initial velocity is non-zero, it is the fraction of the time between the velocity reaching zero and the end of transition. The acceleration ratio and the deceleration ratio should sum to a maximum of 1.0. Because all transitions are cleared automatically, it's recommended to allocated them using operator new. The encapsulated IUIAnimationTransition COM object is created by CAnimationController::AnimateGroup, until then it's NULL. Changing member variables after creation of this COM object has no effect. Handles events that occur when the rendering frame rate for an animation falls below the minimum desirable frame rate. S_OK if the method succeeds; otherwise E_FAIL. Handles events that occur after an animation update is finished. S_OK if the method succeeds; otherwise E_FAIL. Handles events that occur before an animation update begins. S_OK if the method succeeds; otherwise E_FAIL. Stores a pointer to animation controller to route events. A pointer to animation controller, which will receive events. Creates an instance of CAnimationTimerEventHandler callback. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to animation controller, which will receive events. Output. If the method succeeds it contains a pointer to COM object that will handle animation timer events. Implements a call back, which is called by Animation API when timing events occur. This event handler is created and passed to IUIAnimationTimer::SetTimerEventHandler when you call CAnimationController::EnableAnimationTimerEventHandler. Handles OnStoryboardUpdated events, which occur when a storyboard is updated S_OK if the method succeeds; otherwise E_FAIL. A pointer to storyboard, which was updated. Handles OnStoryboardStatusChanged events, which occur when a storyboard's status changes S_OK if the method succeeds; otherwise E_FAIL. A pointer to storyboard whose status has changed. Specifies new storyboard status. Specifies previous storyboard status. Stores a pointer to animation controller to route events. A pointer to animation controller, which will receive events. Creates an instance of CAnimationStoryboardEventHandler callback. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to animation controller, which will receive events. Output. If the method succeeds it contains a pointer to COM object that will handle storyboard events. Constructs a CAnimationStoryboardEventHandler object. Implements a callback, which is called by Animation API when storyboard's status is changed or storyboard is updated. This event handler is created and passed to IUIAnimationStoryboard::SetStoryboardEventHandler method, when you call CAnimationController::EnableStoryboardEventHandler. Called when a value of an animation variable has changed. S_OK if the method succeeds; otherwise E_FAIL. The storyboard that is animating the variable. The animation variable that was updated. The new rounded value. The previous rounded value. Stores a pointer to animation controller to route events. A pointer to animation controller, which will receive events. Creates an instance of CAnimationVariableIntegerChangeHandler callback. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to animation controller, which will receive events. Output. If the method succeeds it contains a pointer to COM object that will handle variable integer change events. Constructs a CAnimationVariableIntegerChangeHandler object. Implements a call back, which is called by Animation API when the value of an animation variable changes. This event handler is created and passed to IUIAnimationVariable::SetVariableIntegerChangeHandler method, when you call CAnimationVariable::EnableIntegerValueChangedEvent or CAnimationBaseObject::EnableIntegerValueChangedEvent (which enables this event for all animation variables encapsulated in an animation object). Called when a value of an animation variable has changed. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. The storyboard that is animating the variable. The animation variable that was updated. The new value. The previous value. Stores a pointer to animation controller to route events. A pointer to animation controller, which will receive events. Creates an instance of CAnimationVariableChangeHandler object. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to animation controller, which will receive events. Output. If the method succeeds it contains a pointer to COM object that will handle variable change events. Constructs a CAnimationVariableChangeHandler object. Implements a call back, which is called by Animation API when the value of an animation variable changes. This event handler is created and passed to IUIAnimationVariable::SetVariableChangeHandler method, when you call CAnimationVariable::EnableValueChangedEvent or CAnimationBaseObject::EnableValueChangedEvent (which enables this event for all animation variables encapsulated in an animation object). Called when a status of animation manager has changed. Current implementation always returns S_OK; New status. Previous status. Stores a pointer to animation controller to route events. A pointer to animation controller, which will receive events. Creates an instance of CAnimationManagerEventHandler object. If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. A pointer to animation controller, which will receive events. Output. If the method succeeds it contains a pointer to COM object that will handle status updates to an animation manager. Constructs a CAnimationManagerEventHandler object. Implements a callback, which is called by Animation API when a status of animation manager changed. This event handler is created and passed to IUIAnimationManager::SetManagerEventHandler method, when you call CAnimationController::EnableAnimationManagerEvent. A helper that cleans up the group. This method removes all transitions and keyframes from the specified group. A pointer to animation group to clean. Called by the framework when an animation for the specified group has just been scheduled. The default implementation removes keyframes from the specified group and transitions from animation variables that belong to the specified group. Can be overridden in a derived class to take any additional actions upon animation schedule. A pointer to an animation group, which has been scheduled. Called by the framework when the rendering frame rate for an animation falls below a minimum desirable frame rate. This method is called if you enable timer event handlers using EnableAnimationTimerEventHandler. It can be overridden in a derived class to take application-specific actions. The minimum desirable frame rate is specified by calling IUIAnimationTimer::SetFrameRateThreshold. The current frame rate in frames per second. Called by the framework after an animation update is finished. This method is called if you enable timer event handlers using EnableAnimationTimerEventHandler. It can be overridden in a derived class to take application-specific actions. Called by the framework before an animation update begins. This method is called if you enable timer event handlers using EnableAnimationTimerEventHandler. It can be overridden in a derived class to take application-specific actions. Called by the framework to resolve scheduling conflicts. Should return TRUE if storyboard owned by pGroupNew has priority. Should return FALSE if storyboard owned by pGroupScheduled has priority. This method is called if you enable priority comparison events using CAnimationController::EnablePriorityComparisonHandler and specify UI_ANIMATION_PHT_COMPRESS. It can be overridden in a derived class to take application-specific actions. Read Windows Animation API documentation for more information about Conflict Management (http://msdn.microsoft.com/en-us/library/dd371759(VS.85).aspx). The group that owns the currently scheduled storyboard. The group that owns the new storyboard that is in scheduling conflict with the scheduled storyboard owned by pGroupScheduled. The potential effect on pGroupNew if pGroupScheduled has a higher priority. Called by the framework to resolve scheduling conflicts. Should return TRUE if storyboard owned by pGroupNew has priority. Should return FALSE if storyboard owned by pGroupScheduled has priority. This method is called if you enable priority comparison events using CAnimationController::EnablePriorityComparisonHandler and specify UI_ANIMATION_PHT_TRIM. It can be overridden in a derived class to take application-specific actions. Read Windows Animation API documentation for more information about Conflict Management (http://msdn.microsoft.com/en-us/library/dd371759(VS.85).aspx). The group that owns the currently scheduled storyboard. The group that owns the new storyboard that is in scheduling conflict with the scheduled storyboard owned by pGroupScheduled. The potential effect on pGroupNew if pGroupScheduled has a higher priority. Called by the framework to resolve scheduling conflicts. Should return TRUE if storyboard owned by pGroupNew has priority. Should return FALSE if storyboard owned by pGroupScheduled has priority. This method is called if you enable priority comparison events using CAnimationController::EnablePriorityComparisonHandler and specify UI_ANIMATION_PHT_CONCLUDE. It can be overridden in a derived class to take application-specific actions. Read Windows Animation API documentation for more information about Conflict Management (http://msdn.microsoft.com/en-us/library/dd371759(VS.85).aspx). The group that owns the currently scheduled storyboard. The group that owns the new storyboard that is in scheduling conflict with the scheduled storyboard owned by pGroupScheduled. The potential effect on pGroupNew if pGroupScheduled has a higher priority. Called by the framework to resolve scheduling conflicts. Should return TRUE if storyboard owned by pGroupNew has priority. Should return FALSE if storyboard owned by pGroupScheduled has priority. This method is called if you enable priority comparison events using CAnimationController::EnablePriorityComparisonHandler and specify UI_ANIMATION_PHT_CANCEL. It can be overridden in a derived class to take application-specific actions. Read Windows Animation API documentation for more information about Conflict Management (http://msdn.microsoft.com/en-us/library/dd371759(VS.85).aspx). The group that owns the currently scheduled storyboard. The group that owns the new storyboard that is in scheduling conflict with the scheduled storyboard owned by pGroupScheduled. The potential effect on pGroupNew if pGroupScheduled has a higher priority. Called by the framework when storyboard has been updated. This method is called if you enable storyboard events using CAnimationController::EnableStoryboardEventHandler. It can be overridden in a derived class to take application-specific actions. A pointer to a group that owns the storyboard. Called by the framework when storyboard status has changed. This method is called if you enable storyboard events using CAnimationController::EnableStoryboardEventHandler. It can be overridden in a derived class to take application-specific actions. A pointer to an animation group that owns the storyboard whose status has changed. Specifies the new status. Specifies the previous status. Called by the framework when integer value of animation variable has changed. This method is called if you enable animation variable events with EnableIntegerValueChangedEvent called for a specific animation variable or animation object. It can be overridden in a derived class to take application-specific actions. A pointer to an animation group that holds an animation object whose value has changed. A pointer to an animation object that contains an animation variable whose value has changed. A pointer to an animation variable. Specifies new value. Specifies previous value. Called by the framework when value of animation variable has changed. This method is called if you enable animation variable events with EnableValueChangedEvent called for a specific animation variable or animation object. It can be overridden in a derived class to take application-specific actions. A pointer to an animation group that holds an animation object whose value has changed. A pointer to an animation object that contains an animation variable whose value has changed. A pointer to an animation variable. Specifies new value. Specifies previous value. Called by the framework in response to StatusChanged event from animation manager. This method is called if you enable animation manager events with EnableAnimationManagerEvent. It can be overridden in a derived class to take application-specific actions. The default implementation updates a related window if it has been set with SetRelatedWnd. New animation manager status. Previous animation manager status. Called by the framework right before the animation is scheduled. This call is routed to related CWnd and can be overridden in a derived class to perform any additional actions before the animation starts for the specified group. A pointer to an animation group whose animation is about to start. Called by the framework to clean up the group when animation has been scheduled. This method removes all transitions and keyframes from the specified group, because they are not relevant after an animation has been scheduled. Specifies GroupID. Schedules an animation. TRUE if animation was scheduled successfully. FALSE if storyboard has not been created, or other error occurs. You must call AnimateGroup with parameter bScheduleNow set to FALSE prior ScheduleGroup. You can specify the desired animation time obtained from IUIAnimationTimer::GetTime. If the time parameter is 0.0, the animation is scheduled for the current time. Specifies animation Group ID to schedule. Specifies time to schedule. Prepares a group to run animation and optionally schedules it. TRUE if animation was successfully scheduled and run. This method does the actual work creating storyboard, adding animation variables, applying transitions and setting keyframes. It's possible to delay scheduling if you set bScheduleNow to FALSE. In this case the specified group will hold a storyboard that has been set up for animation. At that point you can setup events for the storyboard and animation variables. When you actually need to run the animation call CAnimationController::ScheduleGroup. Specifies GroupID. Specifies whether to run animation right away. Finds animation object containing a specified animation variable. TRUE if object was found; otherwise FALSE. Called from event handlers when it's required to find an animation object from incoming animation variable. A pointer to animation variable. Output. Contains a pointer to animation object or NULL. Output. Contains a pointer to animation group that holds the animation object, or NULL. Finds an animation group by its storyboard. A pointer to animation group if succeeds, or NULL if no group plays the specified storyboard. This method is usually called from event handlers to find a group by pointer to storyboard that comes as a parameter to an event handler. A pointer to a storyboard. Finds an animation group by its Group ID. A pointer to animation group or NULL if the group with specified ID is not found. Use this method to find an animation group at runtime. A group is created and added to the internal list of animation groups when a first animation object with particular GroupID is being added to animation controller. Specifies a GroupID. Adds a keyframe to group. TRUE if the function succeeds; otherwise FALSE. Usually you don't need to call this method, use CAnimationController::CreateKeyframe instead, which creates and adds the created keyframe to a group automatically. Specifies Group ID. A pointer to a keyframe. Creates a keyframe that depends on other keyframe with optional offset in seconds and adds it to the specified group. A pointer to newly created keyframe if the function succeeds. You can store the returned pointer and base other keyframes on the newly created keyframe (see the second overload). It's possible to begin transitions at keyframes - see CBaseTransition::SetKeyframes. You don't need to delete keyframes created in this way, because they are deleted automatically by animation groups. Be careful when creating keyframes based on other keyframes and transitions and avoid circular references. Specifies Group ID for which keyframe is created. A pointer to base keyframe for this keyframe. Offset in seconds from the base keyframe specified by pKeyframe. Creates a keyframe that depends on transition and adds it to the specified group. A pointer to newly created keyframe if the function succeeds. You can store the returned pointer and base other keyframes on the newly created keyframe (see the second overload). It's possible to begin transitions at keyframes - see CBaseTransition::SetKeyframes. You don't need to delete keyframes created in this way, because they are deleted automatically by animation groups. Be careful when creating keyframes based on other keyframes and transitions and avoid circular references. Specifies Group ID for which keyframe is created. A pointer to transition. Keyframe will be inserted to storyboard after this transition. Removes transitions from animation objects that belong to the specified group. The group loops over its animation objects and calls ClearTransitions(FALSE) for each animation object. This method is called by the framework after animation has been scheduled. Specifies Group ID. Removes all animation groups from animation controller. All groups will be deleted, their pointer, if stored at the application level, must be invalidated. If CAnimationGroup::m_bAutodestroyAnimationObjects for a group being deleted is TRUE, all animation objects that belong to that group will be deleted; otherwise their references to parent animation controller will be set to NULL and they can be added to another controller. Removes an animation group with specified ID from animation controller. This method removes an animation group from the internal list of groups and deletes it, therefore if you stored a pointer to that animation group, it must be invalidated. If CAnimationGroup::m_bAutodestroyAnimationObjects is TRUE, all animation objects that belong to that group will be deleted; otherwise their references to parent animation controller will be set to NULL and they can be added to another controller. Specifies animation group ID. Remove an animation object from animation controller. Removes an animation object from animation controller and animation group. Call this function if a particular object should not be animated anymore, or if you need to move the object to another animation controller. In the last case bNoDelete must be TRUE. A pointer to an animation object. If this parameter is TRUE the object will not be deleted upon remove. Adds an animation object to a group that belongs to the animation controller. A pointer to existing or new animation group where pObject has been added if function succeeds; NULL if pObject has already been added to a group that belongs to another animation controller. Call this method to add an animation object to the animation controller. An object will be added to a group according to object's GroupID (see CAnimationBaseObject::SetID). The animation controller will create a new group if it's the first object being added with the specified GroupID. An animation object can be added to one animation controller only. If you need to add an object to another controller, call RemoveAnimationObject first. If you call SetID with new GroupID for an object that has been already added to a group, the object will be removed from the old group and added to another group with specified ID. A pointer to an animation object. Establishes a relationship between animation controller and a window. If a related CWnd object is set, the animation controller can automatically update it (send WM_PAINT message) when the status of animation manager has changed or timer post update event has occurred. A pointer to window object to set. Tells whether at least one group is playing animation. TRUE if there is an animation in progress for this animation controller; otherwise FALSE. Checks status of animation manager and returns TRUE if the status is UI_ANIMATION_MANAGER_BUSY. Directs the animation manager to update the values of all animation variables. Calling this method advances the animation manager to current time, changing statuses of storyboards as necessary and updating any animation variables to appropriate interpolated values. Internally this method calls IUIAnimationTimer::GetTime(timeNow) and IUIAnimationManager::Update(timeNow). Override this method in a derived class to customize this behavior. Sets or releases a handler for timing events and handler for timing updates. TRUE if handlers were successfully set or released; FALSE if this method is called for a second time without releasing the handlers first, or if any other error occurs. When the handlers are set (enabled) Windows Animation API calls OnAnimationTimerPreUpdate, OnAnimationTimerPostUpdate, OnRenderingTooSlow methods. You need to enable animation timers to allow Windows Animation API update storyboards. Otherwise you'll need to call CAnimationController::UpdateAnimationManager in order to direct the animation manager to update the values of all animation variables. Specifies whether to set or release the handlers. Specifies idle behavior for timer update handler. Sets or releases a handler for storyboard status and update events. TRUE if the handler was successfully set or released; FALSE if the specified animation group is now found or animation for the specified group has not been initiated and its internal storyboard is NULL. When a handler is set (enabled) Windows Animation API calls OnStoryboardStatusChanges and OnStoryboardUpdated virtual methods. A handler must be set after CAnimationController::Animate has been called for the specified animation group, because it creates encapsulated IUIAnimationStoryboard object. Specifies Group ID. Specifies whether to set or release a handler. Sets or releases the priority comparison handler to call to determine whether a scheduled storyboard can be cancelled, concluded, trimmed or compressed. TRUE if the handler was successfully set or released. When a handler is set (enabled) Windows Animation calls the following virtual methods depending on dwHandlerType: OnHasPriorityCancel, OnHasPriorityConclude, OnHasPriorityTrim, OnHasPriorityCompress. dwHandler can be a combination of the following flags: UI_ANIMATION_PHT_NONE - release all handlers UI_ANIMATION_PHT_CANCEL - set Cancel comparison handler UI_ANIMATION_PHT_CONCLUDE - set Conclude comparison handler UI_ANIMATION_PHT_COMPRESS - set Compress comparison handler UI_ANIMATION_PHT_TRIM - set Trim comparison handler UI_ANIMATION_PHT_CANCEL_REMOVE - remove Cancel comparison handler UI_ANIMATION_PHT_CONCLUDE_REMOVE - remove Conclude comparison handler UI_ANIMATION_PHT_COMPRESS_REMOVE - remove Compress comparison handler UI_ANIMATION_PHT_TRIM_REMOVE - remove Trim comparison handler A combination of UI_ANIMATION_PHT_ flags (see remarks), which specifies what handlers to set or release. Sets or releases a handler to call when animation manager's status changes. TRUE if the handler was successfully set or released. When a handler is set (enabled) Windows Animation calls OnAnimationManagerStatusChanged when animation manager's status changes. Specifies whether to set or release a handler. Returns a keyframe that identifies start of storyboard. A pointer to base keyframe, which identifies start of storyboard. Obtain this keyframe to base any other keyframes or transitions on the moment in time when a storyboard starts. Tells whether animation controller is valid. TRUE if animation controller is valid; otherwise FALSE. This method returns FALSE only if Windows Animation API is not supported on the current OS and creation of animation manager failed because it's not registered. You need to call GetUIAnimationManager at least once after initialization of COM libraries to cause setting of this flag. A pointer to IUIAnimationTransitionFactory interface or NULL, if creation of transition library failed. A pointer to IUIAnimationTransitionFactory or NULL, if creation of transition factory failed. If current OS does not support Windows Animation API, this method returns NULL and after that all subsequent calls on CAnimationController::IsValid return FALSE. Provides access to encapsulated IUIAnimationTimer object. A pointer to IUIAnimationTimer interface or NULL, if creation of animation timer failed. If current OS does not support Windows Animation API, this method returns NULL and after that all subsequent calls on CAnimationController::IsValid return FALSE. Provides access to encapsulated IUIAnimationTransitionLibrary object. A pointer to IUIAnimationTransitionLibrary interface or NULL, if creation of transition library failed. If current OS does not support Windows Animation API, this method returns NULL and after that all subsequent calls on CAnimationController::IsValid return FALSE. Provides access to encapsulated IUIAnimationManager object. A pointer to IUIAnimationManager interface or NULL, if creation of animation manager failed. If current OS does not support Windows Animation API, this method returns NULL and after that all subsequent calls on CAnimationController::IsValid return FALSE. You may need to access IUIAnimationManager in order to call its interface methods, which are not wrapped by animation controller. The destructor. Called when animation controller object is being destroyed. Constructs an animation controller. A keyframe that represents start of storyboard. A list of animation groups that belong to this animation controller. A pointer to a related CWnd object, which can be automatically redrawn when the status of animation manager has changed, or post update event has occurred. Can be NULL. Stores a pointer to Transition Factory COM object. Stores a pointer to Animation Timer COM object. Stores a pointer to Transition Library COM object. Stores a pointer to Animation Manager COM object. Specifies whether an animation controller is valid or not. This member is set to FALSE if current OS does not support Windows Animation API. Implements the animation controller, which provides a central interface for creating and managing UI animations. The CAnimationController class is the key class that manages animations. You may create one or more instances of animation controller in an application and, optionally, connect an instance of animation controller to a CWnd object using CAnimationController::SetRelatedWnd. This connection is required to send WM_PAINT messages to the related window automatically when animation manager status has changed or animation timer has been updated. If you do not enable this relation, you must redraw a window that displays an animation manually. For this purpose you can derive a class from CAnimationController and override OnAnimationManagerStatusChanged and/or OnAnimationTimerPostUpdate and invalidate one or more windows when necessary. Specifies how to destroy animation objects. If this parameter is TRUE, animation objects will be destroyed automatically when the group is destroyed. Otherwise animation objects must be destroyed manually. The default value is FALSE. Set this value to TRUE only if all animation objects that belong to group are allocated dynamically with operator new. Specifies how to clear transitions from animation objects that belong to group. If this member is TRUE, transitions are removed automatically when an animation has been scheduled. Otherwise you need to remove transitions manually. Specifies how to destroy keyframes. If this value is TRUE, all keyframes are removed and destroyed; otherwise they are removed from the list only. The default value is TRUE. Points to animation storyboard. This pointer is valid only after call on Animate. Contains a list of keyframes. Contains a list of animation objects. Directs all animation objects that belong to group automatically destroy transitions. Set this value to FALSE only if you allocate transitions on the stack. The default value is TRUE, therefore it's highly recommended to allocate transition objects using operator new. Specifies how to destroy transitions. Schedules an animation at the specified time. TRUE if the method succeeds; FALSE if the method fails or if Animate has not been called with bScheduleNow set to FALSE. Call this function to schedule an animation at the specified time. You must call Animate with bScheduleNow set to FALSE first. A pointer to animation timer. Specifies time to schedule the animation. Animates a group. TRUE if the method succeeds; otherwise FALSE. This method creates an internal storyboard, creates and applies transitions and schedules an animation if bScheduleNow is TRUE. If bScheduleNow is FALSE, you need to call Schedule to start animation at the specified time. Finds an animation object that contains the specified animation variable. A pointer to animation object, or NULL if animation object is not found. A pointer to animation variable. Removes and optionally destroys all keyframes that belong to an animation group. If m_bAutodestroyKeyframes member is TRUE then keyframes are removed and destroyed, otherwise keyframes are just removed from the internal list of keyframes. Removes transitions from animation objects that belong to an animation group. If m_bAutoclearTransitions flag is set to TRUE, this method loops over all animation objects that belong to the group and calls CAnimationObject::ClearTransitions(FALSE). Applies transitions to animation objects. This method ASSERTS in debug mode if storyboard has not been created. It creates all transitions first, then adds "static" keyframes (keyframes that depend on offsets), adds transitions that do not depend on keyframes, adds keyframes depending on transitions and other keyframes, and at last adds transitions that depend on keyframes. Returns GroupID. A group identifier. The destructor. Called when an animation group is being destroyed. Constructs an animation group. A pointer to animation controller that creates a group. Specifies GroupID. A helper that creates COM transition objects. TRUE is the method succeeds, otherwise FALSE. A helper that adds transitions to a storyboard. A pointer to a storyboard COM object. Specifies whether this method should add to the storyboard transitions that depend on other keyframes. A helper that adds keyframes to a storyboard. A pointer to a storyboard COM object. Specifies whether this method should add to the storyboard keyframes that depend on other keyframes. A pointer to animation controller this group belongs to. A unique identifier of animation group. Implements an animation group, which combines an animation storyboard, animation objects and transitions to define an animation. Animation groups are created automatically by animation controller (CAnimationController) when you add animation objects using CAnimationController::AddAnimationObject. An animation group is identified by GroupID, which is usually taken as a parameter to manipulate animation groups. The GroupID is taken from the first animation object being added to a new animation group. An encapsulated animation storyboard is created after you call CAnimationController::AnimateGroup and can be accessed via public member m_pStoryboard. Puts the encapsulated animation variables into a list. When the function returns, it contains pointers to four CAnimationVariable objects representing coordinates of rectangle. Specifies whether the rectangle has fixed size. If this member is true, then the size of rectangle is fixed and right and bottom values are recalculated each time the top-left corner is moved according to the fixed size. Set this value to TRUE to easily move the rectangle around the screen. In this case transitions applied to right and bottom coordinates are ignored. The size is stored internally when you construct the object and/or call SetDefaultValue. By default this member is set to FALSE. Adds transitions for left, top, right and bottom coordinates. Call this function to add the specified transitions to the internal list of transitions to be applied to animation variables for each rectangle sides. When you add transitions, they are not applied immediately and stored in an internal list. Transitions are applied (added to a storyboard for a particular value) when you call CAnimationController::AnimateGroup. If you don't need to apply a transition to one of the rectangle sides, you can pass NULL. Specifies transition for the left side. Specifies transition for the top side. Specifies transition for the right side. Specifies transition for the bottom side. Converts a CAnimationRect to RECT. Current value of animation rectangle as RECT. This function internally calls GetValue. If GetValue for some reason fails, the returned RECT will contain default values for all rectangle coordinates. Assigns rect to CAnimationRect. It's recommended to do that before animation start, because this operator calls SetDefaultValue, which recreates the underlying COM objects for color components if they have been created. If you subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events. The new value of animation rectangle. Provides access to CAnimationVariable representing bottom coordinate. A reference to encapsulated CAnimationVariable representing bottom coordinate. You can call this method to get direct access to underlying CAnimationVariable representing the bottom coordinate. Provides access to CAnimationVariable representing right coordinate. A reference to encapsulated CAnimationVariable representing right coordinate. You can call this method to get direct access to underlying CAnimationVariable representing the right coordinate. Provides access to CAnimationVariable representing top coordinate. A reference to encapsulated CAnimationVariable representing top coordinate. You can call this method to get direct access to underlying CAnimationVariable representing the top coordinate. Provides access to CAnimationVariable representing left coordinate. A reference to encapsulated CAnimationVariable representing left coordinate. You can call this method to get direct access to underlying CAnimationVariable representing the left coordinate. Returns current value. TRUE, if the current value was successfully retrieved; otherwise FALSE. Call this function to retrieve the current value of animation rectangle. If this method fails or underlying COM objects for left, top, right and bottom have not been initialized, rect contains default value, which was previously set in constructor or by SetDefaultValue. Output. Contains the current value when this method returns. Returns the default values for rectangle's bounds. A CRect value containing defaults for left, right, top and bottom. Call this function to retrieve default value, which was previously set by constructor or SetDefaultValue. Sets default value. Use this function to set a default value to animation object. This methods assigns default values to rectangle's bounds. It also recreates underlying COM objects if they have been created. If you subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events. Specifies new default values for left, top, right and bottom. Constructs an animation rect object. The object is constructed with specified coordinates of each side, Object ID and Group ID. They can be changed later at runtime using SetDefaultValue and SetID. Specifies coordinate of left bound. Specifies coordinate of top bound. Specifies coordinate of right bound. Specifies coordinate of bottom bound. Specifies Group ID. Specifies Object ID. Specifies user-defined data. Constructs an animation rect object. The object is constructed with specified top-left corner coordinates and size of rectangle, Object ID and Group ID. They can be changed later at runtime using SetDefaultValue and SetID. Coordinate of top-left corner. Size of rectangle. Specifies Group ID. Specifies Object ID. Specifies user-defined data. Constructs an animation rect object. The object is constructed with specified rect coordinates, Object ID and Group ID. They can be changed later at runtime using SetDefaultValue and SetID. Specifies default rectangle. Specifies Group ID. Specifies Object ID. Specifies user-defined data. Constructs a CAnimationRect object. The object is constructed with default values for left, top, right and bottom, Object ID and Group ID, which will be set to 0. They can be changed later at runtime using SetDefaultValue and SetID. Specifies initial size of animation rectangle. The encapsulated animation variable that represents Bottom bound of animation rectangle. The encapsulated animation variable that represents Right bound of animation rectangle. The encapsulated animation variable that represents Top bound of animation rectangle. The encapsulated animation variable that represents Left bound of animation rectangle. Implements the functionality of a rectangle whose top, left, right and bottom sides can be animated. The CAnimationRect class encapsulates four CAnimationVariable objects and can represent in applications a rectangle. To use this class in application, just instantiate an object of this class, add it to animation controller using CAnimationController::AddAnimationObject and call AddTransition for each transition to be applied to left, right top and bottom coordinates. Puts the encapsulated animation variables into a list. When the function returns, it contains pointers to three CAnimationVariable objects representing red, green and blue components. Adds transitions for Red, Green and Blue components. Call this function to add the specified transitions to the internal list of transitions to be applied to animation variables representing color components. When you add transitions, they are not applied immediately and stored in an internal list. Transitions are applied (added to a storyboard for a particular value) when you call CAnimationController::AnimateGroup. If you don't need to apply a transition to one of the color components, you can pass NULL. Transition for Red component. Transition for Green component. Transition for Blue component. Converts a CAnimationColor to COLORREF. Current value of animation color object as COLORREF. This function internally calls GetValue. If GetValue for some reason fails, the returned COLORREF will contain default values for all color components. Assigns color to CAnimationColor. It's recommended to do that before animation start, because this operator calls SetDefaultValue, which recreates the underlying COM objects for color components if they have been created. If you subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events. Specifies new value Animation Color. Provides access to CAnimationVariable representing Blue component. A reference to encapsulated CAnimationVariable representing Blue component. You can call this method to get direct access to underlying CAnimationVariable representing Blue component. Provides access to CAnimationVariable representing Green component. A reference to encapsulated CAnimationVariable representing Green component. You can call this method to get direct access to underlying CAnimationVariable representing Green component. Provides access to CAnimationVariable representing Red component. A reference to encapsulated CAnimationVariable representing Red component. You can call this method to get direct access to underlying CAnimationVariable representing Red component. Returns current value. TRUE, if the current value was successfully retrieved; otherwise FALSE. Call this function to retrieve the current value of animation color. If this method fails or underlying COM objects for color components have not been initialized, color contains default value, which was previously set in constructor or by SetDefaultValue. Output. Contains the current value when this method returns. Returns the default values for color components. A COLORREF value containing defaults for RGB components. Call this function to retrieve default value, which was previously set by constructor or SetDefaultValue. Sets default value. Use this function to set a default value to animation object. This methods assigns default values to color components of animation color. It also recreates underlying COM objects if they have been created. If you subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events. Specifies new default values for red, green and blue components. Constructs an animation color object. The object is constructed with specified values for RGB components, Object ID and Group ID. They can be changed later at runtime using SetDefaultValue and SetID. Specifies default color. Specifies Group ID. Specifies Object ID. Specifies user-defined data. Constructs a CAnimationColor object. The object is constructed with default values for red, green, blue, Object ID and Group ID, which will be set to 0. They can be changed later at runtime using SetDefaultValue and SetID. The encapsulated animation variable that represents Blue component of animation color. The encapsulated animation variable that represents Green component of animation color. The encapsulated animation variable that represents Red component of animation color. Implements the functionality of a color whose red, green and blue components can be animated. The CAnimationColor class encapsulates three CAnimationVariable objects and can represent in applications a color. For example, you can use this class to animate colors of any object on the screen (like text color, background color etc). To use this class in application, just instantiate an object of this class, add it to animation controller using CAnimationController::AddAnimationObject and call AddTransition for each transition to be applied to Red, Green and Blue components. Puts the encapsulated animation variables into a list. When the function returns, it contains pointers to two CAnimationVariable objects representing the width and height. Adds transitions for Width and Height. Call this function to add the specified transitions to the internal list of transitions to be applied to animation variables for Width and Height. When you add transitions, they are not applied immediately and stored in an internal list. Transitions are applied (added to a storyboard for a particular value) when you call CAnimationController::AnimateGroup. If you don't need to apply a transition to one of dimensions, you can pass NULL. A pointer to transition for Width. A pointer to transition for Height. Converts a CAnimationSize to a CSize. Current value of animation size as CSize. This function internally calls GetValue. If GetValue for some reason fails, the returned size will contain default values for Width and Height. Assigns szSrc to CAnimationSize. Assigns szSrc to CAnimationSize. It's recommended to do that before animation start, because this operator calls SetDefaultValue, which recreates the underlying COM objects for Width and Height if they have been created. If you subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events. Refers to CSize or SIZE. Provides access to CAnimationVariable representing Height. A reference to encapsulated CAnimationVariable representing Height. You can call this method to get direct access to underlying CAnimationVariable representing Height. Provides access to CAnimationVariable representing Width. A reference to encapsulated CAnimationVariable representing Width. You can call this method to get direct access to underlying CAnimationVariable representing Width. Returns current value. TRUE, if the current value was successfully retrieved; otherwise FALSE. Call this function to retrieve the current value of animation size. If this method fails or underlying COM objects for Width and Size have not been initialized, szValue contains default value, which was previously set in constructor or by SetDefaultValue. Output. Contains the current value when this method returns. Returns the default values for Width and Height. A CSize object containing default values. Call this function to retrieve default value, which was previously set by constructor or SetDefaultValue. Sets default value. Use this function to set a default value to animation object. This methods assigns default values to Width and Height of animation size. It also recreates underlying COM objects if they have been created. If you subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events. Specifies new default size. Constructs an animation size object. The object is constructed with specified values for width, height, Object ID and Group ID. They can be changed later at runtime using SetDefaultValue and SetID. Specifies default size. Specifies Group ID. Specifies Object ID. Specifies user-defined data. Constructs an animation size object. The object is constructed with default values for width, height, Object ID and Group ID, which will be set to 0. They can be changed later at runtime using SetDefaultValue and SetID. The encapsulated animation variable that represents height of animation size. The encapsulated animation variable that represents width of animation size. Implements the functionality of a size object whose dimensions can be animated. The CAnimationSize class encapsulates two CAnimationVariable objects and can represent in applications a size. For example, you can use this class to animate a size of any two dimensional object on the screen (like rectangle, control etc). To use this class in application, just instantiate an object of this class, add it to animation controller using CAnimationController::AddAnimationObject and call AddTransition for each transition to be applied to Width and/or Height. Puts the encapsulated animation variables into a list. When the function returns, it contains pointers to two CAnimationVariable objects representing the X and Y coordinates. Adds transitions for X and Y coordinates. Call this function to add the specified transitions to the internal list of transitions to be applied to animation variables for X and Y coordinates. When you add transitions, they are not applied immediately and stored in an internal list. Transitions are applied (added to a storyboard for a particular value) when you call CAnimationController::AnimateGroup. If you don't need to apply a transition to one of coordinates, you can pass NULL. A pointer to transition for X coordinates. A pointer to transition for Y coordinate. Provides access to CAnimationVariable for Y coordinate. A reference to encapsulated CAnimationVariable representing Y coordinate. You can call this method to get direct access to underlying CAnimationVariable representing Y coordinate. Provides access to CAnimationVariable for X coordinate. A reference to encapsulated CAnimationVariable representing X coordinate. You can call this method to get direct access to underlying CAnimationVariable representing X coordinate. Converts a CAnimationPoint to a CPoint. Current value of CAnimationPoint as CPoint. This function internally calls GetValue. If GetValue for some reason fails, the returned point will contain default values for X and Y coordinates. Assigns ptSrc to CAnimationPoint. Assigns ptSrc to CAnimationPoint. It's recommended to do that before animation start, because this operator calls SetDefaultValue, which recreates the underlying COM objects for X and Y coordinates if they have been created. If you subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events. Refers to CPoint or POINT. Returns current value. TRUE, if the current value was successfully retrieved; otherwise FALSE. Call this function to retrieve the current value of animation point. If this method fails or underlying COM objects for X and Y coordinates have not been initialized, ptValue contains default value, which was previously set in constructor or by SetDefaultValue. Output. Contains the current value when this method returns. Returns the default values for X and Y coordinates. A point containing default value. Call this function to retrieve default value, which was previously set by constructor or SetDefaultValue. Sets default value. Use this function to set a default value to animation object. This methods assigns default values to X and Y coordinates of animation point. It also recreates underlying COM objects if they have been created. If you subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events. Specifies the default point value. Constructs CAnimationPoint object. Constructs CAnimationPoint object with specified properties. Specifies default point coordinates. Specifies Group ID. Specifies Object ID. Specifies user-defined data. Constructs CAnimationPoint object. Constructs CAnimationPoint object with default properties: default point coordinates, Group ID and Object ID are set to 0. The encapsulated animation variable that represents Y coordinate of animation point. The encapsulated animation variable that represents X coordinate of animation point. Implements the functionality of a point whose coordinates can be animated. The CAnimationPoint class encapsulates two CAnimationVariable objects and can represent in applications a point. For example, you can use this class to animate a position of any object on the screen (like text string, circle, point etc). To use this class in application, just instantiate an object of this class, add it to animation controller using CAnimationController::AddAnimationObject and call AddTransition for each transition to be applied to X and/or Y coordinates. Puts the encapsulated animation variable into a list. When the function returns, it contains a pointer to CAnimationVariable representing the animated value. Adds a transition to be applied to a value. Call this function to add a transition to internal list of transitions to be applied to an animation variable. When you add transitions, they are not applied immediately and stored in an internal list. Transitions are applied (added to a storyboard for a particular value) when you call CAnimationController::AnimateGroup. A pointer to transition object. Provides access to encapsulated animation variable. A reference to encapsulated animation variable. Use this method to access the encapsulated animation variable. From CAnimationVariable you get access to underlying IUIAnimationVariable object, whose pointer can be NULL if animation variable has not been created. Assigns an INT32 value to CAnimationValue. Assigns an INT32 value to CAnimationValue. This value is set as a default value for encapsulated animation variable. If you subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events. Specifies the value to be assigned to Animation Value. Assigns a DOUBLE value to CAnimationValue. Assigns a DOUBLE value to CAnimationValue. This value is set as a default value for encapsulated animation variable. If you subscribed this animation object to events (ValueChanged or IntegerValueChanged), you need to re-enable these events. Specifies the value to be assigned to Animation Value. Provides conversion between CAnimationValue and INT32. Current value of Animation Value as integer. Provides conversion between CAnimationValue and INT32. This method internally calls GetValue and doesn't check for errors. If GetValue fails, the returned value will contain a default value previously set in constructor or with SetDefaultValue. Provides conversion between CAnimationValue and DOUBLE. Current value of Animation Value. Provides conversion between CAnimationValue and DOUBLE. This method internally calls GetValue and doesn't check for errors. If GetValue fails, the returned value will contain a default value previously set in constructor or with SetDefaultValue. Retrieves the current value. TRUE if the current value was retrieved successfully; otherwise FALSE. Call this function to retrieve the current value. This implementation calls the encapsulated COM object, and if the call fails, this method returns the default value that was previously set in constructor or with SetDefaultValue. Output. When the function returns it contains a current value of animation variable. Retrieves the current value. TRUE if the current value was retrieved successfully; otherwise FALSE. Call this function to retrieve the current value. This implementation calls the encapsulated COM object, and if the call fails, this method returns the default value that was previously set in constructor or with SetDefaultValue. Output. When the function returns it contains a current value of animation variable. Sets default value. Use this method to set a default value. A default value is returned to application when animation has not been started and/or underlying COM object has not been created. If the underlying COM object encapsulated in CAnimationVarible was already created, this method recreates it, therefore you might need to call EnableValueChanged/EnableIntegerValueChanged methods again. Specifies the default value. Constructs a CAnimationValue object. Constructs CAnimationValue object with specified properties. Specifies default value. Specifies Group ID. Specifies Object ID. specifies user-defined data. Constructs a CAnimationValue object. Constructs CAnimationValue object with default properties: default value, Group ID and Object ID are set to 0. The encapsulated animation variable that represents animation value. Implements the functionality of animation object with one value. The CAnimationValue class encapsulates a single CAnimationVariable object and can represent in applications a single animated value. For example, you can use this class for animated transparency (fade effect), angle (to rotate objects), or for any other case when you need to create an animation depending on a single animated value. To use this class in application, just instantiate an object of this class, add it to animation controller using CAnimationController::AddAnimationObject and call AddTransition for each transition to be applied to the value. Establishes relationship between animation variables, contained in an animation object, and their container. This is a helper that can be used to establish relationship between animation variables, contained in an animation object, and their container. It loops over animation variables and sets a back pointer to a parent animation object to each animation variable. In the current implementation the actual relationship is established in CAnimationBaseObject::ApplyTransitions, therefore back pointers are not set until you call CAnimationGroup::Animate. Knowing the relationship may be helpful when you processing events and need to get a parent animation object from CAnimationVariable (use CAnimationVariable::GetParentAnimationObject). Collects pointers to contained animation variables. This is a pure virtual method that must be overridden in a derived class. An animation object, depending on its type, contains one or more animation variables. For example, CAnimationPoint contains two variables, for X and Y coordinates respectively. The base class CAnimationBaseObject implements some generic methods, which act on a list of animation variables: ApplyTransitions, ClearTransitions, EnableValueChangedEvent, EnableIntegerValueChangedEvent. These methods call GetAnimationVariableList, which is filled in a derived class with actual animation variables contained in a particular animation object, then loop over the list and perform necessary actions. If you create a custom animation object, you must add to lst all animation variables contained in that object. A list that must be filled with animation variables contained in an animation object. Determines whether an animation object contains a particular animation variable. TRUE if the animation variable is contained in the animation object; otherwise FALSE. This method can be used to determine whether an animation variable specified by pVariable is contained within an animation object. An animation object, depending on its type, may contain several animation variables. For example, CAnimationColor contains three variables, one for each color component (red, green and blue). When a value of animation variable has changed, Windows Animation API sends ValueChanged or IntegerValueChanged events (if enabled), and the parameter of this event is a pointer to interface IUIAnimationVariable of animation variable. This method helps to obtain a pointer to animation from a pointer to contained COM object. A pointer to animation variable. Sets up Integer Value Changed event handler. If the Integer Value Changed event handler is enabled, you can handle this event in CAnimationController::OnAnimationIntegerValueChanged method, which should be overridden in a CAnimationController-derived class. This method is called every time the animation integer value has changed. A pointer to a parent controller. Specifies whether to enable, or disable Integer Value Changed event. Sets up Value Changed event handler. If the Value Changed event handler is enabled, you can handle this event in CAnimationController::OnAnimationValueChanged method, which should be overridden in a CAnimationController-derived class. This method is called every time the animation value has changed. A pointer to a parent controller. Specifies whether to enable, or disable Value Changed event. Removes all related transitions. Removes all related transitions and destroys them if bAutodestroy or m_bAutodestroyTransitions flag is TRUE. Transitions should be destroyed automatically only if they are not allocated on the stack. If the above flags are FALSE, transitions are just removed from the internal list of related transitions. Specifies whether to destroy transition objects automatically, or just remove them from the related list. Adds transitions to storyboard with encapsulated animation variable. TRUE if transitions were added successfully. Adds related transitions, that have been added with AddTransition (overloaded methods in derived classes), to storyboard. A pointer to a storyboard. With FALSE this method adds only those transitions that do not depend on keyframes. Tells whether related transition are destroyed automatically. If TRUE, related transitions are destroyed automatically; if FALSE, transition objects should be deallocated by calling application. By default this flag is TRUE. Set this flag only if you allocated transition on the stack and/or transitions should be deallocated by the calling application. Sets a flag that orders to automatically destroy transitions. Set this flag only if you allocated transition objects using operator new. If for some reason transition objects are allocated on the stack, the auto destroy flag should be FALSE. By default this flag is TRUE. Specifies the auto destroy flag. Returns user defined data. A value of custom data. Call this method to retrieve the custom data at runtime. The returned value will be 0 if it was not explicitly initialized in constructor or with SetUserData. Returns current Group ID. Current Group ID. Use this method to retrieve Group ID. It's 0 if Group ID has not been set explicitly in constructor or with SetID. Returns current Object ID. Current Object ID. Use this method to retrieve Object ID. It's 0 if Object ID has not been set explicitly in constructor or with SetID. Detaches an animation object from parent animation controller. This method is used internally. Sets user-defined data. Use this method to associate a custom data with an animation object. This data may be retrieved later at runtime by GetUserData. Specifies the custom data. Sets new IDs. Allows to change Object ID and Group ID. If the new Group ID differs from the current ID, an animation object is moved to another group (a new group will be created, if necessary). Specifies new Object ID. Specifies new Group ID. Creates transitions associated with an animation object. TRUE if transitions were created successfully; otherwise FALSE. Loops over list of animation variables encapsulated in a derived animation object and creates transitions associated with each animation variable. The destructor. Called when an animation object is being destroyed. Constructs an animation object. Constructs an animation object with specified Object ID and Group ID. Specifies Group ID. Specifies Object ID. User-defined data, which can be associated with animation object and retrieved later at runtime. Constructs an animation object. Constructs an animation objects and assigns default Object ID (0) and Group ID (0). A pointer to the parent animation controller. Specifies whether related transitions should be automatically destroyed. Stores user-defined data. Specifes the Object ID of the animation object. Specifies the Group ID of the animation object. The base class for all animation objects. This class implements basic methods for all animation objects. An animation object can represent a value, point, size, rectangle or color in an application, as well as any custom entity. Animation objects are stored in animation groups (see CAnimationGroup). Each group can be animated separately and can be treated as an analogue of storyboard. An animation object encapsulates one or more animation variables (see CAnimationVariable), depending on its logical representation. For example, CAnimationRect contains four animation variables - one variable for each side of rectangle. Each animation object class exposes overloaded AddTransition method, which should be used to apply transitions to encapsulated animation variables. An animation object can be identified by Object ID (optionally) and by Group ID. A Group ID is necessary in order to place an animation object to correct group, but if a Group ID is not specified, an object is placed in the default group with ID 0. If you call SetID with different GroupID, an animation object will be moved to another group (a new group is created if necessary). Specifies whether related transition objects should be deleted. Set this value to TRUE to force deletion of transition objects when they are being removed from the internal list of transitions. If this value is FALSE the transitions should be deleted by calling application. The list of transitions is always cleared after an animation has been scheduled. The default value is FALSE. Returns default value. The default value. Use this function to obtain default value of animation variable. The default value can be set in constructor or by SetDefaultValue method. Enables or disables the IntegerValueChanged event. When ValueChanged event is enabled, the framework calls virtual method CAnimationController::OnAnimationIntegerValueChanged. You need to override it in a class derived from CAnimationController in order to process this event. This method is called every time the integer value of animation variable is changed. A pointer to parent controller. TRUE - enable event, FALSE - disable event. Enables or disables the ValueChanged event. When ValueChanged event is enabled, the framework calls virtual method CAnimationController::OnAnimationValueChanged. You need to override it in a class derived from CAnimationController in order to process this event. This method is called every time the value of animation variable is changed. A pointer to parent controller. TRUE - enable event, FALSE - disable event. Adds transitions from the internal list to storyboard. This method adds transitions from the internal list to storyboard. It's called from the top level code several times to add transitions that do not depend on keyframes and add transitions that depend on keyframes. If the underlying animation variable COM object has not been created, this method creates it at this stage. A pointer to parent animation controller. A pointer to storyboard. TRUE, if this method should add transitions that depend on keyframes. Clears transitions. This method removes all transitions from the internal list of transitions. If bAutodestroy is TRUE, or m_bAutodestroyTransitions is TRUE, then transitions are deleted. Otherwise the caller should deallocate the transition objects. Specifies whether this method should delete transition objects. Adds a transition. This method is called to add a transition to the internal list of transitions to be applied to the animation variable. This list should be cleared when an animation has been scheduled. A pointer to a transition to add. Returns the current value of animation variable. S_OK if the value was obtained successfully, or underlying animation variable has not been created. Otherwise HRESULT error code. This method can be called to retrieve the current value of animation variable. If the underlying COM object has not been created, dblValue will contain a default value, when the function returns. The current value of the animation variable. Returns the current value of animation variable. S_OK if the value was obtained successfully, or underlying animation variable has not been created. Otherwise HRESULT error code. This method can be called to retrieve the current value of animation variable. If the underlying COM object has not been created, dblValue will contain a default value, when the function returns. The current value of the animation variable. Creates all transitions to be applied to this animation variable. TRUE if transitions were created successfully; otherwise FALSE. This method is called by the framework when it needs to create transitions that have been added to the variable's internal list of transitions. A pointer to transition library. A pointer to transition factory. Creates the underlying animation variable COM object. TRUE if the animation variable was successfully created; otherwise FALSE. This method creates the underlying animation variable COM object and sets its default value. A pointer to animation manager. Sets default value and releases IUIAnimationVariable COM object. Use this method to reset the default value. This method releases the internal IUIAnimationVariable COM object, therefore when animation variable is recreated, the underlying COM object gets the new default value. The default value is returned by GetValue if the COM object representing the animation variable is not created, or if the variable has not been animated. Specifies the new default value. Returns a pointer to IUIAnimationVariable COM object. A valid pointer to IUIAnimationVariable COM object, or NULL if animation variable was not created, or can't be created. Use this function to access the underlying IUIAnimationVariable COM object and call its methods directly if needed. Returns the parent animation object. A pointer to parent animation object, if relationship was established, otherwise NULL. This method can be called to retrieve a pointer to a parent animation object (a container). The destructor. Called when a CAnimationVariable object is being destroyed. Constructs an animation variable object. Constructs an animation variable object and sets its default value. A default value is used when a variable is not animated, or can't be animated. Specifies the default value. Sets the relationship between an animation variable and an animation object. This method is called internally to establish one-to-one relationship between an animation variable and an animation object that encapsulates it. A pointer to an animation object that contains this variable. A pointer to an animation object that encapsulates this animation variable. Contains a list of transitions that animate this animation variable. Specifies the default value, which is propagated to IUIAnimationVariable. Stores a pointer to IUIAnimationVariable COM object. NULL if the COM object has not been created yet, or if creation failed. Represents an animation variable. The CAnimationVariable class encapsulates IUIAnimationVariable COM object. It also holds a list of transitions to be applied to the animation variable in a storyboard. CAnimationVariable objects are embedded to animation objects, which can represent in an application an animated value, point, size, color and rectangle. Adds a keyframe to storyboard at offset. TRUE, if keyframe was added successfully. This function is called by the framework to add a keyframe to storyboard at offset. A pointer to a storyboard. Specifies whether to add a keyframe this keyframe depend on recursively. Adds a keyframe to storyboard after transition. TRUE, if keyframe was added successfully. This function is called by the framework to add a keyframe to storyboard after transition. A pointer to a storyboard. Specifies whether to add a transition recursively. Adds a keyframe to a storyboard. TRUE, if keyframe was added successfully. This method adds a keyframe to storyboard. If it depends on other keyframe or transition and bDeepAdd is TRUE, this method tries to add them recursively. A pointer to a storyboard. Specifies whether to add keyframe or transition recursively. Returns an offset from other keyframe. An offset in seconds from other keyframe. This method should be called to determine an offset in seconds from other keyframe. Returns a pointer to a keyframe this keyframe depends on. A valid pointer to keyframe, or NULL if this keyframe does not depend on other keyframe. This is an accessor to a keyframe this keyframe depends on. Returns a pointer to a transition this keyframe depends on. A valid pointer to transition, or NULL if this keyframe does not depend on transition. This is an accessor to a transition this keyframe depends on. Constructs a keyframe that depends on other keyframe. The constructed keyframe will represent a moment in time within a storyboard, which has a specified offset from pKeyframe. A pointer to keyframe. Offset, in seconds, from keyframe specified by pKeyframe. Constructs a keyframe that depends on a transition. The constructed keyframe will represent a moment in time within a storyboard when the specified transition ends. A pointer to a transition. Stores a pointer to an existing keframe. This keyframe is added to storyboard with m_offset to the existing keyframe. Specifies offset of this keyframe from a keyframe stored in m_pExistingKeyFrame. Stores a pointer to transtion that begins at this keyframe. Represents an animation keyframe. This class implements an animation keyframe. A keyframe represents a moment in time within a storyboard and can be used to specify the start and end times of transitions. A keyframe may be based on other keyframe and have an offset (in seconds) from it, or may be based on a transition and represent a moment in time when this transition ends. Adds a keyframe to storyboard. TRUE if keyframe was added to storyboard successfully; otherwise FALSE. This method is called to add a keyframe to storyboard. A pointer to a storyboard. If this parameter is TRUE and the keyframe being added depends on some other keyframe or transition, this method tries to add this keyframe or transition to storyboard first. Specifies whether the keyframe should be added to storyboard at offset, or after transition. TRUE if the keyframe should be added to storyboard at some specified offset. FALSE if the keyframe should be added to storyboard after some transition. Specifies whether the keyframe should be added to storyboard at offset. The offset or transition must be specified in a derived class. Tells whether a keyframe has been added to storyboard. TRUE if a keyframe is added to a storyboard; otehrwise FALSE. In the base class IsAdded always returns TRUE, but it's overridden in derived classes. Returns the underlying keyframe value. A current keyframe. The default value is UI_ANIMATION_KEYFRAME_STORYBOARD_START. This is an accessor to the underlying keyframe value. Constructs a keyframe object. Specifies whether this keyframe should be added to storyboard at an offset from another existing keyframe, or at the end of some transition. Specifies whether this keyframe has been added to a storyboard. Represents a Windows Animation API keyframe. When a keyframe is not initialized it is set to the predefined value UI_ANIMATION_KEYFRAME_STORYBOARD_START. Implements basic functionality of keyframe. Encapsulates UI_ANIMATION_KEYFRAME variable. Serves as a base class for any keyframe implementation. A keyframe represents a moment in time within a storyboard and can be used to specify the start and end times of transitions. There are two types of keyframes - keyframes added to storyboard at the specified offset (in time), or keyframes added after specified transition. Because durations of some transitions can't be known before animation starts, the actual values of some keyframes are determined at runtime only. Because keyframes may depend on transitions, which in their turn depend on keyframes, it's important to prevent infinite recursions when building keyframe chains. Specifies whether a transition has been added to a storyboard. A pointer to an animation variable, which is animated with the transition stored in m_transition. Stores a pointer to the keyframe that specifies the end of the transition. Stores a pointer to the keyframe that specifies the beginning of the transition. Stores a pointer to IUIAnimationTransition. NULL if a COM transition object has not been created. Stores the transition type. Adds a transition to a storyboard. TRUE, if transition was successfully added to a storyboard. Applies the transition to the related variable in the storyboard. If the start keyframe was specified, the transition begins at that keyframe. If the end keyframe was specified, the transition begins at the start keyframe and and stops at the end keyframe. If the transition was created with a duration parameter specified, that duration is overwritten with the duration of time between the start and end keyframes. If no keyframe was specified, the transition is appended to the transition added most recently to the variable. A pointer to storyboard, which will animate the related variable. Adds a transition to a storyboard. TRUE, if transition was successfully added to a storyboard. Applies the transition to the related variable in the storyboard. If this is the first transition applied to this variable in this storyboard, the transition begins at the start of the storyboard. Otherwise, the transition is appended to the transition added most recently to the variable. A pointer to storyboard, which will animate the related variable. Returns a pointer to related variable. A valid pointer to animation variable, or NULL if an animation variable has not been set by SetRelatedVariable. This is an accessor to related animation variable. Establishes a relationship between animation variable and transition. Establishes a relationship between animation variable and transition. A transition can be applied only to one variable. A pointer to related animation variable. Returns start keyframe. A valid pointer to a keyframe, or NULL if a transition should not be inserted between keyframes. This method can be used to access a keyframe object that was previously set by SetKeyframes. It's called by top level code when transitions are being added to storyboard. Returns start keyframe. A valid pointer to a keyframe, or NULL if a transition should not start after a keyframe. This method can be used to access a keyframe object that was previously set by SetKeyframes. It's called by top level code when transitions are being added to storyboard. Tells whether a transition has been added to a storyboard. Returns TRUE if a transition has been added to a storyboard, otherwise FALSE. This flag is set internally when the top level code adds transitions to storyboard. Sets keyframes for a transition. This method tells the transition to start after specified keyframe and, optionally, if pEnd is not NULL, end before the specified keyframe. If the transition was created with a duration parameter specified, that duration is overwritten with the duration of time between the start and end keyframes. A keyframe that specifies the beginning of the transition. A keyframe that specifies the end of the transition. Returns a pointer to underlying COM transition object. A valid pointer to IUIAnimationTransition or NULL if underlying transition can't be created. It's an accessor method to underlying COM transition object. It doesn't instantiates the underlying IUIAnimationTransition COM object if it wasn't created. Returns a pointer to underlying COM transition object. A valid pointer to IUIAnimationTransition or NULL if underlying transition can't be created. This method returns a pointer to underlying COM transition object and creates it if necessary. A pointer to transition library, which creates standard transitions. It can be NULL for custom transitions. A pointer to transition factory, which creates custom transitions. It can be NULL for standard transitions. Creates a COM transition. TRUE if a transition COM object was created successfully; otherwise FALSE. This is a pure virtual function that must be overridden in a derived class. It's called by the framework to instantiate the underlying COM transition object. A pointer to transition library, which creates standard transitions. It can be NULL for custom transitions. A pointer to transition factory, which creates custom transitions. It can be NULL for standard transitions. Returns transition type. One of TRANSITION_TYPE enumerated values. This method can be used to identify a transition object by its type. The type is set in a constructor in a derived class. Releases encapsulated IUIAnimationTransition COM object. This method should be called from a derived class's Create method in order to prevent IUITransition interface leak. The destructor. Called when a transition object is being destroyed. Constructs a base transtion object. Defines the transition types currently supported by the MFC implementation of Windows Animation API. A transition type is set in the constructor of specific transition. For example, CSinusoidalTransitionFromRange sets its type to SINUSOIDAL_FROM_RANGE. Represents a basic transition. This class encapsulates IUIAnimationTransition interface and serves as a base class for all transitions. Manages the element select sub menu and inserts them as a popup to the context menu that specified (namely ArrowEditor and MFCTreeView). Return in pIdArr all elements that have typeId as their type (as defined by what shows up in the Type Selector). If optionId is valid, find only the elements in the specified Design Option; otherwise (default), find all. If pDBView is set, find only in the elements of the DBView; otherwise (default), find in the entire model. Exclude elements not meaningful to the end user: a) Exclude elements in sketches and families. b) Exclude invisible stuff like symbols, surrogates, and invisible balusters. c) Exclude anything in a Legend View. d) Exclude anything that is filtered out by box-selection filter chain. Return the number found. The full path to the Revit Macros module. This path should be used instead of the .NET GetExecutingAssembly() result, because the Macros module is loaded in such a way to make that result unreliable. For Revit Macros internal use only. For Revit Macros internal use only. For Revit Macros internal use only. For Revit Macros use only. NOTE: Do not add any more options to this Options class. Instead derive your own class from 'OptionsBundle'. This is the unloaded event handler and raised when the control is removed from within an element tree of loaded elements (dispose the control explicitly by users). This method is called if the user explicitly disposes of the object (by calling the Dispose method in other managed languages, or the destructor in C++). The visibility of the preview view scrollbars. 2014 The UI view representing the preview view. Use this handle to manipulate the zoom and pan of the view. 2014 The view Id. 2013 Constructs a preview control. The document. The view id want to browse in this control. Thrown when dbDocument or viewId is . Thrown when the given document is a linked document or the given viewId is invalid or the view is a schedule or other non-graphical view such as schedule views or the project browser view. Thrown when there is an active preview control already. 2013 Presents a preview control to browse the Revit model. The dialog or form or window host this preview control must be modal. The view can be any graphical view but not a non-graphical view. And only one can be active. The view can be manipulated by embedded view cube and the visibility and graphical settings set on the view will be evident in the preview control. 2013 The visibility of the preview view scrollbars. Destroy the window and release the modal scope and update the active view to NULL. Creates the Hwnd of given db view as the child of hwndParent. Constructs the Preview host window to interop with win32 control. Hosts a Win32 window as an element within Windows Presentation Foundation (WPF) content. Lists all the visibility types of the scrollbar in the preview view. 2014 The both scrollbars are visible. The vertical scrollbar is visible. The horizontal scrollbar is visible. No scrollbars are visible. Store all the ObjectHandlers to the availability command. In order to enhance the performance, we just create ObjectHandler for each availability command only once. Implement this method to provide control over whether your external command is enabled or disabled. Indicates whether Revit should enable or disable the corresponding external command. This callback will be called by Revit's user interface any time there is a contextual change. Therefore, the callback must be fast and is not permitted to modify the active document and be blocking in any way. An ApplicationServices.Application object which contains reference to Application needed by external command. An list of categories of the elements which have been selected in Revit in the active document, or an empty set if no elements are selected or there is no active document. An interface that should be implemented to provide the implementation for a accessibility check for a Revit add-in External Command. This interface should share the same assembly with add-in External Command. Overload this method to implement and external command within Revit. The result indicates if the execution fails, succeeds, or was canceled by user. If it does not succeed, Revit will undo any changes made by the external command. An ExternalCommandData object which contains reference to Application and View needed by external command. Error message can be returned by external command. This will be displayed only if the command status was "Failed". There is a limit of 1023 characters for this message; strings longer than this will be truncated. Element set indicating problem elements to display in the failure dialog. This will be used only if the command status was "Failed". An interface that should be implemented to provide the implementation for a Revit add-in External Command. To add an external command to Autodesk Revit the developer should implement an object that supports the IExternalCommand interface. Constructs a new instance of SplitButtonData. The internal name of the new button. The user visible text seen on the new button. This text will be displayed on the button if drop-down is empty. If sub-items are added, then the split button will display the current PushButton's text. Thrown when is passed for one or more arguments. Thrown when an empty string is passed for one or more arguments. 2011 This class contains information necessary to construct a split button in the Ribbon. 2011 Gets or sets the current PushButton of the SplitButton. This property is applicable only if IsSynchronizedWithCurrentItem is true. The default value of this property will be the first enabled PushButton in the drop down list after the SplitButton is shown. Thrown when trying to set the CurrentButton to . Thrown when trying to set the CurrentButton to a button which is not in current drop-down list. Thrown when trying to set the CurrentButton if IsSynchronizedWithCurrentItem is false. 2011 Indicates whether the top PushButton on the SplitButton changes based on the CurrentButton property. If this property is true the SplitButton uses the current PushButton's properties to display the image, text, tooltip, etc. and executes the current item when clicked. If it is false the first listed PushButton in the GetItems() return is shown, and executes this PushButton when clicked. If it is false the items in drop down list can only be executed by opening the drop down list and clicking an item in the list. The default value is true. 2011 The SplitButton object represents a button with a clickable button appearing above a pulldown. Use of this class is not supported in Revit Macros. 2011 Launches the UI managing the ViewSheetSet. Document to manage ViewSheetSet for. The default view sheet set id. The hwnd of parent window for dialog A non-optional argument was null Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The UI on managing ViewSheetSet. Gets the corners of the view's rectangle. The two points that define the corners of the view's rectangle in model coordinates. 2013 Zoom and center the view to a specified rectangle. A corner of the desired view rectangle in model coordinates. The opposite corner of the desired view rectangle in model coordinates. A non-optional argument was null 2013 Zoom to the sheet size. 2013 Zoom the view. Factor by which to zoom in or out. Values greater than 1 zooms in, less than 1 zooms out. zoomFactor is not positive. 2013 Zoom the view to fit its contents. 2013 Closes the view. Cannot close a project's only open view. 2013 Gets the rectangle containing the coordinates of the view's drawing area. The rectangle of the view window. 2013 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The id of the View associated with a UIView. 2013 A class containing data about view windows in the Revit user interface. 2013 Prepare data for pipe editor. The pipe type id. The system type id. The pipe size, the value is a pre-defined list in Revit. A non-optional argument was null 2017.2 General UI utility methods in Revit UI. 2017.2 Checks if Change Service can finish or not. The document. Gets whether Change Service can finish or not. A non-optional argument was null 2016 Sets if finishing Change Service is allowed or not. The document. Sets whether we can finish Change Service or not. A non-optional argument was null 2016 Cancels the service and size swap out modes. 2016 Finishes the service and size swap out modes. 2016 Sets the shape information to select the elements in the model from moused-over shapes. The document. The fabrication service identifier. The shape of the parts to be selected. A non-optional argument was null A value passed for an enumeration argument is not a member of that enumeration 2016 Sets the required information to select the part types in the model from the moused-over fittings. The document. The part type Id. Pass -1 to select none. A non-optional argument was null 2016 Sets the service id to select the elements in the model from the moused-over service. The document. The service id. A non-optional argument was null 2016 Sets the required information to select the elements in the model from the moused-over sizes. The document. The fabrication service identifier. The shape of the parts to be selected. The width or diameter of the parts to be selected. The depth of the parts to be selected. Pass 0 if the profile type is Round. A non-optional argument was null A value passed for an enumeration argument is not a member of that enumeration 2016 Sets the service swap out size mappings The document. The service swap out size mappings. A non-optional argument was null 2019 Sets the service swap out part type mappings The document. The service swap out part type mappings. A non-optional argument was null 2019 Sets the restrict service palette state for service swap out. The document. The restrict service palette state, when enabled the service swap out will only use the assigned palette index. A non-optional argument was null 2016 Sets the service palette for service swap out. The document. The service palette index. A non-optional argument was null 2016 Sets the service for service swap out. The document. The service id. A non-optional argument was null 2016 Gets the condition description for a service button's sizing condition. The document used to extract unit information from. The fabrication service button to query. The condition index of the fabrication service button to query. The formatting options to use to format size text. A non-optional argument was null 2017 The mouse leaves the fabrication route and fill part browser. The document. A non-optional argument was null 2016 The fabrication route and fill part types are changed from the fabrication part browser, so the available solutions are needed to updated. The document. The fabrication part type id that must be included in the route and fill solutions.If the id is invalid, it will be ignored. The fabrication part type id that may or mat not be included from the route and fill solutions. If the id is invalid, will be ignored. The fabrication part type id that is currently selected in the Fabrication Part Browser. A non-optional argument was null 2016 A non-optional argument was null 2016 A non-optional argument was null 2016 A non-optional argument was null 2016 full path, as returned by getFabricationExports the parts that will be exported. whether the export was successful A non-optional argument was null A value passed for an enumeration argument is not a member of that enumeration 2016 shows modal UI to setup all fabrication exports of the specified type. used if user clicks 'export now' returns whether the user completed the UI successfully. A non-optional argument was null A value passed for an enumeration argument is not a member of that enumeration 2016 dictionary of path / description pairs, where path is the unique key. A non-optional argument was null A value passed for an enumeration argument is not a member of that enumeration 2016 A non-optional argument was null A value passed for an enumeration argument is not a member of that enumeration 2016 returns if any reports were printed A non-optional argument was null 2016 set path where qrcode and barcode Dlls can be found A non-optional argument was null 2016 returns if the configuration was changed A non-optional argument was null 2016 we need the for fabrication setting form when user clicked sync with source and cancel the form. when the internal rebuildLoadedDatabase is not called because transaction was rolled back, but we need the reload the workspace A non-optional argument was null 2016 checks if the fabrication is connected to source A non-optional argument was null 2016 Checks if placing part is allowed or not. For example, placing part is not allowed if the document is not allowed to change. The document. True if placing part is allowed, false otherwise. A non-optional argument was null 2016 Checks if the current product discipline is LT. returns whether LT is the current product discipline. 2016 Checks if starting MPR is currently active The document. returns whether MPR is currently active A non-optional argument was null 2016 Sets if MPR is currently active or not. The document. sets whether MPR is valid for the current service palette. A non-optional argument was null 2016 Checks if starting MPR is allowed or not. The document. gets whether MPR is valid for the current service palette. A non-optional argument was null 2016 Sets if starting MPR is allowed or not. The document. sets whether MPR is valid for the current service palette. A non-optional argument was null 2016 Indicates whether it is in journal replaying mode. True if it is in journal replaying mode, false otherwise. 2016 Call to restart multi point routing service. A non-optional argument was null 2016 Call to start routing fabrication service. The Fabrication service. The Fabrication service palette index. checks the service palette is valid A non-optional argument was null 2016 Call to place a fabrication part from an item file. The document. The service Id to associate with the item file. The item file. A non-optional argument was null 2016 Call to place a fabrication part. The Fabrication service button. checks the service id, tab index and button index and makes sure they are valid A non-optional argument was null 2016 call to initialise what service / palette will be used if MPR command is initiated from outside the part browser. A non-optional argument was null 2016 Gets the color of the open connector indicator in away direction. 2017 Sets the color of the open connector indicator in away direction A non-optional argument was null 2017 Gets the color of the open connector indicator in towards direction. 2017 Sets the color of the open connector indicator in towards direction A non-optional argument was null 2017 Gets the color of the open connector indicator in plan view. 2017 Sets the color of the open connector indicator in plan view. A non-optional argument was null 2017 General Fabrication UI utility methods in Revit UI. 2016 Types of Fabrication Exports Linear Nest Export type Ancillary export type Item export type Types of Fabrication Reports linear nest reports 3D worksheets ancillary reports part worksheets airturn labels decoiler labels nest labels item worksheets item labels oversize labels machine usage nest prints nest prints part labels item reports nest prints Unknown report type Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 Identifies if UI should show an overwrite warning dialog. True if the UI should show a warning dialog prompting the user to overwrite a file if it exists, False if it should not. Default is false. 2016 Default constructor. 2016 This class contains UI options available for saving a document to disk with a new filename. 2016 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 A static property defining if the 'Thin Lines' setting is on or off in current Revit Application Session. If user started multiple Revit sessions, and the 'Thin Lines' setting might be different in each session. Revit.ini file stores the lastest setting no matter what the Revit session is. The setting will be writen to Revit.ini if user set the value. 2015 Subscription Update A utility class containing setting related to the Thin Lines option which affects the display in the UI. 2015 Subscription Update Returns the current Revit instance's TextEditorOptions. The TextEditorOptions for the current Revit instance. 2017 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 Show opaque background behind the text during editing. If false, the background will be opaque or not depending on the edited text note's type Background setting. If true, the background behind the text will always be opaque during editing. 2017 Show the border box around the text during editing. If false, the border will appear or not depending on the edited text note's type Show Border setting. If true, the border will always appear during editing regardless of type settings. 2017 Provides access to settings that control Revit's Text Editor appearance and functionality. These settings are stored in the Revit.ini file. All documents in Revit instances which use this Revit.ini will follow these settings. 2017 Prompts the end-user to control whether a type parameter contained in the specified table cell should be allowed edited. If the specified cell contains an instance parameter, the method automatically returns true without prompting the user. For type parameters, a task dialog will be shown and the user's choice will be returned. The table view. The section the row lies in. The row index in the section. The column index in the section. Returns true if editing the cell is allowed; otherwise false. A non-optional argument was null The given row number row is invalid. -or- The given column number column is invalid. -or- A value passed for an enumeration argument is not a member of that enumeration 2016 This utility class contains members that involve the Revit UI and operate on schedule views or MEP electrical panel schedules. 2016 Shows the SetupEnergySimulationDialog to the user as a modal dialog. One of the values. 2016 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The name of the analysis run that was supplied by the user. This value is only valid after has been called. 2016 The identifier of the project (on the Green Building Studio server) that was selected by the user. This value is only valid after has been called. A negative value indicates that no project was selected. 2016 The project name (representing a project on the Green Building Studio server) selected or supplied by the user. This value is only valid after has been called. 2016 Constructs a new instance of the SetupEnergySimulationDialog class. The user has not signed in to their Autodesk account. 2016 The Revit dialog which typically precedes invocation of an Energy Simulation run on the Green Building Studio server.

Add-ins can invoke this dialog to collect the name and id of a Green Building Studio project and the name of an analysis run from the user. When the user chooses these values and opts to Continue, control returns the add-in to use the values the user has selected. No Green Building Studio run is automatically invoked by the user's actions in the dialog when it is prompted by the add-in.

This class can be instantiated only when the user is logged in to their Autodesk account.
2016
Specifies identifiers to indicate the return value of the SetupEnergySimulationDialog 2016 2016 The user chose to cancel out of the dialog. The user chose to continue from the dialog. Checks whether the specified element will be treated as pinned for the purposes of selection. To improve usability, the option to disable pinned selection has some additional intelligence beyond simply checking the pinned status. For example, if a model group is pinned, the corresponding attached detail group will also be treated as pinned for the purposes of selection. If this method returns true, the specified element will not be selectable when selection of pinned elements is disabled. The document containing the element. The element to check. True if the specified element should be treated as pinned for selection purposes, false otherwise. A non-optional argument was null 2016 Returns the current user's SelectionOptions. The SelectionOptions for the current user. 2016 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 Indicates whether pinned elements can be selected. When this setting is false, the user cannot select most pinned elements in canvas. This option helps users avoid accidentally moving important pinned objects such as levels and grids. When this option is true, the user can select pinned elements directly.

Note that to improve usability, the behavior of this option has some added intelligence beyond simply checking whether the element is pinned. For example, if a model group is pinned, the corresponding attached detail group is not selectable if selection of pinned elements is disabled. To check whether a particular element is pinned for purposes of this setting, see .

2016
Indicates whether elements can be dragged immediately when they are selected. When this setting is false, the user must click once to select an element and then must explicitly click again in order to drag the element. This option helps users avoid accidentally moving elements. When this setting is true, the user can click on an element to select it and drag the element immediately by holding down the mouse. 2016 Indicates whether elements that are displayed as underlay can be selected. When this setting is false, if an element is displayed as underlay in a view then the user will not be able to select it in that view. The element may still be selected in views where it is not displayed as underlay. When this setting is true, elements that are displayed as underlay may still be selected. 2016 Indicates whether Revit and CAD link instances can be selected. When this setting is false, users cannot directly select link instances or elements within them in the canvas. This makes it easy for the user to avoid accidentally selecting and moving links. When this setting is true, users can select link instances. 2016 Indicates whether elements can be selected by clicking on the interior of a face. When this setting is false, users must click on an edge or vertex of an element in order to select the corresponding element. When it is true, users may also select elements by clicking on the interior of a face of an element. 2016 Provides access to user settings related to how selection will behave in Revit's UI. The settings in this class define how selection will behave when the user is selecting one or more elements in a graphical view. These settings do not affect programmatic selection behavior. Some UI commands may override the user's settings while the command is active.

These settings are per user and will affect the selection behavior in all projects and families. The settings are not stored in the project.

2016
Constructs a new instance of an SelectableInViewFilter, with the option to pass all non-selectable elements. The document that owns the view. The view id. True if the filter should match all elements not selectable in the given view. viewId is not a view. -or- viewId is not valid for element iteration, because it has no way of representing drawn elements. Many view templates will fail this check. A non-optional argument was null 2015 Constructs a new instance of an SelectableInViewFilter. The document that owns the view. The view id. viewId is not a view. -or- viewId is not valid for element iteration, because it has no way of representing drawn elements. Many view templates will fail this check. A non-optional argument was null 2015 A filter that passes elements that are selectable in the given view. This filter is a slow filter. Slow filters require that the Element be obtained and expanded in memory first. Thus it is preferable to couple this filter with at least one ElementQuickFilter, which should minimize the number of Elements that are expanded. This filter is designed to operate on a list of elements visible in the given view. This can be obtained from a FilteredElementCollector constructed with the view id. This filter may not correctly restrict elements which are not a part of the visible elements of the view. 2015 This function reports any errors which were encountered when loading the Revit links represented by the given LinkLoadResult map.

If all links succeeded in loading, the function does nothing. If any links failed to load, this function will display the Unresolved References dialog, giving the user the option to open the Manage Links dialog to correct any problems.

To ensure the dialog fits on the screen, Revit will only list up to ten link names. Additional links will be mentioned as, "And >number< additional links." This is the same behavior Revit's user interface uses.

The document containing the links.

A map from the display name of a link to the LinkLoadResult for that link.

A non-optional argument was null 2015
A class containing functions for displaying user interface related to Revit links. 2015 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 A utility class containing the Revit.ini options settings related to ribbon buttons 2020.1 Returns the default saving folder when open a central file. 2019 Indicates if recent file is disabled. Returns true if recent file is disabled, otherwise returns false. 2019 Returns sample files of Revit 2019 Returns most recent files of Revit 2019 A class contains data of Most Recent File . 2019 A non-optional argument was null 2019 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 If it is a cloud file. 2019 If it is a workshared file. 2019 The size of the recent file. 2019 The model type of the recent file. 2019 The last modified time of the recent file. 2019 The path of the thumbnail file. 2019 The extension type of the recent file. such as .rfa /.rvt 2019 The path of the cached file. If a cloud file, the path looks like "%USERPROFILE%\AppData\Local \Autodesk\Revit\{Revit Version}\CollaborationCache\YZVYJQWWXXXX {GUID}\{GUID}.rvt" if a local file, localPath and path are the same. 2019 The path of the recent file. If a cloud file, the path looks like "cld://region/{GUID}Shanghai%20Design%20Center/{GUID}4walls.rvt" If a local file, the path looks like "c:\4wall.rvt". 2019 The name of the recent file. If a cloud file, it looks like "Autodesk Docs://Shanghai Design Center/4walls.rvt" If a local file, path, localPath and name are all the same. 2019 The display Name of the recent file. such as 4walls (no extention) 2019 A class contains data of Revit File. 2019 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The placement type to be used if prompting to place an instance of a face-based family. This option is ignored if placing a non-face-based family. If placing a face-based family, Default is an acceptable value, but will correspond to the first available selection in the user interface. When setting this property: A value passed for an enumeration argument is not a member of that enumeration 2017 The sketch option provided when promt to place a family instance. When setting this property: A value passed for an enumeration argument is not a member of that enumeration 2017 If true, when placing an air terminal, the terminal will be placed directly on the duct without fittings. If fase, the terminal will be placed with generated fittings. 2015 Creates a copy of an existing options object. The options object. A non-optional argument was null 2015 Creates a new PromptForFamilyInstancePlacementOptions using default options. 2015 This class contains options to control the behavior of interactive placement of family instances. 2015 Releases a license for a given product obtained by . Product id. 2021 Checks if the user has a valid license for given product. This call will launch a sign in dialog and require the user to sign in order to complete the check if the user is not currently signed in. A valid license must be released by calling when Revit shuts down. Product id. True if the license for the given product is valid. 2021 Registers a product with the licensing component and returns an id of the product to be used when checking for a valid license. Product name. Product id. Feature id. Id of the product. A non-optional argument was null 2021 A collection of functions related to a product license checking. 2021 Create an new view sheet set View sheet set name to be created. View id(s) to be created with. ElementId is invalid if creates failed A non-optional argument was null Save the changes for the current view sheet set. The view sheet set to be saved. View id(s) to be saved with. False if Save operation fails, otherwise True. A non-optional argument was null Rename the current view sheet set. The view sheet set to be renamed. View sheet set name to be renamed as. False if Rename operation fails, otherwise True. A non-optional argument was null Delete the view sheet set The view sheet set to be deleted. False if Delete operation fails, otherwise True. A non-optional argument was null Sets the id of default view sheet set. The default view sheet set id. A non-optional argument was null Gets the id of default view sheet set. If default is in-session, the id is -1 The default view sheet set id. Sets the set of in-session views' id. The in-session view Id set. A non-optional argument was null Gets the set of in-session views's id. The in-session view Id set. Sets the parent hwnd Gets the parent hwnd The hwnd of parent window Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 UI data wrapper for ViewSheetSetData. Shows dialog on managing ViewSheetSet. The associated document. The data on initializing the dialog as well as getting the result. Whether or not the dialog launches successfully. Shows dialog on managing ViewSheetSet. The associated document. The data on initializing the dialog as well as getting the result. Whether or not the dialog launches successfully. The interface used to provide UI on managing ViewSheetSet. Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The unique index of the temporary graphics object managed by . 2022 The document. 2022 2022 The context data that can be provided to . 2022 Handles mouse click event on a given temporary graphics object managed by . The context data of the click event. 2022 Handles mouse click event on a given temporary graphics object managed by . The context data of the click event. 2022 Interface class for external server of . 2022 Transforms local coordinates of a point to page coordinates. Input the point local coordinates Return the transformed coordinates A non-optional argument was null Gets ARCQuery corresponding to the type and active view. PointCloudType from which to get the ARCQuery The returned pointer can be NULL if the ARCQuery is NULL A non-optional argument was null Takes point snaps from the instance of ISnappingServer and passes them to Revit. The points to add as snaps. A non-optional argument was null Takes line snaps from the instance of ISnappingServer and passes them to Revit. Lines are represented by two XYZs: first an origin, then a direction. Whether to project the lines to the work plane. For instance, if the line snaps represent planes, we want to project them. If they represent cylinders, we do not. If we project to the work plane, we also verify that the line is parallel to the work plane. the array lineSnaps has an odd number of entries and is hence not a valid line snap array, since lines are represented as an origin XYZ followed by a direction XYZ. A non-optional argument was null Given a PointCloudInstance, get those of its scans which are visible in the View in which snapping is being done. The PointCloudInstance to get scans from. The GUIDs of the scans of the given PointCloudInstance visible in the View in which snapping is being done. A non-optional argument was null Gets the bounding planes for the given point cloud. The point cloud to find the bounding planes for. The bounding planes for the given point cloud. A non-optional argument was null Returns the view rectangle in local coordinates. The view rectangle in local coordinates. the View in which snapping is being done is not in a usable state (e.g. it is not finished drawing). The size of the sampling region for the nearest best point detection. The size of the sampling region for the nearest best point detection. A unit vector from the eye to the point around which to detect features. A unit vector from the eye to the point around which to detect features. Returns the conversion factor between mm on the screen and mm in the model. The conversion factor between mm on the screen and mm in the model. Returns the conversion factor between mm on the screen and model units. The conversion factor between mm on the screen and model units. Returns native pointer to IRCData object that corresponds to a loaded and open point cloud in ReCap SDK The returned pointer can be NULL if the point cloud has been unloaded or if this point cloud uses different engine than ReCap PointCloudType from which to get the IRCData The access pointer A non-optional argument was null Returns a copy of the current sketch plane Gets the point to snap near. The point to snap near 2017 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 Gets the point to snap near. Gets the View in which snapping is being done. This is a container for data and some functions which is passed from Revit to an instance of ISnappingServer. The snapping server reads the data and uses the functions to assist in finding snaps, then sends the snaps back to SnappingServiceData using AddLineSnaps() and AddPointSnaps(), which gives them back to Revit. Finds snaps to the nearest point and to planes perpendicular to the work plane. Finds snaps to the nearest point and to planes perpendicular to the work plane. An interface that all servers of SnappingService implement. Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The path of file to link. 2019 The data associated with the site insert service. 2019 The method that Revit will invoke to show link topography dialog. The associated document. Popup the sign in dialog when user is not signed in. The site linker ui data. Indicates whether the site linker ui server is executed successfully. 2019 Implement this method to return the id of the server which is associated with this UI server. If there's no DB server associated with this UI server, an empty GUID value will be returned. The id of the associated DB server. 2019 The method that Revit will invoke to show link topography dialog. The associated document. Popup the sign in dialog when user is not signed in. The site linker ui data. Indicates whether the site linker ui server is executed successfully. 2019 Implement this method to return the id of the server which is associated with this UI server. If there's no DB server associated with this UI server, an empty GUID value will be returned. The id of the associated DB server. 2019 The interface used to provide UI of link topography. 2019 Gets all UI data items stored in the UI data. An array of UI data items. 2014 Gets units. The Units object. 2014 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The input and output data used by external UI servers for storing UI settings. 2014 Gets the fitting data stored in the UI data item. The fitting data stored in the UI data item. 2014 Stores the entity in the UI data item. The Entity to be stored. Writing of Entities of this Schema is not allowed to the current add-in. A non-optional argument was null 2014 Returns the entity set by UI server. or an invalid entity otherwise. The Entity that is returned is a copy of the stored data (with copy-on-write optimization). Modifying it is allowed (even with restricted write), but to save your changes you must call SetEntity. The returned Entity. 2014 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The input and output data used by external UI servers for initializing and storing the UI settings. One family instance has one UI data item. The UI data item contains a corresponding PipeFittingAndAccessoryData which is used for initialing the UI settings and an entity which is used for storing the UI settings. 2014 Shows the settings UI. The input data of the calculation. True if the user makes any changes in the UI, false otherwise. 2014 Returns the Id of the corresponding DB server for which this server provides an optional UI. Note that there may be only one UI server assigned to a DB calculation server. The Id of the DB server. 2014 Shows the settings UI. The input data of the calculation. True if the user makes any changes in the UI, false otherwise. 2014 Returns the Id of the corresponding DB server for which this server provides an optional UI. Note that there may be only one UI server assigned to a DB calculation server. The Id of the DB server. 2014 Interface for external servers providing optional UI for pipe fitting and pipe accessory coefficient calculation. This service works with pipe fitting and accessory pressure drop service. It provides the settings for the pipe fitting and accessory pressure drop server if needed; and it also provides UI for user to input the settings in Revit. A typical way to use the external server can be: Implement a server class that derives from this interface Create a new server object and register it with the service. 2014 Implement this method to handle results from browsing external resources in the UI. It is recommended that the server only respond in the case of a critical error. This method will be called automatically when the user browses for external resources, such as listing folders and resources of an external server or a subfolder, or choosing an external resource in the add resource dialog. The result of the browsing operation. The absolute path of the current item being browsed. 2015 Implement this method to display any UI related to messages or errors that result when the DB server associated with this UI server attempts to load an external resource.

This method will be called automatically by Revit after the external resource load process is complete.

Note that automatic loads can occur in the context of other operations such as opening a file. During automatic loads, it is therefore recommended that the server only display UI that is critical for the user to see (such as error message).

The loading operation type is Explicit when the user is specifically trying to reload the resource. During explicit loads, it may be desirable to provide more feedback to the user, such as specific feedback that the load operation succeeded.

The loading operation type can be accessed through .

Note that providing messages and other UI feedback for Revit links is more complicated, because links can be nested. The UI server may wish to provide different messages and take different actions, depending on whether a link loaded from the DB server was a "top-level" link, or was nested. For example, while it may be possible to correct an error that occurred with a top-level link by loading it directly, this cannot be done with a nested link, as Revit will throw an exception.

To complicate things further, the same Revit document may appear more than once in a tree of nested links, and the UI server should avoid repeatedly posting the same message for instances of that document.

To help UI servers handle situations where a nested tree of links is loaded:

  • Each UI server whose DB server loaded one or more links in the tree will only be called once.
  • The collection of ExternalResourceLoadData objects passed into this method will include only those for links loaded by this server's DB server.
  • The LinkLoadResults object contained in all ExternalResourceLoadData objects will always be the results for the top-level link, even if the top-level link was not loaded by this server's DB server. The LinkLoadResults class contains methods for navigating the full tree of load results (starting with the top node), so the UI server will be able to determine the complete context in which one of its DB server's resources was loaded.
  • Servers should only report results for their own link, whether they are nested or not.

The document into which resources were loaded. A collection of ExternalResourceLoadData objects containing information about an attempt to load one or more external resources, including: the load request Idthe type of resource that was loadedinformation to identify the particular resource that was loadedthe actual content obtained during the load attemptthe context of the load operations, e.g. LoadOperationType::Explicit for an explicit loading, LoadOperationType::Automatic for an automatic loadinga settable property indicating whether the server reported any errors for the resource

The ExternalResourceLoadData contains a property, ErrorsReported, which the server can use to indicate whether it handled any errors for the resource.

For Revit links specifically, Revit will check this value to see if it should report errors about a given link in the Unresolved References dialog. An IExternalResourceUIServer can set this value to true to avoid redundant messages.

Note that it is possible for Revit to encounter errors internally even if the server successfully provides a reference. In general, this value should only be set to true if the server has reported an error condition.

2015
Implement this method to return the id of the server which is associated with this UI server. If there's no DB server associated with this UI server, an empty GUID value will be returned. The id of the associated DB server. 2015 Implement this method to handle results from browsing external resources in the UI. It is recommended that the server only respond in the case of a critical error. This method will be called automatically when the user browses for external resources, such as listing folders and resources of an external server or a subfolder, or choosing an external resource in the add resource dialog. The result of the browsing operation. The absolute path of the current item being browsed. 2015 Implement this method to display any UI related to messages or errors that result when the DB server associated with this UI server attempts to load an external resource.

This method will be called automatically by Revit after the external resource load process is complete.

Note that automatic loads can occur in the context of other operations such as opening a file. During automatic loads, it is therefore recommended that the server only display UI that is critical for the user to see (such as error message).

The loading operation type is Explicit when the user is specifically trying to reload the resource. During explicit loads, it may be desirable to provide more feedback to the user, such as specific feedback that the load operation succeeded.

The loading operation type can be accessed through .

Note that providing messages and other UI feedback for Revit links is more complicated, because links can be nested. The UI server may wish to provide different messages and take different actions, depending on whether a link loaded from the DB server was a "top-level" link, or was nested. For example, while it may be possible to correct an error that occurred with a top-level link by loading it directly, this cannot be done with a nested link, as Revit will throw an exception.

To complicate things further, the same Revit document may appear more than once in a tree of nested links, and the UI server should avoid repeatedly posting the same message for instances of that document.

To help UI servers handle situations where a nested tree of links is loaded:

  • Each UI server whose DB server loaded one or more links in the tree will only be called once.
  • The collection of ExternalResourceLoadData objects passed into this method will include only those for links loaded by this server's DB server.
  • The LinkLoadResults object contained in all ExternalResourceLoadData objects will always be the results for the top-level link, even if the top-level link was not loaded by this server's DB server. The LinkLoadResults class contains methods for navigating the full tree of load results (starting with the top node), so the UI server will be able to determine the complete context in which one of its DB server's resources was loaded.
  • Servers should only report results for their own link, whether they are nested or not.

The document into which resources were loaded. A collection of ExternalResourceLoadData objects containing information about an attempt to load one or more external resources, including: the load request Idthe type of resource that was loadedinformation to identify the particular resource that was loadedthe actual content obtained during the load attemptthe context of the load operations, e.g. LoadOperationType::Explicit for an explicit loading, LoadOperationType::Automatic for an automatic loadinga settable property indicating whether the server reported any errors for the resource

The ExternalResourceLoadData contains a property, ErrorsReported, which the server can use to indicate whether it handled any errors for the resource.

For Revit links specifically, Revit will check this value to see if it should report errors about a given link in the Unresolved References dialog. An IExternalResourceUIServer can set this value to true to avoid redundant messages.

Note that it is possible for Revit to encounter errors internally even if the server successfully provides a reference. In general, this value should only be set to true if the server has reported an error condition.

2015
Implement this method to return the id of the server which is associated with this UI server. If there's no DB server associated with this UI server, an empty GUID value will be returned. The id of the associated DB server. 2015 The interface used to provide custom handling of UI operations related to external resources.

IExternalResourceUIServer is the UI server associated with IExternalResourceServer. IExternalResourceServer provides an interface for loading an external resource (such as a Revit link or the keynote data) from a source outside of Revit. IExternalResourceUIServer provides an interface for displaying the results of such an operation to the Revit user.

IExternalResourceUIServers must be associated with an IExternalResourceServer in order to display any UI. Implement to declare a relationship between an IExternalResourceUIServer and an IExternalResourceServer.

The primary method in IExternalResourceUIServer is . After an IExternalResourceServer loads an external resource, Revit will call HandleLoadResourceResults() on the IExternalResourceUIServer, so that it may display any related UI. Revit will provide an ExternalResourceLoadData to the UI server, which will contain information about the resource which was loaded, information about the context of the load operation, and any Revit-side errors.

The ExternalResourceLoadData passed to HandleLoadResourceResults will also contain a GUID to uniquely identify the load request. This identifier can help IExternalResourceUIServers query their IExternalResourceServers for additional information about errors that occurred during specific load operations. Particularly, the IExternalResourceUIServer may wish to ask the IExternalResourceServer about errors which Revit is not aware of. For example, if the IExternalResourceServer includes a website and the user is not logged in, Revit will not have any information about this error.

2015
Shows the settings UI. The input data of the calculation. True if the user makes any changes in the UI, false otherwise. 2014 Returns the Id of the corresponding DB server for which this server provides an optional UI. Note that there may be only one UI server assigned to a DB calculation server. The Id of the DB server. 2014 Shows the settings UI. The input data of the calculation. True if the user makes any changes in the UI, false otherwise. 2014 Returns the Id of the corresponding DB server for which this server provides an optional UI. Note that there may be only one UI server assigned to a DB calculation server. The Id of the DB server. 2014 Interface for external servers providing optional UI for duct fitting and duct accessory coefficient calculation. This service works with duct fitting and accessory pressure drop service. It provides the settings for the duct fitting and accessory pressure drop server if needed; and it also provides UI for user to input the settings in Revit. A typical way to use the external server can be: Implement a server class that derives from this interface Create a new server object and register it with the service. 2014 Shows the FilterDialog editing dialog to the user.

If an existing FilterElement id was set during construction of the object or through the FilterToSelect property, that FilterElement will be selected for editing.

If a new filter name was set during construction of the object or through the NewFilterName property, a new ParameterFilterElement will be created and that new element will be selected for editing. If this option was chosen, the id of the explicitly create new filter will be stored in the NewFilterId property.

Note that the user may opt to add, delete or edit any of the available filter elements (or make no changes at all). To monitor which filters have been changed, use other Revit API mechanisms such as Dynamic Update or the DocumentChanged event.

2015
Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The name of the new ParameterFilterElement to be created and selected once Show is invoked. When setting this property: newFilterName is an empty string. -or- When setting this property: newFilterName cannot include prohibited characters. -or- When setting this property: The supplied filter name newFilterName is not unique. When setting this property: A non-optional argument was null 2015 The filter element to be selected once Show is invoked. The default is InvalidElementId, resulting in selecting the first available (if any) FilterElement. When setting this property: The supplied ElementId id is not of a FilterElement. When setting this property: A non-optional argument was null 2015 The ElementId of the new filter created. The value is populated after Show method is executed. 2015 Constructs a new instance of the FilterDialog class, while setting the name of the new ParameterFilterElement to be created and selected for editing. Show the dialog with the Show() method after setting the desired options. The document that owns the FilterElements displayed and edited in the dialog. The user-visible name for the new ParameterFilterElement. name is an empty string. -or- name cannot include prohibited characters. -or- The given value for name is already in use as a filter element name. A non-optional argument was null 2015 Constructs a new instance of the FilterDialog class, while setting the id of the FilterElement to be selected when the dialog is shown. Show the dialog with the Show() method after setting the desired options. The document that owns the FilterElements displayed and edited in the dialog. The FilterElement to be selected. If InvalidElementId, then the first (if any) available FilterElement will be selected. The supplied ElementId filterToSelect is not of a FilterElement. A non-optional argument was null 2015 Allows display of the dialog used to create and edit FilterElements in Autodesk Revit. The class provides the option to launch the dialog by selecting an existing FilterElement, or automatically creating a new ParameterFilterElement. In both cases the affected element will be selected for editing. Note that the user may opt to add, delete or edit any of the available filter elements (or make no changes at all). 2015 Indicates if the File Save Dialog should enable working with files in the cloud. 2017 The initial file name to be shown for this save operation.

This would typically be a name derived by the application that matches the purpose of the save operation it intends to do. The user is permitted to alter the initial file name.

If the extension is not included, the file would be given the selected file extension for the active filter (when saved). If the extension is included, it will be ignored if the extension does not match one of the possible filter extensions. When not set, the file name entry field in the dialog will be blank and the user will have to enter a file name.

When setting this property: initialFileName cannot include prohibited unprintable characters. When setting this property: A non-optional argument was null 2017
Constructs a new instance of a File Save dialog. The filter string. See the remarks for for details. The input filter string does not meet the minimal requirements for a valid filter string. A non-optional argument was null 2017 This class allows an add-in to prompt the user with the Revit dialog used to navigate to and select an existing or new file path. This dialog is typically used to enter a file name for saving or exporting.

The behavior and appearance of this dialog matches the Revit "Save as" dialog. This is a general-purpose dialog for saving any given file type, and the Options shown in the dialog for Revit projects and families will not be shown. To prompt the user to save the active Revit document specifically, use UIDocument.SaveAs(UISaveAsOptions) instead.

The user will be requested to select or enter a file name matching the corresponding filter. If an existing file is selected, there will be a default prompt about overwriting the file shown, where the user can confirm or cancel this file selection.

The folder location shown when the dialog is displayed defaults to the most recently used file location for saving or exporting.

Use of this dialog does not actually save an existing file, but it will provide the selected file path back to the caller to take any action necessary.

2017
Identifies if the dialog should include a region showing a preview of the selected file. The default value is false, to not show the preview area in the dialog. If set to true, note that Revit may not be able to show a preview of all possible file types. 2017 Constructs a new instance of a File Open dialog. The filter string. See the remarks for for details. The input filter string does not meet the minimal requirements for a valid filter string. A non-optional argument was null 2017 This class allows an add-in to prompt the user with the Revit dialog used to navigate to and select an existing file path. This dialog is typically used to select a file for opening or importing.

The behavior and appearance of this dialog matches the Revit "Open" dialog. This is a general-purpose dialog for opening any given file type, and options to configure settings like worksharing options will not be included.

The user will be prompted to select an existing file that matches one of the provided filters. The user may not enter a file name that does not exist.

The folder location shown when the dialog is displayed defaults to the most recently used file location for opening or importing.

Use of this dialog does not actually open an existing file, but it will provide the selected file path back to the caller to take any action necessary.

2017
Determines if the input string is acceptable as input for a FileDialog filter string. The filter string. True of the filter string meets the minimal requirements to be a valid filter string. A non-optional argument was null 2017 Shows the dialog using the stored settings. A status indicating whether the user selected a file name or cancelled the dialog without making a selection. 2017 Returns the selected file path chosen by the user. The selected file path, or if the dialog has not been shown or selection was cancelled. 2017 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The default entry (from the filter) to be selected in the dialog. This string value should be found in the string that makes up the right hand side of the filter entry. If a match is found, that entry from the filter will be shown by default when the dialog is shown. If this value is not set, or it cannot match any of the entries in the filter, it will be ignored, and the first entry in the filter will be used instead. When setting this property: defaultFilterEntry cannot include prohibited unprintable characters. When setting this property: A non-optional argument was null 2017 The title to show on the dialog. If not set, a default title will be used for the dialog. For open, this will be something similar to "Select File" and for save, "Save As". When setting this property: title cannot include prohibited unprintable characters. When setting this property: A non-optional argument was null 2017 The filter string representing a collection of extensions allowed by the dialog. The required format for this string is a collection of one or more filter labels (representing the text the user will see in the Files of Type pulldown) plus an associated file matching string separated by the '|' character. Some examples of valid filter strings: "Revit Files (*.rvt)|*.rvt"Revit Projects (*.rvt)|*.rvt|Revit Families (*.rfa)|*.rfa""All files|*.*""All Revit files (*.rvt, *.rfa, *.rte, *.rft)|*.rvt;*.rfa;*.rte;*.rft" When setting this property: The input filter string does not meet the minimal requirements for a valid filter string. When setting this property: A non-optional argument was null 2017 Base class supporting display of the dialog used to navigate to and select a file from Autodesk Revit. 2017 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The message to be shown via tooltip When setting this property: A non-optional argument was null 2017 The message to be shown on the status bar When setting this property: A non-optional argument was null 2017 Indicates if the cursor is banned or not. 2017 The active view 2017 The class is used to access necessary data during the placement of a FamilyInstance. 2017 Shows the Energy Data Settings dialog. The document of energy data settings to be displayed. Indicates if the dialog is for the advanced option. A non-optional argument was null 2022 Provides internal utility methods that display the element attribute dialog. 2022 DEPRECATED MEMBER FUNCTIONS ----------------------- Gets all UI data items stored in the UI data. An array of UI data items. 2014 Gets units. The Units object. 2014 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The input and output data used by external UI servers for storing UI settings. 2014 Gets the fitting data stored in the UI data item. The fitting data stored in the UI data item. 2014 Stores the entity in the UI data item. The Entity to be stored. Writing of Entities of this Schema is not allowed to the current add-in. A non-optional argument was null 2014 Returns the entity set by UI server. or an invalid entity otherwise. The Entity that is returned is a copy of the stored data (with copy-on-write optimization). Modifying it is allowed (even with restricted write), but to save your changes you must call SetEntity. The returned Entity. 2014 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 Each duct fitting or duct accessory FamilyInstance has one DuctFittingAndAccessoryPressureDropUIDataItem. One family instance has one UI data item. The UI data item contains a corresponding DuctFittingAndAccessoryData which is used for initialing the UI settings and an entity which is used for storing the UI settings. 2014 Checks whether the specified double-click target supports the specified action. The double-click target to check. The desired double-click action. True if the target supports the specified action, false otherwise. A value passed for an enumeration argument is not a member of that enumeration 2016 Changes the double-click action associated with a specified target. This change will be stored in the user's profile and will affect future sessions of Revit in addition to the current session. The double-click target whose action will be changed. The action to assign to the target. The specified action is not valid for the target element. A value passed for an enumeration argument is not a member of that enumeration 2016 Returns the active user's desired action for a particular double-click target. The target to check. The user's desired action for the specified target. A value passed for an enumeration argument is not a member of that enumeration 2016 Sets whether the desired action is to rename item in project browser on slow double-click. 2016 Returns the user's desire to rename item in project browser on slow double-click. 2016 Returns the current user's DoubleClickOptions. The DoubleClickOptions for the current user. 2016 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 Provides access to settings that control what happens when the current user double-clicks on an element. These settings are stored on a per-user basis. Revit will follow these settings for all projects and families for this user. 2016 2016 Possible actions Revit can take in response to the user double-clicking on an element. 2016 Double-click should deactivate the active view. Double-click will enter a specific edit mode for the element. Double-click should activate the view or schedule. Double-click should take the user to the edit type dialog. Double-click should open the family for editing. Double-clicks should be ignored. 2016 Elements that support double-click in Revit. Note that this is meant to cover cases where the element itself is a double-click target. Individual controls that are targets are handled separately. 2016 Outside active view on sheet Component-based stairs Groups Assemblies Views on sheets Sketch-based elements Family instances The View browser pane. The system browser pane. The rebar browser pane. The properties palette pane. The project browser pane. The P&ID modeler browser pane. The host by link navigator pane. The Fabrication part browser pane. The element view pane. The content delivery pane. A collection of ids of the dockable panes provided by Revit. 2014 Provides a container of all Revit built-in DockablePaneId instances. Compares two DockablePaneId instances. The first DockablePaneId. The second DockablePaneId. True if the inputs are different, false if they are identical. Compares two DockablePaneId instances. The first DockablePaneId. The second DockablePaneId. True if the inputs are identical, false if they are different. Creates a new DockablePaneId instance. The identifier for the DockablePaneId. Identifier for a pane that participates in the Revit docking window system. 2014 RegenAll a family doocumment and saveas in the give folder A non-optional argument was null 2017 Upgrade all family documents in the give folder. A non-optional argument was null 2017 This utility is used to translate content files 2017 famRetrival all family documents in the give folder. default metric always A non-optional argument was null 2017 loadSave all family documents in the give folder. default metric always A non-optional argument was null 2017 This utility is used to translate content files 2017 Shows the Revit Color dialog as a modal dialog. A status indicating whether the user selected a color or cancelled the dialog without making a selection. 2017 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The original color. When setting this property: A non-optional argument was null 2017 The new color selected by the user. 2017 Default constructor. 2017 Allows display of the Revit Color dialog. The class provides the option to launch the Revit Color dialog to select the color. 2017 2017 An enumerated type listing the possible responses from a prompted dialog where the user is asked to select one or more items. 2017 The user canceled the prompted dialog. No selected item(s) are available from the dialog interfaces. The user selected one or more item(s) from the prompted dialog and confirmed the selection. The selected item(s) are available from the dialog interfaces. The current theme. When setting this property: A value passed for an enumeration argument is not a member of that enumeration 2014 The default theme. When setting this property: A value passed for an enumeration argument is not a member of that enumeration 2014 Gets the theme name for the given theme type. The theme. The name of the theme. A value passed for an enumeration argument is not a member of that enumeration 2014 Manager object for the UITheme class. 2014 The application frame theme. 2014 Light. Dark. Override message pre-translation to allow the WPF source and any embedded WinForms controls to handle any keyboard input properly, prior to Windows doing any sort of translation or dispatching. This pre-translation is required for proper handling of tabbing and other keyboard mnemonics for the embedded WPF/WinForms controls. Called to attach to the specified pane The native HWND parent/container for the Pane. The provider information describing the Pane. true if successfully attached, false otherwise. The hook delegate that gets called for each message on the hooked source. We hook to handle any DockablePane specific messages as well as to hook WM_GETDLGCODE properly to allow for input commands on the embedded controls. Construct a hook for the given source and panelData Implement this method to inform Revit whether the drop event can be executed onto the given view. Document modifications are not permitted from this callback. The document on which the data was dropped. The data. The view upon which the user will drop. Return true to activate the target view and execute the drop. Return false to cancel the activation and the drop execution. An interface to be executed when custom data is dragged and dropped onto the Revit user interface. This interface is different from IDropHandler in that it allows the handler to verify whether the drop event can be executed on the given view. Custom data is supported for drag and drop only during an invocation of the DoDragDrop method on Application. 2015 Implement this method to handle the drop event for your data. The document on which the data was dropped. The data. 2013 An interface to be executed when custom data is dragged and dropped onto the Revit user interface. Custom data is supported for drag and drop only during an invocation of the DoDragDrop method on Application. 2013 The name of the command we set internally. 2013 Looks up and retrieves the Revit command id with the given id string. he Revit command name. Refer to the entries in the Revit journal to find the string to use for a particular command. The Revit command id. Returning "null" if a command with the given name was not found. A non-optional argument was null 2013 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 Indicates whether a replacement of either the Execute or CanExecute events (or both) have been applied to this command. This will not indicate if one or more applications have subscribed to the BeforeExecuted event, as this event is not limited to a single subscriber. 2013 Indicates whether the command can be assigned a binding to an external add-in. 2013 The command id. 2013 The command name. 2013 Looks up and retrieves the Revit command id with the given id string. The postable command. Thrown when name is . The Revit command id. Returning if a command with the given name was not found. 2014 A non-optional argument was null 2013 Represents a command id in Autodesk Revit. Each Revit command is assigned a command id and non-localized name. This class allows you to look up a command by its name, and represents any Revit command in the use of an AddInCommandBinding. 2013 Occurs when the command associated with this AddInCommandBinding initiates a check to determine whether the command can be executed on the command target. This callback will be called by Revit's user interface any time there is a contextual change. Therefore, the callback must be fast and is not permitted to be blocking in any way. 2013 Occurs when the command associated with this AddInCommandBinding executes. 2013 Occurs before the command associated with this AddInCommandBinding executes. 2014 The Revit command Id. 2013 Constructs a new AddInCommandBinding. The UI application. The Revit command id to identify the command handler you want to replace. Thrown when uiApplication or revitCommandId is . Thrown when the given command already has been bound. 2013 This object represents a binding between a Revit command and one or more handlers which override the behavior of the command in Revit. 2013 Enumerates all of the built-in commands which can be posted by an API application. 2014 Displays the status bar at the bottom of the Revit window. Exit Revit. Arranges all open views within the application window, tiled so you can see each one in the drawing area. Arranges all open views in the drawing area as tabs in a single window. Pastes elements from the clipboard into the current view. Removes selected elements, and places them on the clipboard. Copies selected elements to the clipboard. Displays a preview version of the current view or sheet to print. Sends the current drawing area or selected views and sheets to a printer or a printable file. Specifies print options. Saves the current Revit project file. Saves the currently open project file. Close Revit. Opens any Revit file type. Access energy and environmental performance data in Insight. Links existing topography to the current Revit model. Repairs a corrupt central model. Preview, select, and run your Dynamo graphs from a single dialog. Assigns the names and numbers from architectural rooms to MEP spaces used for building performance analysis. Opens a Revit cloud model. Access energy and environmental performance data in the cloud. Creates the energy analytical model and generates design options and potential performance outcomes. Eliminate shared coordinates in the host model. Opens and closes the Shared Views palette. Launches Worksharing Monitor to manage a file-based workshared model. Print a large number of drawings with a batch job. Inserts a link to an image into a model view. Inserts a link to a PDF into a model view. Performs a systems analysis and generates a report for whole building energy simulation and analysis. Saves the current Revit model to the cloud. Toggle Revit Home. Creates a cut on a model element along the shape of another intersecting model element and a cut through the intersecting element. The connection between the two elements is also created. Creates a cut through a model element around the contour of another intersecting model element. The weld between the two elements is also created. Creates a cut on a beam adjusted according to the web of another intersecting beam and the related connection between the beams. Creates a cut on a beam adjusted according to the flange of another intersecting beam and the related connection between the beams. Creates a miter cut vertically or at the bisecting line of two beams and the related connection between the beams. Creates a parametric cope on intersecting beams and the related connection between the beams. Creates a contour cut on the selected faces of a beam or a plate. Creates shear studs and the related welds on the selected face of model elements. Inserts anchors and the related holes in the selected model elements. Inserts holes on the selected face of model elements. Inserts bolts and the related holes in the selected model elements. Creates a structural plate in the building model. Inserts a weld on one of the available edges of the model elements to be connected. Creates a cut on the corner of a selected plate. Creates a skewed cope at the selected beam end, either at the top or at the bottom. Creates a shorten object on the selected beam that can trim or extend the beam. Removes the energy analytical model from the Revit project. Provides access to Dynamo, an open source visual programming platform for designers. Loads the rebar shape into open projects or family files and closes the family after it loads. Displays the MEP Fabrication Parts palette. Loads the family into open projects or family files and closes the family after it loads. Place a square or hexagonal grid in a room element. Place a family to indicate a person and a physical distance radius into the view. Place a one-way annotation family into the view. Places multiple paths of travel between two selected points using a specified minimum path separation for each path. Specifies the value indicated for a parameter when multiple elements with different parameter values are selected. Creates a path of travel along the shortest distance between 2 selected points. Highlights categories that are considered obstacles in the view. Specifies the location of the assembly code file or reloads the assembly code table from the current file. Selects the views and sheets to publish to the cloud. Manage Revit models in the cloud. Enables collaboration in the cloud, which allows team members to work on a model simultaneously. Enables collaboration so team members can work on a model simultaneously. Specifies parameters that can be added to a project, and used to define values of other parameters. Creates a view-specific representation of model elements that can be displaced in the view. Creates the energy analytical model. Opens your online gallery of completed and in-progress renderings in a web browser. Renders 3D views online to create still images or interactive panoramas. Specifies the Revit Server Accelerator to use for worksharing, or changes the accelerator to which you are connected. Creates a sequence of tread or riser numbers for a run in plan, elevation, or section views. Creates an assembly from elements you select in the drawing area. Creates a new guide element in the active sheet to help align elements within and between sheets. Saves the model as a gbXML file. Creates the energy analytical model and generates design options and potential performance outcomes with Insight. Specifies parameters used to create the energy analytical model. Finds and replaces text in an open project file. Adds and edits load combinations for the analytical model. Adds and edits load cases for the analytical model. Opens a Revit project. Toggles the ability to define a rebar shape bent in more than one plane. Customizes halftone and underlay elements in view. Saves the current family. Saves the current Revit project file as a template. Adjusts how beams and columns frame into one another. Assigns key sequences to tools. Draws a temporary line to use as an axis for mirroring. Measures the length of an element. Measures the distance between 2 elements or other references. Places a dimension that measures the length of a curved wall or other element. Places a dimension that measures the radius of an inner curve or fillet. Places a dimension that measures the angle between reference points sharing a common intersection. Places horizontal or vertical dimensions that measure the distance between reference points. Places dimensions between parallel references, or between multiple points. Trims or extends multiple elements (such as walls, lines, and beams) to a boundary defined by another element. Trims or extends one element (such as a wall, line, or beam) to a boundary defined by another element. Trims or extends elements (such as walls or beams) to form a corner. Creates or modifies a color fill scheme for rooms and areas. Edits the rebar cover references of an entire rebar host or an individual face. Creates a blend that sweeps along a defined path, and uses the resulting 3D shape to remove part of a solid 3D shape. Creates a blend that sweeps along a defined path. Places a symbol that shows extents and hook types for the selected area reinforcement. Sketches the boundary of an area to populate with rebar. Places a beam system span tag. Removes coping from steel beams and columns. Adds coping to steel beams and columns. Creates a graphical column schedule for the project. Displays the most recent interference check report. Adds a truss to the structure model. Updates a local copy of a workshared project using settings from the Synchronize with Central dialog. Creates a mass that is unique to the project. Places an instance of a mass family in the project. Creates a layout that is used to control the number and spacing of a series of parallel beams. Saves a copy of all loaded families, the selected family, group, or view to your library. Copies 2D elements from a detail view (saved in another project) into a detail view in the current project. Copies specified views (sheets, schedules, or drafting views) from a project file and saves them in the current project. Repeats a detail component along a path. Checks the spelling of text notes in a selection or in the current view or sheet. Shapes the horizontal edge of a floor slab. Adds a gutter to the edge of a roof, soffit, or fascia, or to model lines. Adds fascia to the edge of a roof, soffit, or other fascia, or to model lines. Displays or hides the active work plane in the view. Specifies how areas and volumes are calculated, and creates area schemes. Adds site-specific elements, such as trees, parking islands, and fire hydrants. Create a system-zone for analytical spaces. Automatically build a run of connected MEP fabrication parts by clicking points in the model. Controls the display of graphical disconnect warnings for duct, pipe, conduit, cable tray, electrical circuits, and fabrication hangers. Creates parallel runs of pipe based on an initial pipe run. Draws placeholder pipe without elbow or tee fittings. Draws placeholder duct without elbow or tee fittings. Creates parallel runs of conduit based on an initial conduit run. Modifies a specific panel schedule template. Manages and applies panel schedule templates to existing schedules in the project. Draws rigid conduit runs. Draws cable tray runs such as rigid ladder or channel cable tray. Places a conduit fitting. These fittings include elbows, tees, wyes, crosses, and other unions. Places a cable tray fitting. These fittings include elbows, tees, wyes, crosses, and other unions. Adds a conduit connector to a component. Adds a cable tray connector to a component. Places a telephone jack. Places security devices such as door locks, motion sensors, and surveillance cameras. Places nurse call devices such as call stations, code blue stations, and door lights. Places lighting switches such as daylight sensors, occupancy sensors, and manual switches. Places fire alarm devices such as smoke detectors, manual pull stations, and annunciators. Places data devices such as ethernet and other network connections. Places communication devices such as intercom system components. Draws splined wire runs. Draws chamfered wire runs. Opens the Building and Space Type Settings dialog to manage building and space parameters and schedules. Defines HVAC zones within a project. Adds a pipe connector to a component. Adds a duct connector to a component. Adds an electrical connector to a component. Places a sprinkler. Places plumbing fixtures. These fixtures include sinks, water closets, tubs, drains, and various appliances. Opens the Mechanical Settings dialog. Verifies all duct systems for properly connected ductwork and valid system assignments. Verifies all pipe systems for properly connected pipes and valid system assignments. Places a legend to indicate the color fills associated with piping systems. Draws arced wire runs. Places a pipe accessory. These accessories include connectors, valves, and inline water heaters. Places a pipe fitting. These fittings include elbows, tees, wyes, crosses, unions, and other types of fittings. Draws flexible piping. Draws rigid piping. Applies demand factors to a panel. Verifies all circuits for proper connections to panels and valid system assignments. Errors are reported in a warning dialog. Places electrical devices such as receptacles, junction boxes, and other power devices. Places electrical equipment such as panels and switch gear. Places lighting fixtures such as ceiling, wall, and recessed lights. Assigns and specifies demand factors to a load classification. Opens the Electrical Settings dialog to define distribution systems, wire types, cable tray and conduit sizes, and demand factors. Generates a panel schedule for a specified panel. Places a legend to indicate the color fills associated with ductwork in duct systems. Changes a length of ductwork connected to an air terminal from rigid duct to flexible duct. Draws round and rectangular flexible ductwork. Places a duct fitting. These fittings include elbows, tees, wyes, crosses, and other types of fittings. Places mechanical equipment such as boilers, furnaces, or fans. Draws rigid round, rectangular, or oval ductwork. Places a register, grille, or diffuser. Places a duct accessory. These accessories include dampers, filters and smoke detectors. Toggle P&ID Modeler browser. Manage the mappings between elements, such as services and families, between the P&ID drawing and the Revit model. Create a 3D piping model directly from a 2D P&ID drawing in the cloud. Places a reinforcement coupler element to join rebar in a host. Isolates selected elements in the current view (if a 3D isometric view) or the default 3D view. Links a FormIt file into the current Revit model. Links an IFC file to the current project to reference its information for additional design work. Opens the Fabrication Settings dialog. Tags multiple elements with a single annotation that displays linear dimensions between references as well as parameters from the referenced elements. For example, all rebar in a rebar set can be referenced with a single tag. Tags multiple elements with a single annotation that displays aligned dimensions between references as well as parameters from the referenced elements. For example, all rebar in a rebar set can be referenced with a single tag. Located on the Reinforcement panel of the Structure tab (or Modify tab for floors, walls and foundation slabs).Places a single fabric sheet on floors, walls, and foundation slabs. Opens a Revit sample file. Generates a pressure loss report for one or more pipe systems. Generates a pressure loss report for one or more duct systems. Places a railing on a stair or ramp. Located on the Symbol panel of the Annotate tab.Places a symbol that represents the fabric sheet. Located on the Reinforcement panel of the Structure tab (or Modify tab for floors, walls and foundation slabs).Sketches the boundary of a fabric area to populate with fabric sheets. Defines attributes for diameter dimensions. Places a dimension that measures the diameter of an arc or circle. Adjusts the analytical model of the structural member in relation to those of the elements to which it joins. Lists tags and elements hosted by the linked model that require review, due to changes in the linked model. Enables the Workplane Viewer. Shows or hides the navigation bar, which provides access to the ViewCube, SteeringWheels, and zoom/pan functions. Specifies the default security settings for macros in the Revit application or a document. Opens the Macro Manager to run, create, or delete a macro. Defines the allowable rebar types (diameters) of the shape type. Places multiple beam tags, annotations, and spot elevations. Shows or hides the ViewCube, which allows you to change the orientation of a 3D view. Creates parts from the layers or subcomponents of a selected element. Opens a Revit family. Saves a 3D view as an FBX file. Customizes reinforcement settings such as rounding parameters, rebar hosting and abbreviations of area/path reinforcement tagging. Identifies one segment of the rebar shape that maintains its general position in rotation and auto-expansion behaviors. Creates a graphic that obscures elements in a project or family. Creates a view that is dependent on the original view. Changes the graphic display settings for all elements in the view that meet the criteria specified in a filter. Changes the graphic display settings for selected elements in the current view. Toggle reveal hidden elements mode. Hides selected elements in the current view. Displays the slope at a specific point on a face or an edge of a model element. Creates a vertical opening that spans multiple levels, cutting through intervening roofs, floors, and ceilings. Cuts a rectangular opening in a straight or curved wall. Cuts a roof to create an opening for a dormer. Cuts a vertical opening through a roof, floor, or ceiling. Creates an opening that is perpendicular to the selected face of a roof, floor, or ceiling. Places a symbol that shows extents and hook types for the selected path reinforcement. Sketches the path of evenly placed reinforcing bars that are created perpendicular to the sketch. Defines point, line, and area boundary conditions in an analytical model. Attaches tags to elements of multiple categories, based on a shared parameter. Edits a previously saved selection set. Saves the currently selected elements as a set. Loads a previously saved selection set. Tags an element with a keynote that you select. Tags a selected element using the keynote specified for its material. Tags a selected element using the keynote specified for the element type. Adds a foundation slab to the building model. Specifies mapping behavior when copying MEP fixtures from a linked model into the current project. Tags a selected element using the description specified for its material. Adds footings or pile caps to the building model. Creates foundations hosted by walls. Displays warnings for monitored elements between linked projects and the host project. Displays warnings for monitored elements in the current project. Copies selected elements from a linked project to the host project, and monitors changes to these elements. Monitors grids, levels, columns, walls, floors, and openings within the current project. Places planar, multi-planar or free form rebar. Displays mass zones, glazing, and shades if they have been specified. Displays mass faces, including any glazing and shades that have been specified. Displays masses based on the settings for the current view. By default, masses are turned off. Creates walls using faces of a mass or generic model. Creates a curtain system on the face of a mass or generic model. Displays mass forms and any mass floors you have specified in all views. Adds, removes, or modifies the default rebar cover settings. Creates a reference line that you can use when creating a new family, or to create constraints for the family. Defines settings for analytical elements and the display of structural framing. Applies point, line, and area loads to a model. Resizes the selected item. Creates a structural floor (slab) for the current level of the building model. Places a span direction symbol on a structural floor. Creates a load-bearing or shear wall in the building model. Adds a vertical load-bearing element to the building model. Adds diagonal structural members connected to beams and columns. Adds individual beams, a chain of beams, or beams along grid lines. Creates a railing by sketching the railing path. Defines an area within a toposurface. Saves a copy of all loaded families, the selected family, group, or view to your library. Displays a list of other users' requests to borrow elements in your worksets, and your pending requests. Opens a design option for editing by selecting an element contained in the option. Moves selected elements from the main model to one or more design options in a set. Creates and manages design option sets and individual design options for the project. Adds an annotation indicating the sheet number and detail number for a selected view. Adds matchlines to indicate where a view is split. Changes the way that views are listed in the Project Browser. Creates a plan region within a view. Determines the coordinates used in the current model, and uses them for a linked model. Uses an element's unique identifier to locate and select the element in the current view. Displays unique identifiers for the selected elements. Displays shared coordinates of a linked model within a host model. Determines the coordinates used in a linked project, and uses them for the current project. Specifies the geographic location for the project. Creates a view that includes model geometry and view-specific elements from the current view. Changes the angle for a project relative to True North. Moves the model relative to the shared coordinate system. Specifies parameters that can be added to categories of elements in a project, and used in schedules. Saves animations or image files. Links another Revit model to the current model. Displays all lines on screen as a single width, regardless of zoom level. Splits a wall into 2 separate walls with a defined gap between them. Displays the elevations of contour lines. Defines lines and geometry of the rebar shape. Creates a title block element in a sheet view. Places an image on surfaces of a building model for rendering. Removes unused families and types from a project. Copies or moves a selected element (such as a line, wall, or beam) a specified distance perpendicular to its length. Adds a graphic representation of a selected model element to a legend view. Specifies parameters that can be used in multiple families and projects. Combines 2 toposurfaces to create one toposurface. Adds tags to multiple elements in one step. Changes the order in which elements join with one another. Removes a join between 2 or more elements. Creates clean joins between 2 or more host elements that share a common face, such as walls and floors. Creates an area defined by walls and boundary lines. Defines boundaries for areas. Tags the selected area. Closes open views except for the currently active view. The current view remains open in the drawing area. Saves a schedule or Room/Area report. Changes the shape of elements that are cut in a view, such as roofs, walls, floors, and the layers of compound structures. Creates lines that are meant for symbolic purposes only, and are not part of the actual geometry of the component or building model. Copies selected project settings from another open project to the current project. Adds parking spaces to a toposurface. Saves a copy of all loaded families, the selected family, group, or view to your library. Loads a Revit file as a group. Saves model data to an ODBC database. Rolls back changes made to a workshared project, or saves a selected backup version to be the current working model. Divides the face of an element (such as a wall or floor) into regions for the application of different materials. Creates a view template using the properties of the current view as the basis for the new template. Displays parameters for view templates in the project. Removes hidden lines for model elements and detail elements that are obscured by other elements in the active view only. Displays hidden lines for individual model elements and detail elements that are obscured by other elements in the current view. Adds 3D text to the building model. Creates a schedule of annotations added using the Symbol tool. Removes paint from selected faces. Applies a material to the face of an element. Creates a wall sweep by extruding a profile along a path. Extrudes a profile along a path to create a cutout in a wall. Applies properties stored in a view template to the current view. Lists all raster images used in the project. Defines a topographical surface in a site plan or a 3D view. Modifies a toposurface to indicate changes during the construction process. Creates an area plan view. Creates a schedule that lists the drawings in the project. Creates a component that is unique to the project. Specifies basic information about the project, including the project status and client information. Allows you to specify options for the synchronization operation. Adds a revision cloud to the current view or sheet to indicate design areas that have changed. Marks elements as demolished in the current phase. Creates a list of building components and annotations used in a project. Creates a view showing details that are not directly associated with the building model. Specifies the work plane for the current view or for a selected work-plane-based element. Overrides the line style for a selected line in the active view only. Controls the visibility of datum elements (grids, levels, and reference planes) in specific views. Converts one or more elements to match the type of another element in the same view. Inserts a PDF file into a model view to use as a background image or visual aid. Imports a raster image into a Revit project to use as a background image or visual aid during the creation or presentation of the model. Adds a building pad from a closed loop that you sketch on a toposurface. Creates a property line in a plan view. Specifies project phases, phase filters, and graphic overrides for phases. Creates worksets and adds elements to them. Places an element of the same type as the selected element Places a batt insulation graphic in a detail view. Creates view-specific lines. Adds a view-specific detail component to a view. Changes the graphic display settings for all elements that belong to the same category as the selected element in the current view. Places an instance of a detail group in the view. Selects which geometry does not get cut when you join geometry. Selects the geometry to cut. Creates a 3D shape by sweeping a 2D profile along a path, and uses the resulting 3D shape to remove part of a solid 3D shape. Creates a 3D shape by sweeping a 2D profile around an axis, and uses the 3D shape to remove part of a solid 3D shape. Creates a 3D blend, which is then used to remove part of a solid 3D shape. Creates a 3D shape that is then used to remove part of a solid 3D shape. Specifies the detail level (coarse, medium, or fine) that applies to each view scale by default. Creates a reflected ceiling plan view. Creates or modifies line styles. Displays a list of messages that you can ignore or resolve. Defines attributes for spot coordinates. Defines attributes for spot elevations. Specifies line weights, fills, and styles for annotation arrowheads. Defines attributes for spot slopes. Pastes the elements to the same place from which they were cut or copied. Creates a tag or symbol to identify elements in the project. Lists the tags and symbols that will be used for each element category. Pastes selected elements, including view-specific elements such as dimensions, into specified views. Attaches a tag to an element based on the element category. Pastes multiple elements from one level to specified levels. Specifies the view that first displays when you open the model. Changes how walls join together (butt, miter, square off). Pastes the selected elements into a elevation view or a section view. Pastes elements that were cut or copied from another view into the current view. Creates a separation line to bound rooms where no walls or other room-bounding elements exist. Adds a ramp to the building model. Creates a group of elements for easy reuse. Creates a 3D shape by sweeping a 2D profile along a path. Creates a rectangular callout in the view. Creates a key schedule or a schedule of building components. Creates a 3D shape by sweeping a 2D profile around an axis. Provides options for managing links to building models, CAD files, DWF markup files, and point clouds. Creates a solid 3D shape that changes along its length, blending from a starting shape to an ending shape. Connects roofs to other roofs or walls, or reverses a previous join. Creates an elevation view. Places a legend in a view to indicate the meanings of color fills for rooms or areas. Sets export options for CAD and IFC. Sets export options for CAD and IFC. Creates a view that contains only the model geometry from the current view. Places a 2D annotation drawing symbol in the current view. Aligns one or more elements with a selected element. Tags the selected room. Creates a 2D, view-specific graphic with a fill pattern and a boundary line. Allows you to enter parameter values for existing family types, add parameters to the family, or create new types within the family. Creates a horizontal or vertical mullion on a curtain grid. Creates a grid line in a curtain wall or curtain system. Creates a room bounded by model elements (such as walls, floors, and ceilings) and separation lines. Display Revit Options Dialog. Creates a decal that you can use to place images on surfaces of a building model for rendering. Modifies the assets that define a material. Deactivates the view, so you can no longer change the view from the sheet. Specifies the materials and associated properties to apply to model elements or families. Enables you to modify the selected view without leaving the sheet. Creates a Revit project file. Creates an opening in a host, such as a wall or ceiling. Overrides the default visibility and graphic display of model elements and annotations in the current view. Creates a label for the annotation symbol. Opens the default orthographic 3D view. Creates or modifies drafting patterns and model patterns. Creates a ceiling at a specified distance above the level in which it resides. Opens a template for creating a Title Block family. Adds text annotations (notes) to the current view. Adds a view to a sheet. Copies selected elements and places them in the specified location in the current view. Moves selected elements to the specified location in the current view. Creates a linear or radial array of selected elements. Creates or modifies line patterns. Specifies the placement and component references for temporary dimensions. Creates a filter to modify the visibility and graphics of elements in views based on element parameters. Adds a flip arrow to the view. Reverses the most recent action Reverses the effects of the previous UNDO command Creates a reference plane using drawing tools. Annotates the slope direction and walk line of a stair. Creates a line that exists in 3D space and is visible in all views of a project. Places an element in the building model, based on a selected element type. Creates a 3D solid by extruding a 2D shape (profile). Unlocks a model element so it can move. Creates an animated 3D walkthrough of a model. Locks a model element in place. Load an Autodesk family from the cloud. Opens a template for creating a conceptual massing model. Loads a Revit family into the current file. Creates a set of custom components to use in projects. Links a Point Cloud file (*.rcp or *.rcs) into the current project. Links a CAD file to the current Revit project. Imports data or 3D geometry from other CAD programs to a Revit model or family. Creates a page for a document set. Displays the Project Browser. Creates a 3D view from the perspective of a camera placed in the view. Creates a section view. Creates a floor plan view. Creates a structural plan view. Specifies the display format for units of measure. Specifies snap increments, and enables or disables snap points. Specifies a presentation format for visualizing analysis results. Specifies line weights, colors, and patterns, and materials for model objects, annotation objects, and imported objects. Creates or modifies line weights. Reverses the position of selected elements, using an existing line or edge as the mirror axis. Rotates selected elements around an axis. Changes the relationship of elements relative to Project North (the top of the drawing area) in plan views. Flips the position of a project around a selected axis. Adds architectural columns to the building model. Adds a stair to the building model by creating common run, landing, and support components. Creates a floor for the current level of the building model. Creates a framing elevation to show vertical bracing. Adds a level to the model. Draws a space separation line to divide space. Labels spaces in a project. Places analytical spaces to account for the entire volume within the model. This includes rooms, plenums and chases. Removes selected elements from the building model. Adds windows to the building model. Adds doors to the building model. Creates a non-structural wall in the building model. Places column grid lines in the building design. Specifies the location of the sun for solar studies, walkthroughs, and rendered images. Saves animations or image files. Saves animations or image files. Assigns the properties of a predefined family category to the component you are creating. Defines or edits numbering sequences by partition for rebar and fabric sheets. Displays the active design option in the status bar. For a workshared project, displays the active workset and the number of Others' pending Editing Requests in the status bar. Links a NWD or NWC file to provide context for the Revit model. Displays or hides a palette where you can view and edit instance properties. When enabled, this button indicates that the rebar shape is not valid. Draws the bottom chord of the truss family. Draws the top chord of the truss family. Draws the web elements between the chords. Opens a building component Autodesk Exchange (ADSK) file. Specifies the location of the keynote table and the numbering method for keynotes. Creates a list of the keynotes used in a project, and their definitions. Verifies the analytical and physical model for consistency. Verifies that structural elements such as beams, columns, walls, and slabs, are joined to supporting elements. Sets options for the IFC template and class mapping. Exports family types from the current family to a text (.txt) file. Imports family types from a text (.txt) file into the current family. Links marked-up DWF files into a Revit project so you can see the markups on corresponding sheets. Creates a list of the sub-components or materials of any Revit family category. Releases ownership of worksets and borrowed elements that have not been changed. Opens an IFC file. Creates DWG, DXF, DGN, SAT, or STL files. Creates PDF files. Creates DWG, DXF, DGN, SAT, or STL files. Creates DWG, DXF, DGN, SAT, or STL files. Creates DWG, DXF, DGN, SAT, or STL files. Creates DWG, DXF, DGN, SAT, or STL files. Creates DWF or DWFx files. Displays properties for the family type to which the selected element belongs. Sets export options for CAD and IFC. Resets the analytical model alignment methods to Auto-detect. Displays the System Browser. Displays a hierarchical list of all the components in each discipline in a project, either by system or by zone. Saves an IFC file. Relocates a model and rotates the model to True North by specifying coordinates for North/South, East/West, and Elevation. Locates invalid intersections between elements in a project. Hides all elements that belong to a selected category in the current view. Converts a mass floor into a floor of the building model. Specifies the shape of heads and tails for section tags. Defines properties for elevation tags. Specifies the callout head for callout tags, and the radius of the callout bubble. Adds a revision schedule to a custom title block. Specifies revision information for the project. Saves a schedule or Room/Area report. Imports analysis data from a gbXML file. Displays elements in inactive worksets as gray to visually distinguish them from elements in active worksets. Draws lines on the active work plane. Draws lines on existing surfaces. Splits a toposurface into 2 distinct surfaces, so that each can be edited independently. Displays a list of all the times a workshared file (the central model or a local copy of the central model) was saved and who saved it. Creates a photorealistic image of a building model. Loads updates from the central model to your local copy of the project. Defines attributes for radial dimensions. Creates a roof by extruding a profile that you sketch. Creates a roof using the building footprint to define its boundaries. Add a series of alignment station annotations. Add an individual alignment station annotation. Displays the North/South and East/West coordinates of points in a project. Displays the elevation of a selected point. Cuts an element (such as a wall or line) at a selected point, or removes a segment between 2 points. Defines attributes for angular dimensions. Defines attributes for linear (horizontal and vertical) dimensions. Creates a schedule of the views in the project. Select to show structural connection warning marks in your project views. Deselect to hide warning marks. Adds a structural connection to structural elements. Opens the Structural Connections Settings dialog in which you can load and unload add-in connections into Revit. If no add-ins are present, no connections are available in the Connections tab. Repeats the selected applied component along a divide path or surface. Loads the rebar shape into open projects or family files. Loads the current project as a group into another open project or family. Creates a roof soffit in the building model. Creates a roof using a non-vertical face of a mass. Implement this method to execute some tasks when Autodesk Revit shuts down. A handle to the application being shut down. Indicates if the external application completes its work successfully. Implement this method to execute some tasks when Autodesk Revit starts. A handle to the application being started. Indicates if the external application completes its work successfully. An interface that supports addition of external applications to Revit. External applications are permitted to customize the Revit UI, and to add events and updaters to the session. Informs Autodesk Revit of the status of your application after execution. Signifies that the external application is cancelled. The external application completed successfully. Autodesk Revit will keep this object during the entire Revit session. The external application was unable to complete its task. Returns the ids of the elements that are currently selected. The collection containing the ids of the selected elements. Selects the elements. This function will select the specified elements and update the UI. The ids of the elements to be selected. A non-optional argument was null 2015 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 Prompts the user to select multiple elements by drawing a rectangle which pass a customer filter while showing a custom status prompt string. The selection filter. The message shown on the status bar. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. The selection will not be automatically added to the active selection buffer. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the selectionFilter is or statusPrompt is . Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. A collection of elements selected by the user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to select multiple elements by drawing a rectangle which pass a customer filter. The selection filter. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. The selection will not be automatically added to the active selection buffer. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the selectionFilter is . Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. A collection of elements selected by the user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to select multiple elements by drawing a rectangle while showing a custom status prompt string. The message shown on the status bar. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. The selection will not be automatically added to the active selection buffer. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the statusPrompt is . Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. A collection of elements selected by the user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to select multiple elements by drawing a rectangle. Prompts the user to select multiple elements by drawing a rectangle. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. The selection will not be automatically added to the active selection buffer. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. A collection of elements selected by the user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Invokes a general purpose two-click editor that lets the user to specify a rectangular area on the screen. Specifies the value that controls the style of the pick box. The message shown on the status bar. The method starts an editor and returns when it finishes. Returns a PickedBox that contains two XYZ points. Thrown when the style is not a recognized value. Thrown when the argument statusPrompt is . Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. The picked box that contains two XYZ points. Invokes a general purpose two-click editor that lets the user to specify a rectangular area on the screen. Specifies the value that controls the style of the pick box. The method starts an editor and returns when it finishes. Returns a PickedBox that contains two XYZ points. Thrown when the style is not a recognized value. Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. The picked box that contains two XYZ points. Prompts the user to pick a point on the active work plane using specified snap settings while showing a custom status prompt string. Specifies the object snap types for this pick. Multiple object snap types can be combined with "|" Specifies the message shown on the status bar. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the argument statusPrompt is . Thrown when no work plane set in current view. Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. The point picked by user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to pick a point on the active work plane while showing a custom status prompt string. Specifies the message shown on the status bar. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the argument statusPrompt is . Thrown when no work plane set in current view. Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. The point picked by user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to pick a point on the active work plane using specified snap settings. Specifies the object snap types for this pick. Multiple object snap types can be combined with "|" Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when no work plane set in current view. Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. The point picked by user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to pick a point on the active work plane. Prompts the user to pick a point on the active work plane. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when no work plane set in current view. Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. The point picked by user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to select multiple objects which pass a custom filter while showing a custom status prompt string. A preselected set of objects may be supplied and will be selected at the start of the selection. Specifies the type of object to be selected. The selection filter. The message shown on the status bar. The previously selected set of objects. The user will be shown "Finish" and "Cancel" buttons on the dialog bar to complete the selection operation. Uncheck the "Multiple" check-box to select single object and it will return the selected object directly. The previously selected set of objects will be highlighted. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. The selection will not be automatically added to the active selection buffer. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the objectType is not a recognized value. Thrown when the selectionFilter is . Thrown when the Revit user cancelled this operation. Thrown when pPreSelected references has objects that are not the type of objectType. Thrown when objectType is PointOnElement which is not supported for selection involving preselected items. Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. A collection of references selected by the user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to select multiple objects which pass a custom filter while showing a custom status prompt string. Specifies the type of object to be selected. The selection filter. The message shown on the status bar. The user will be shown "Finish" and "Cancel" buttons on the dialog bar to complete the selection operation. Uncheck the "Multiple" check-box to select single object and it will return the selected object directly. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. The selection will not be automatically added to the active selection buffer. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the objectType is not a recognized value. Thrown when the selectionFilter is or statusPrompt is . Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. A collection of references selected by the user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to select multiple objects which pass a customer filter. Specifies the type of object to be selected. The selection filter. The user will be shown "Finish" and "Cancel" buttons on the dialog bar to complete the selection operation. Uncheck the "Multiple" check-box to select single object and it will return the selected object directly. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. The selection will not be automatically added to the active selection buffer. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the objectType is not a recognized value. Thrown when the selectionFilter is . Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. A collection of references selected by the user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to select multiple objects while showing a custom status prompt string. Specifies the type of object to be selected. The message shown on the status bar. >The user will be shown "Finish" and "Cancel" buttons on the dialog bar to complete the selection operation. Uncheck the "Multiple" check-box to select single object and it will return the selected object directly.Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown.The selection will not be automatically added to the active selection buffer.Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the objectType is not a recognized value. Thrown when the statusPrompt is . Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. A collection of references selected by the user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to select multiple objects. Prompts the user to select multiple objects. Specifies the type of object to be selected. The user will be shown "Finish" and "Cancel" buttons on the dialog bar to complete the selection operation. Uncheck the "Multiple" check-box to select single object and it will return the selected object directly. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. The selection will not be automatically added to the active selection buffer. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the objectType is not a recognized value. Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. A collection of references selected by the user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to select one object which passes a custom filter while showing a custom status prompt string. Specifies the type of object to be selected. The selection filter. The message shown on the status bar. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. The selection will not be automatically added to the active selection buffer. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the objectType is not a recognized value. Thrown when the selectionFilter is or statusPrompt is . Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. A reference object selected by user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to select one object which passes a custom filter. Specifies the type of object to be selected. The selection filter. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. The selection will not be automatically added to the active selection buffer. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the objectType is not a recognized value. Thrown when the selectionFilter is . Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. A reference object selected by user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to select one object while showing a custom status prompt string. Specifies the type of object to be selected. The message shown on the status bar. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. The selection will not be automatically added to the active selection buffer. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the objectType is not a recognized value. Thrown when the statusPrompt is . Thrown when the Revit user cancelled this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. A reference object selected by user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Prompts the user to select one object. Prompts the user to select one object. Specifies the type of object to be selected. Revit users will be permitted to manipulate the Revit view (zooming, panning, and rotating the view), but will not be permitted to click other items in the Revit user interface. Users are not permitted to switch the active view, close the active document or Revit application in the pick session, otherwise an exception will be thrown. The selection will not be automatically added to the active selection buffer. Note: this method must not be called during dynamic update, otherwise ForbiddenForDynamicUpdateException will be thrown. Thrown when the objectType is not a recognized value. Thrown when the Revit user cancels this operation. Thrown when the Revit user tried to switch the active view, close the active document or Revit application when responding to this mode. Thrown if this method is called during dynamic update. A reference object selected by user. Note: if the user cancels the operation (for example, through ESC), the method will throw an OperationCanceledException instance. Contains the current user selection of elements within the project. The Selection object is used to retrieve the current user selected elements when an external API command is executed. Maximum coordinates (upper-right-front corner of the pick box). Minimum coordinates (lower-left-rear corner of the pick box). A class that contains two XYZ points representing the pick box on the screen. The enum that controls the style of the pick box. The style of the box depends on the direction in which the box is being drawn. It uses the Crossing style if it is being drawn from right to left, or the Enclosing style when drawn in the opposite direction. Draws the box with the style that is used when selecting objects that are completely enclosed by the box. Draws the box with the style that is used when selecting objects completely or partially inside the box. This enumerated type contains object snap types allowed to be set during PickPoint operations. Snaps to site points. Snaps to quadrant points. For arcs, jump snaps are enabled. Snaps tangent to an arc. Snaps to perpendicular elements or components. Snaps to the center of an arc. Snaps to intersections. Snaps to a work plane grid. Snaps to the nearest element or component. Snaps to the midpoint of an element or component. Snaps to the endpoint of an element or component. Snaps to nothing. This enumerated type contains object types allowed to be selected during selection operations. Whole element or subelement. Elements in linked RVT files. Any face. Any model edge. Any point on an element (on a face or curve). Whole element. Nothing. Override this post-filter method to specify if a reference to a piece of geometry is permitted to be selected. Return true to allow the user to select this candidate reference. Return false to prevent selection of this candidate. A candidate reference in selection operation. The 3D position of the mouse on the candidate reference. If an exception is thrown from this method, the element will not be permitted to be selected. Override this pre-filter method to specify if the element should be permitted to be selected. Return true to allow the user to select this candidate element. Return false to prevent selection of this element. A candidate element in selection operation. If prompting the user to select an element from a Revit Link instance, the element passed here will be the link instance, not the selected linked element. Access the linked element from Reference passed to the AllowReference() callback of ISelectionFilter. If an exception is thrown from this method, the element will not be permitted to be selected. An interface that provides the ability to filter objects during a selection operation. Enables the "Do not show again" for a task dialog. The non localized dialog identifier. It is used to store in Revit.ini the choice the user made the last time the dialog was shown. The boolean to enable or disable the do not show me again functionality. The customized localized string that shows along with the do not show again checkbox. Thrown if the TaskDialog also has VerificationText set as the two cannot coincide in the same TaskDialog. When enabled, the TaskDialog will contain a checkbox with the text specified to not show the task dialog again. By default a task dialog will not have this check box. If the user checks the check box, the next call to Show() for the indicated dialog id returns the choice the user made the last time the dialog was shown. 2020 Gets the status of the extra checkbox. Thrown when the task dialog does not have an extra checkbox or the task dialog is not shown yet. Whether the extra checkbox is checked. 2017 Shows a task dialog with title, main instruction, common buttons and default buttons. The title of the task dialog. The main instruction of the task dialog. The common buttons to be shown the task dialog. The default button of the task dialog. The user's response to the task dialog. 2011 Shows a task dialog with title, main instruction and common buttons. The title of the task dialog. The main instruction of the task dialog. The common buttons to be shown the task dialog. The user's response to the task dialog. 2011 Shows a task dialog. Shows a task dialog with title, main instruction and a Close button. The title of the task dialog. The main instruction of the task dialog. The user's response to the task dialog. 2011 Gets the status of the verification checkbox. Thrown when the task dialog does not have verification checkbox or the task dialog is not shown yet. Whether the verification checkbox is checked. 2011 Shows the task dialog. The user's response to the task dialog. Thrown when the task dialog is shown out of main thread of Revit or when an extra checkbox and a verification checkbox are enabled at the same time. 2011 Adds a CommandLink associated to the given id, displaying the indicating main content. The id of the CommandLink. This corresponds to the value returned by Show() when the link is chosen by the user. The main content of the CommandLink. Parameter mainContent cannot contain newlines. If the id has already been set to the task dialog, the new CommandLink definition overrides the old one. CommandLinks will always be shown in the dialog in the order of their ids. 2011 Adds a CommandLink to the TaskDialog. Adds a CommandLink associated to the given id, displaying the indicating main and supporting content. The id of the CommandLink. This corresponds to the value returned by Show() when the link is chosen by the user. The main content of the CommandLink. The main content of the CommandLink. Thrown when mainContent is . Thrown when mainContent is an empty string. Thrown when the mainContent contains newline characters. Parameter mainContent cannot contain newlines. If the id has already been set to the task dialog, the new CommandLink definition overrides the old one. CommandLinks will always be shown in the dialog in the order of their ids. 2011 Enables a marquee style progress bar to be displayed in the TaskDialog. Thrown if the TaskDialog also has ExtraCheckBoxText set as the two cannot coincide in the same TaskDialog. When true, the TaskDialog will display a progress bar that has an indeterminate start and stop. A progress bar is a window that an application can use to indicate the progress of a lengthy operation. It consists of a rectangle that is animated as an operation progresses. The animation continues until the TaskDialog is closed. The default value is false. 2020 Whether the TaskDialog's title will automatically have the add-in name added as a prefix. The default value is true. 2011 The push buttons displayed in the task dialog. If no common button or CommandLink is added to the task dialog, the dialog will contain the Close common button by default. Revit task dialogs are following these conventions for commit button usage: Use a single Close button instead of a single OK button on informational messages. Use a question at the end of the Main Instruction with a Yes/No combo (or Yes/No/Cancel) instead of OK/Cancel. This should work 99% of the time. For example: "Are you sure you want to overwrite the file?" and use Yes/No buttons. Do not customize the button names unless there is a very good reason to do so. For example, "Are you sure you want to save the file?" would use Yes/No buttons and not Save/No or Save/Cancel. 2011 The icon shown in the task dialog. There is no icon by default. Task dialogs in Revit rarely use icons, to reduce the visual clutter shown to the user. Only one icon can be used in the task dialog, the Warning (!) icon, and it should be used only when there is a risk of data loss or significant time lost. If there is no data loss or time lost as a possible result of the message, do not use the icon. 2011 The default button for the dialog. If DefaultButton is TaskDialogResult.None or its value does not correspond to any CommonButton or CommandLink in the dialog, then the first button in the dialog will be the default. 2011 Whether the task dialog can be cancelled if no cancel button is specified. The default value is true. If there is a cancel button in the task dialog, the it always can be cancelled. 2011 FooterText is used in the footer area of the task dialog. HTML Hyperlink tags can be used when specifying Footertext. These will work like normal hyperlinks where clicking them will launch the default browser to the location specified. Revit special cases hyperlinks containing the single character '#' to indicate to launch Revit's contextual help for the dialog. The Topic passed for the contextul help takes the form H[id] where id is the Id for the task dialog. 2011 ExtraCheckBoxText is used to label the extra checkbox. Thrown if the TaskDialog also has EnableMarqueeProgressBar set as the two cannot coincide in the same TaskDialog. If ExtraCheckBoxText is set, a checkbox with the text will be shown. You can get the response of checkbox by checking the return value of the WasExtraCheckBoxChecked() method. 2017 VerificationText is used to label the verification checkbox. Thrown if the TaskDialog has already enabled the Do not show message as the two cannot coincide in the same TaskDialog. If VerificationText is set, a checkbox with the text will be shown. You can get the response of checkbox by checking the return value of the WasVerificationChecked() method. 2011 ExpandedContent is hidden by default and will display at the bottom of the task dialog when the "Show details" button is pressed. If added to a dialog, a Show/Hide toggle button displays at the bottom of the task dialog. The Expanded Content is hidden by default. This area is used when even more information needs to be relayed to the user than space allows. It is rarely used, but can be used for showing technical information passed through in a variable, for example back-end error information, lists of files, etc. Variable information should always be introduced with a lead-in sentence. 2011 MainContent is the smaller text that appears just below the main instructions. The Main Content is optional. It should be used to give further explanation to the user, such as how to correct the problem or work around the situation. It displays in a smaller black font below the main instructions. Follow these guidelines: Text should be clear and jargon free. Main content should not simply restate the main instructions in a different way, they should contain additional information that builds upon or reinforces the main instructions. Main content should be written in sentence format (normal capitalization and punctuation). Address the user directly as "you" when needed. 2011 The Id of the task dialog. Id is used as follows:
  • TaskDialogShowingEventArgs.DialogId for DialogBoxShowing events
  • As part of the Contextual Help Topic when invoking Revit contextual help
2011
The large primary text that appears at the top of a task dialog. It should concisely sum up the problem or situation that is causing the message to display. Follow these guidelines: Every task dialog includes a main instruction. Text should not exceed three lines. Text should use plain language and be jargon free. Main instructions should be written in sentence format – normal capitalization and punctuation. Address the user directly as "you" when appropriate. When presented with multiple command link options the standard final line for the main instructions should be, "What do you want to do?" Revit will automatically break lines to make the message fit well. "\n" also breaks down to the next line. For a paragraph break, use "\n\n". Hyperlinks added to the main instructions will not be enabled when the dialog is shown on Vista. 2011 Title of the task dialog. Thrown when setting the value to . Thrown when setting the value to an empty string or string contains newline characters. Titles of task dialogs should be unique. Do not reuse the same title for multiple task dialogs. Newline characters are not allowed in Title. When the dialogs is shown, Revit will put "External Command Name –" or "External Application –" in the front of the value by default. Examples: Plug-in Name – No Rooms to Calculate Plug-in Name – Invalid Value for Length You can suppress it by setting TitleAutoPrefix to false. Titles should describe the nature of the problem or state the situation that currently exists. The title tells the user why they are getting the message, not what they are supposed to do. 2011 Creates a task dialog with title. Thrown when title is . Thrown when title is an empty string. 2011 A task dialog is a dialog box that can be used to display information and receive simple input from the user. It has a common set of controls that are arranged in a standard order to assure consistent look and feel. There are two ways to create and show a task dialog to the user. The first option is to construct the TaskDialog, set its properties individually, and use the instance method Show() to show it to the user. The second is to use one of the static Show() methods to construct and show the dialog in one step. When you use the static methods only a subset of the options can be specified. Please follow Revit standards to create task dialogs. The standards are listed in the remarks of each property or method. 2011 Standard icons to be used in the task dialog. 2011 Shield icon. 2018 Information icon. 2018 Error icon. 2018 Warning icon. No icon. Enum to specify the task dialog result. 2011 The return value for CommandLink whose Id is TaskDialogCommmandLinkId.CommandLink4. The return value for CommandLink whose Id is TaskDialogCommmandLinkId.CommandLink3. The return value for CommandLink whose Id is TaskDialogCommmandLinkId.CommandLink2. The return value for CommandLink whose Id is TaskDialogCommmandLinkId.CommandLink1. The return value for TaskDialogCommonButtons.Close. The return value for TaskDialogCommonButtons.No. The return value for TaskDialogCommonButtons.Yes. The return value for TaskDialogCommonButtons.Retry. The return value for TaskDialogCommonButtons.Cancel or the task dialog is cancelled by ESC, Alt+F4 or the X close button. The return value for TaskDialogCommonButtons.Ok. Nothing is returned from the task dialog. Enum to specify the Id of CommandLink. 2011 CommandLink4. CommandLink3. CommandLink2. CommandLink1. A enumerated type containing the standard buttons available for Task Dialogs. 2011 Close button. Retry button. Cancel button. No button. Yes button. OK button. No common button. The image of the TextBox. The image will be shown on the left side of the item. The best size is 16 x 16 pixels. 2011 Constructs a new instance of TextBoxData. The internal name of the TextBoxData. Thrown when is passed for name. Thrown when an empty string is passed for name. 2011 This class contains information necessary to construct a text box in the Ribbon. 2011 Subscribe to this event to be notified when the Enter button is pressed in the text box. Gets or sets the width of the TextBox. The value for this property must be positive and cannot be Infinity. This value is interpreted in device-independent units (1/96th inch) measurement device-independent units. The default value is 200. 2011 Gets or sets a value that indicates if the Image set in the text box should be displayed as a clickable button. If this property is true, the image will shown as a button inside the textbox. Clicking this button will trigger the EnterPressed event. The default value is false. 2011 The image of the TextBox. The image will be shown on the left side of the item. The best size is 16 x 16 pixels. 2011 The object that supplies the text value. The value assigned to the TextBox can be a or any other data type. If the type is not a String the TextBox will display the return of the ToString() method. When the text is edited in the UI, the type of Value will always be . 2011 A value that indicates if the text is selected when the text box gains focus. If the value is true all the text in the text box will be selected when the text box gets keyboard focus. If it is false the text is not selected. The default value is false. 2011 The prompt text for the text box. Prompt text is displayed when the text box is empty and does not have keyboard focus. This text is displayed in italics. The default value is . 2011 The TextBox object represents text-based control that allows the user to enter text. The ItemText property inherited from RibbonItem has no effect. The text entered in the TextBox is edited by the UI user is accepted only if the user presses the Enter key or click the image button when ShowImageAsButton is true. If the user clicks off of this component without pressing Enter or click the image button; then the text will be reverted to the previous value. Use of this class is not supported in Revit Macros. 2011 The image shown on the ComboBox. The image will be shown on the left side of the item. The best size is 16 x 16 pixels. 2011 Constructs a new instance of ComboBoxData. The internal name of the ComboBoxMember. Thrown when is passed for name. Thrown when an empty string is passed for name. 2011 This class contains information necessary to construct a combo box in the Ribbon. 2011 Subscribe to this event to be notified when the current item of the ComboBox is changed. Subscribe to this event to be notified when the drop-down of the ComboBox is closed. Subscribe to this event to be notified when the drop-down of the ComboBox is opened. Gets the copy of a collection of the ComboBoxMembers assigned to the ComboBox. 2011 Adds a separator to the drop-down list. The separator will be added below the last added member. 2011 Adds a new items to the ComboBox. An object list containing the data needed to construct the ComboBoxMember. Thrown when memberData is . Thrown when button with memberData.Name already exists in the drop-down list. The newly added ComboBoxMembers. 2011 Adds a new item to the ComboBox. An object containing the data needed to construct the ComboBoxMember. Thrown when memberData is . Thrown when button with memberData.Name already exists in the drop-down list. The newly added ComboBoxMember. 2011 The image shown on the ComboBox. The image will be shown on the left side of the item. The best size is 16 x 16 pixels. 2011 Gets or sets the current checked ComboBox member of the ComboBox. The default value is the first ComboBox member added to the ComboBox. Thrown when trying to set this property to . Thrown when trying to set this property to a button not in this ComboBox. 2011 This class represents a selection control with a drop-down list that can be shown or hidden by clicking the arrow. The order of items shown in the ComboBox depends upon the order which they were added, unless the ComboBoxMembers have been assigned to groups. If the members have been assigned groups, they will be sorted to fall under their groups regardless of the order in which they were added. Use of this class is not supported in Revit Macros. 2011 Gets or sets a group name for the ComboBoxMember. The GroupName is used to group the items and also appears in the group header. All ComboBoxMembers assigned to the same group will be grouped in the ComboBox. There will be a header that shows the name. The default value is . 2011 The image shown on the ComboBoxMember. The image will be shown on the left side of the item when the item is added to a ComboBox. The best size is 16 x 16 pixels. 2011 The user-visible text of the ComboBoxMember. Thrown when setting the value to . Thrown when setting the value to an empty string, or when the value contains invalid characters. 2011 Constructs a new instance of ComboBoxMemberData. The internal name of the ComboBoxMember. The user visible text seen on the item. Thrown when is passed for one or more arguments. Thrown when an empty string is passed for one or more arguments. 2011 This class contains information necessary to construct a ComboBoxMember. 2011 The group to which the ComboBoxMember is assigned. If set, the ComboBoxMember appears under a group header in the ComboBox. If , the ComboBoxMember is not a member of any group. The default value is . 2011 The image shown on the ComboBoxMember. The image will be shown on the left side of the item. The best size is 16 x 16 pixels. 2011 This class represents an item in the drop-down list of a ComboBox. Note that a ComboBoxMember will not show an individual tool tip. Use of this class is not supported in Revit Macros. 2011 Constructs a new instance of PulldownButtonData. The internal name of the new button. The user visible text seen on the new button. Thrown when is passed for one or more arguments. Thrown when an empty string is passed for one or more arguments. This class contains information necessary to construct a pulldown button in the Ribbon. Adds a separator to the drop-down list. The separator will appear just below the last added PushButton. Adds a new pushbutton to the pulldown button and associates it with an ExternalCommand. An object containing the data needed to construct the pushbutton. The new button will display its large image if PushButton.LargeImage is set. Thrown when buttonData is . Thrown when button with buttonData.Name already exists in the button. The newly added pushbutton. Gets a copy of the collection of buttons assigned to the pulldown button. The PulldownButton object represents a button with a drop-down list on RibbonPanel. Use of this class is not supported in Revit Macros. Subscribe to the TransferredProjectStandards event to be notified after the scope of a Transfer Project Standards operation has been finalized in the Transfer Project Standards dialog. This event is raised just after the native Revit items have been transferred, but before the transaction has been committed. An add - in that registered external items in should subscribe to this event to carry out the transfer of any items that it registered if the user enabled those items for transfer. During the scope of this event, modification is permitted to the target document and modification is not permitted to the source document. 2017.2 Subscribe to the TransferringProjectStandards event to be notified before the scope of an impending Transfer Project Standards operation has been finalized. This event allows an external application to add additional items to the possible list of items to be transferred. These items will be visible and selectable in the Transfer Project Standards dialog box. By default, new items added in this manner will be enabled for transfer. During the scope of this event, modification is not permitted to either the source or target documents. And this event is not cancellable. 2017.2 Subscribe to MEP Fabrication part browser changed event to be notified when MEP Fabrication part browser is updated. 2017 Subscribe to GenericDockableFrame activated event to be notified when Revit GenericDockableFrame is active or inactive. 2015 Subscribe to GenericDockableFrame showing or hiding event to be notified when Revit GenericDockableFrame is showing or hiding. 2015 Subscribe to the options dialog displaying event to be notified when Revit options dialog is displaying. 2013 Subscribe to the Idling event to be notified when Revit is not in an active tool or transaction. This event is raised when it is safe for the API application to access the active document between user interactions. The event is raised only when the Revit UI is in a state where the user could successfully click on an API command button. Handlers of this event are permitted to make modifications to any document (including the active document), except for documents that are currently in read-only mode. In order to change a document, you must begin a new transaction for that document. This transaction will appear in the Revit undo stack and may be undone by the Revit user. This event is invoked between user actions in the Revit UI. If the handler for this event requires a significant amount of processing time, users will perceive a slowdown in the responsiveness of Revit. If the execution for updates can be safely split across multiple calls to this event, the user perception of Revit responsiveness will be improved. There are two ways to use this event. In the default mode, a single raise of the event will be made each time Revit begins an idle session. Note that when the user is active in the Revit user interface, idle sessions begin whenever the mouse stops moving for a moment or when a command completes. However, if the user is not active in the user interface at all, Revit may not invoke additional idling sessions for quite some time; this means that your application may not be able to take advantage of time when the user leaves the machine completely for a period of time. In the non-default mode, your application forces Revit to keep the idling session open and to make repeated calls to your event subscriber. In this mode even if the user is totally inactive the Revit session will continue to make Idling calls to your application. However, this can result in performance degradation for the system on which Revit is running because the CPU remains fully engaged in serving Idling events during the Revit application's downtime. You can indicate the preference for the non-default Idling frequency by calling each time the Idling event callback is made. Revit will revert to the default Idling frequency if this method is not called every time in your callback. Event is not cancellable. Subscribe to the DialogBoxShowing event to be notified when Revit is just about to show a dialog box or a message box. This event is raised when Revit is just about to show a dialog box or a message box. Event is not cancellable. The 'Cancellable' property of event's argument is always False. Depending on the type of the dialog that is being shown, the event's argument's type varies as follows: When it is a dialog box, the event's argument is an object of . When it is a message box, the event's argument is an object of ,which is subclass of DialogBoxShowingEventArgs. When it is a task dialog, the event's argument is an object of ,which is subclass of DialogBoxShowingEventArgs. No document may be modified during this event. The following API functions are not available for the current document during this event:
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event.
Subscribe to the ApplicationClosing event to be notified when the Revit application is just about to be closed. This event is raised when the Revit application is just about to be closed. Event is not cancellable. The 'Cancellable' property of event's argument is always False. No document may be modified at the time of the event. The sender object of this event is object. Subscribe to the FormulaEditing event Subscribe to the ViewActivated event to be notified immediately after Revit has finished activating a view of a document. This event is raised immediately after Revit has finished activating a view of the document. It is raised even when view activating failed or was cancelled (during ViewActivating event). Check the 'Status' field in event's argument to see whether the action itself was successful or not. This event is not cancellable, for the process of view activating has already been finished. The document may be modified during this event. The following API functions are not available for the current document during this event:
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event.
Subscribe to the ViewActivating event to be notified when Revit is just about to activate a view of a document. This event is raised when Revit is just about to activate a view of the document. Event is not cancellable. The 'Cancellable' property of event's argument is always False. Your application is responsible for providing feedback to the user about the reason for the cancellation. The document may be modified during this event. The following API functions are not available for the current document during this event:
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event. Another event will be raised immediately after view activating is finished.
Set the content of backstage. Identifies if the current Revit session is running in Viewer mode 2019.1 Indicates whether this add-in is loaded on the fly or not. If it is loaded when Revit is starting up, it is false, otherwise it should be true. Returns the database level ControlledApplication represented by this UI-level ControlledApplication. Represents the Autodesk Revit user interface, providing access to UI customization methods and events. This class does not provide access to documents because it is provided to you through the ExternalApplication OnStartup()/OnShutdown() methods, and those methods are when it is not possible to work with Revit documents. You can work with documents by getting them from the UIApplication class; that class is obtained from events and ExternalCommand callbacks. Subscribe to the TransferredProjectStandards event to be notified after the scope of a Transfer Project Standards operation has been finalized. This event is raised just after the native Revit items have been transferred, but before the transaction has been committed. An add-in that registered external items in should subscribe to this event to carry out the transfer of any items that it registered if the user enabled those items for transfer. During the scope of this event, modification is permitted to the target document and modification is not permitted to the source document. 2017.2 Subscribe to the TransferringProjectStandards event to be notified before the scope of an impending Transfer Project Standards operation has been finalized in the Transfer Project Standards dialog. This event allows an external application to add additional items to the possible list of items to be transferred. These items will be visible and selectable in the Transfer Project Standards dialog box. By default, new items added in this manner will be enabled for transfer. During the scope of this event, modification is not permitted to either the source or target documents. And this event is not cancellable. 2017.2 Subscribe to MEP Fabrication part browser changed event to be notified when MEP Fabrication part browser is updated. More docs about the different conditions goes here 2017 Subscribe to this event to be notified when a Revit GenericDockableFrame has gained focus or lost focus in the Revit user interface. This event is called only for API-created GenericDockableFrames. This event is raised when the GenericDockableFrame is just about to be active or inactive. Event is not cancellable. The 'Cancellable' property of event's argument is always False. No document may be modified at the time of the event. The following API functions are not available for the current document during this event:
  • All overloads of Autodesk.Revit.DB.Document.Export()
  • All overloads of Autodesk.Revit.DB.Document.Import()
  • Autodesk::Revit::DB::Document::Print
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event.
2015
Subscribe to this event to be notified when a Revit GenericDockableFrame has been shown or hidden in the Revit user interface. This event is called only for API-created GenericDockableFrames. This event is raised when the GenericDockableFrame is just about to be shown or hidden. Event is not cancellable. The 'Cancellable' property of event's argument is always False. No document may be modified at the time of the event. The following API functions are not available for the current document during this event:
  • All overloads of Autodesk.Revit.DB.Document.Export()
  • All overloads of Autodesk.Revit.DB.Document.Import()
  • Autodesk::Revit::DB::Document::Print
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event.
2015
Subscribe to the options dialog displaying event to be notified when Revit options dialog is displaying. 2013 Subscribe to the ApplicationClosing event to be notified when the Revit application is just about to be closed. This event is raised when the Revit application is just about to be closed. Event is not cancellable. The 'Cancellable' property of event's argument is always False. No document may be modified at the time of the event. The sender object of this event is object. 2010 Subscribe to the Idling event to be notified when Revit is not in an active tool or transaction. This event is raised when it is safe for the API application to access the active document between user interactions. The event is raised only when the Revit UI is in a state where the user could successfully click on an API command button. Handlers of this event are permitted to make modifications to any document (including the active document), except for documents that are currently in read-only mode. In order to change a document, you must begin a new transaction for that document. This transaction will appear in the Revit undo stack and may be undone by the Revit user. This event is invoked between user actions in the Revit UI. If the handler for this event requires a significant amount of processing time, users will perceive a slowdown in the responsiveness of Revit. If the execution for updates can be safely split across multiple calls to this event, the user perception of Revit responsiveness will be improved. There are two ways to use this event. In the default mode, a single raise of the event will be made each time Revit begins an idle session. Note that when the user is active in the Revit user interface, idle sessions begin whenever the mouse stops moving for a moment or when a command completes. However, if the user is not active in the user interface at all, Revit may not invoke additional idling sessions for quite some time; this means that your application may not be able to take advantage of time when the user leaves the machine completely for a period of time. In the non-default mode, your application forces Revit to keep the idling session open and to make repeated calls to your event subscriber. In this mode even if the user is totally inactive the Revit session will continue to make Idling calls to your application. However, this can result in performance degradation for the system on which Revit is running because the CPU remains fully engaged in serving Idling events during the Revit application's downtime. You can indicate the preference for the non-default Idling frequency by calling each time the Idling event callback is made. Revit will revert to the default Idling frequency if this method is not called every time in your callback. Event is not cancellable. 2010 Subscribe to the FormulaEditing event to be notified when the edit formula button has been clicked. Subscribe to the DialogBoxShowing event to be notified when Revit is just about to show a dialog box or a message box. This event is raised when Revit is just about to show a dialog box or a message box. Event is not cancellable. The 'Cancellable' property of event's argument is always False. Depending on the type of the dialog that is being shown, the event's argument's type varies as follows: When it is a dialog box, the event's argument is an object of . When it is a message box, the event's argument is an object of ,which is subclass of DialogBoxShowingEventArgs. When it is a task dialog, the event's argument is an object of ,which is subclass of DialogBoxShowingEventArgs. No document may be modified during this event. The following API functions are not available for the current document during this event:
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event.
2010
Subscribe to the ViewActivated event to be notified immediately after Revit has finished activating a view of a document. This event is raised immediately after Revit has finished activating a view of the document. It is raised even when view activating failed or was cancelled (during ViewActivating event). Check the 'Status' field in event's argument to see whether the action itself was successful or not. This event is not cancellable, for the process of view activating has already been finished. The document may be modified during this event. The following API functions are not available for the current document during this event:
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event.
2010
Subscribe to the ViewActivating event to be notified when Revit is just about to activate a view of a document. This event is raised when Revit is just about to activate a view of the document. Event is not cancellable. The 'Cancellable' property of event's argument is always False. Your application is responsible for providing feedback to the user about the reason for the cancellation. The document may be modified during this event. The following API functions are not available for the current document during this event:
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event. Another event will be raised immediately after view activating is finished.
2010
Updates model status on the Worksharing activity indicator. The indicator is enabled only when the active document is cloud Worksharing. True if the central model is busy. An array with the usernames of the users which are currently syncing A non-optional argument was null 2020.1 Updates model status on the Worksharing activity indicator. The indicator is enabled only when the active document is cloud Worksharing. True if the central model is busy. 2019.1 Opens and activates a Revit document. A non-optional argument was null Opens and activates a Revit document, include both local document or cloud document. This method, if successful, changes the active document. It is not allowed to have an open transaction in the active document when calling this method. Consequently, this method can only be used in manual transaction mode, not in automatic mode. Additionally, this method may not be called from inside an event handler. A path to a Revit file to be opened. The file can be either a Revit project, template, or family document. Options for opening the file. True means if openOptions specifies DoNotDetach, then for workshared models detach from central and query the user whether to preserve or discard worksets. make no sense when opening a cloud document. Callback function that allow caller to handle cases when conflicts happen during opening a cloud document. Make no sense when opening a non-cloud document. The opened document. If DetachFromCentralOption is not DoNotDetach when opening a cloud document.
  • If the active document is currently modifiable.
  • If an API event handler is currently being executed.
If is passed as 'modelPath'. -or- If is passed as 'openOptions'. -or- A non-optional argument was null Cannot open the local model and the central model in the same Revit session. You can close one to open the other in the same Revit session. Thrown when file is not found at the give path.
  • Revit encountered serious errors while trying to open the central model.
  • An internal error happened on the central model, please contact the server administrator.
There are too many corrupt elements to open this model.
  • When file cannot be opened in Revit LT because it was last saved in a version of Revit prior to 8.1.
  • when file has an invalid extension. Try changing the file's extension and opening it again.
The file specified by 'modelPath' cannot be found or the given 'modelPath' is not a Revit file (a project, template, or family document). This computer does not have enough memory, disk space, or other necessary resource to open the model. The cloud model is not saved in current release of Revit. -or-
  • The document can not be opened.
  • Open is temporarily disabled.
  • Revit cannot save the transmitted model as a new central because it is already opened.
Opening was canceled by the user or by an API event callback. If there is any server internal error. User is not signed in with Autodesk id when trying to open a cloud model. User is not authorized to access the cloud model. The local file is not owned by the current user, who therefore is not allowed to modify it. 2019
Opens and activates a Revit document, include both local document or cloud document. This method, if successful, changes the active document. The model will override the local change with the latest change if it is a cloud model and it was restored, or relinquished, or out of date. It is not allowed to have an open transaction in the active document when calling this method. Consequently, this method can only be used in manual transaction mode, not in automatic mode. Additionally, this method may not be called from inside an event handler. A path to a Revit file to be opened. The file can be either a Revit project, template, or family document. Options for opening the file. True means if openOptions specifies DoNotDetach, then for workshared models detach from central and query the user whether to preserve or discard worksets. make no sense when opening a cloud document. The opened document. If DetachFromCentralOption is not DoNotDetach when opening a cloud document.
  • If the active document is currently modifiable.
  • If an API event handler is currently being executed.
If is passed as 'modelPath'. -or- If is passed as 'openOptions'. -or- A non-optional argument was null Cannot open the local model and the central model in the same Revit session. You can close one to open the other in the same Revit session. Thrown when file is not found at the give path.
  • Revit encountered serious errors while trying to open the central model.
  • An internal error happened on the central model, please contact the server administrator.
There are too many corrupt elements to open this model.
  • When file cannot be opened in Revit LT because it was last saved in a version of Revit prior to 8.1.
  • when file has an invalid extension. Try changing the file's extension and opening it again.
  • when file was saved by an application that was not developed or licensed by Autodesk.
The file specified by 'modelPath' cannot be found or the given 'modelPath' is not a Revit file (a project, template, or family document). This computer does not have enough memory, disk space, or other necessary resource to open the model. The cloud model is not saved in current release of Revit. -or-
  • The document can not be opened.
  • Open is temporarily disabled.
  • Revit cannot save the transmitted model as a new central because it is already opened.
Opening was canceled by the user or by an API event callback. If there is any server internal error. User is not signed in with Autodesk id when trying to open a cloud model. User is not authorized to access the cloud model. The local file is not owned by the current user, who therefore is not allowed to modify it. 2013
Opens and activates a Revit document. This method, if successful, changes the active document. It is not allowed to have an open transaction in the active document when calling this method. Additionally, this method may not be called from inside an event handler. A full path to a revit file to be opened. The file can be either a Revit project, template, or family document. The opened document. The given 'fileName' is not a Revit file (a project, template, or family document). If is passed as 'fileName'. -or- A non-optional argument was null The file specified by 'fileName' cannot be found.
  • If the active document is currently modifiable.
  • If an API event handler is currently being executed.
If there is any server internal error. 2012
Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 Determines if Revit session is in Viewer mode. 2019.1 Returns the database level Application represented by this UI level Application. Open a recent model on revit home. Get the handle of the Revit main window. Returns the main window handle of the Revit application. This handle should be used when displaying modal dialogs and message windows to insure that they are properly parented. This property replaces System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle property, which is no longer a reliable method of retrieving the main window handle starting with Revit 2019. 2019 Adds a new dockable pane to the Revit user interface. Unique identifier for the new pane. String to use for the pane caption. Your add-in's implementation of the IDockablePaneProvider interface. Thrown if a dockable pane with identifier %id% has already been registered. 2014 Identifies if the current Revit product has an RS designation. Most add-ins will not need to use this information. 2019 Gets a DockablePane object by its ID. Unique identifier for the new pane. Thrown if no dockable pane has been registered with identifier %id%. Thrown if the dockable pane with identifier %id% has not been created yet. 2014 Loads add-ins from the given packageContents.xml file. The name of package contents file Thrown when manifest file which is specified by packageContentsPath doesn't exist. Thrown if the add-in file path specified by packageContentsPath is null, Or packageContentsPath is null. Thrown if the add-in specified by packageContentsPath doesn't end with 'addin' or packageContentsPath is a zero-length string. Thrown if the packageContentsPath is not found. Thrown if the manifest file specified by packageContentsPath can't be parsed successfully. Thrown when any of the newly added external applications fails to load and/or initialize properly, possibly because of one of the following reasons: AllowLoadingIntoExistingSession property is 'No'.Client id is duplicated.External application start up failed. Thrown if packageContentsPath file that was found could not be loaded. 2014 Loads add-ins from the given manifest file.

This method loads the add-ins listed in the provided add-in manifest file. The API will look for the file in the dedicated folders supported by Revit for loading add-in manifest files.

Some add-ins may have settings in which they decline the ability for Revit to load the external application declared in the .addin in mid-session. This happens when the AllowLoadingIntoExistingSession tag is set to "No" in the add-in manifest file, and if the tag isn't present, the default is set to "Yes".

Note that when Revit starts an add-in in the middle of the session, some add-in logic may not function as expected because of the different interactions with the session. Specifically: If the application's goal is to prevent something from happening, the application may not be able to handle the fact that this activity has already happened in the existing session. If the application's goal is to manage external information in synch with documents loaded in the session, the application may not be able to handle documents that were loaded before the application started. If the application's logic depends on the ApplicationInitialized event, this event has already been called before the add-in was loaded.

Also, some add-ins may not be able to fully initialize when loading in the middle of the session. This is because some activities must take place at the start of the Revit session: Creation of custom failure definitionsEstablishment of a system-wide IFailureProcessor to handle all failures.Registering ExternalServices.

The name of the add-in manifest file including the extension is to identify the manifest file which contains Revit add-ins. Thrown when manifest file which is specified by fileName doesn't exist. Thrown if the fileName is null or empty. Thrown if the fileName doesn't end with 'addin'. Thrown if the manifest file can't be parsed successfully. Thrown when any of the newly added external applications fails to load and/or initialize properly, possibly because of one of the following reasons: AllowLoadingIntoExistingSession property is 'No'.Client id is duplicated.External application start up failed. 2014
Removes an AddInCommandBinding. The Revit command id to identify the command handler you want to remove the binding. Thrown when uiApplication or revitCommandId is . Thrown when the given command is not bound with this add-in. 2013 Creates a new AddInCommandBinding. The Revit command id to identify the command handler you want to replace. Thrown when uiApplication or revitCommandId is . Thrown when the given command already has been bound. 2013 Get current active external application or external command id. Returns an array of successfully loaded external applications. This property can be used by your application to find all successfully loaded external applications when Revit starts. Get all the custom Panels on a designated Revit tab. The name of the tab on which the panels are located. Built-in panels will not be included. tabName must be the name of one of the tabs added by . This method is not supported in Macros. Get all the custom Panels on a designated standard Revit tab. The tab on which the panels are located. Built-in panels will not be included. This method is not supported in Macros. Get all the custom Panels on Add-Ins tab of Revit. The built-in panels won't be included and the panels added to tabs other than Add-Ins will not be included. This method is not supported in Macros. Create a new RibbonPanel on the designated standard Revit tab. The target tab, on which the new panel will be created. The name of the panel to be created. panelName is . panelName is Empty or the tab is not valid. If more than 100 panels were created or the tab cannot be found. This method will create a custom panel appending to the specified tab. This method is not supported in Macros. Create a new RibbonPanel on the Add-Ins tab. The name of the panel to be created. panelName is . panelName is Empty. If more than 100 panels were created. This method will create a custom panel appending to the Revit AddIns tab. This method is not supported in Macros. Create a new RibbonPanel on the specified tab. The name of the tab, on which the new panel will be created. The name of the panel to be created. tabName or panelName is . tabName or panelName is Empty. Too many panels have been added to this tab (Maximum is 100). This method will create a custom panel appending to the specified tab. This method is not supported in Macros. This fils contails the Ribbons related methods which may need to be overrideed in subclasses. Creates a new tab on the Revit user interface. The name of the tab to be created.tabName or panelName is .tabName or panelName is Empty or the tab name duplicates the name of another tab in the Revit UI.Too many custom tabs have been created in this session. (Maximum is 20). This method will create a custom tab at the end of the list of static tabs. If multiple tabs are added, they will be shown in the order added. This method is not supported in Macros. Posts the command to the Revit message queue to be invoked when control returns from the current API context. The command Id. Thrown when commandId is . If the command cannot be posted. If there is a command already been posted. 2014 Identifies if the given command can be posted, using . The command Id. Thrown when commandId is . Only members of Autodesk.Revit.UI.PostableCommand or external commands can be posted. 2014 Initiates a drag and drop operation with a custom drop implementation. Any arbitrary data to be passed to the drop handler when the drop occurs. The handler to be executed when the drop occurs. When the user inputs IControllableDropHandler, it allows the handler to verify whether the drop event can be executed on the given view; When the user inputs IDropHandler the handler will be executed without any condition. Thrown when dropData or handler is . 2013 Initiates a drag and drop operation of a collection of file names on the Revit user interface. The behavior after the 'dragData' dragged onto Revit is listed bellow: Only one AutoCAD format or image file dragged onto Revit: a new import placement editor will be started for import the file; More than one AutoCAD format or image files dragged onto Revit: a new import placement editor will be started only for the first AutoCAD format or image file; Only one family file dragged onto Revit: the family will be loaded, and an editor will be started to place the family; More than one family files dragged onto Revit: all the families will be loaded; More than one family files including other format files dragged onto Revit: Revit will try to open all the files; If a valid file or list of files is passed, Revit will do its best to use them appropriately. If any files are not usable, failure will be signalled to the interactive Revit user (and will not be signalled to the application with an exception). The list of file paths and names. Thrown when dropData is . Thrown when dropData contains a file that doens't exist. 2013 Get the rectangle that represents the screen pixel coordinates of drawing area. The drawing area of the Revit window displays views (and sheets and schedules) of projects. The size of drawing area restricts the max size of the view titles and windows, the value may be empty if modal browser is opened. If there is no project opened, null will be returned. 2011 Get the rectangle that represents the screen pixel coordinates of the Revit main window. 2011 Provides access to an object that represents the currently active project. External API commands can access this property in read-only mode only! The ability to modify the property is reserved for future implementations. Thrown when attempting to modify the property. Use a database level Application to construct a UI-level Application. Thrown when the Application argument is a null pointer. Represents an active session of the Autodesk Revit user interface, providing access to UI customization methods, events, the main window, and the active document. You can access documents from the database level Application object, obtained from the Application property. If you have an instance of the database level Application object, you can construct a UIApplication instance from it. Method called during initialization of the user interface to gather information about a dockable pane window. Container for information about the new dockable pane. Implementers should set the FrameworkElement and InitialState Properties. Optionally, providers can set the ContextualHelp property if they wish to provide or react to help requests on the pane, or override the default EditorInteraction property by setting it here. 2014 Interface that the Revit UI will call during initialization of the user interface to gather information about add-in dockable pane windows. 2014 Controls the default visibility of the pane upon the first time the pane/plugin is loaded into Revit. By default, panes will be created and shown in the Revit UI when Revit is launched for the first time. Subsequent loads of the Revit UI will determine the visibility of the panes based upon there state at the close of the previous Revit session. Providers can set this to false if they wish there panes to NOT be shown by default. 2017 Defines the interaction this pane has with the Active Editor when the pane becomes active. Set to KeepAlive to keep the current editor active and keep active the current selection or Dismiss to dismiss the Editor and clear the active selection. Default is to KeepAlive the current editor. 2017 The contextual help associated with the pane. If set, the contents of this Contextual Help will be used to respond to a user request for help (typically this is as a result of pressing F1 while the dockable pane has focus). 2016 The initial position of the docking pane. This position will be used for the first Revit session in which the pane is registered; afterwards, the user is free to reposition the pane, and the user's saved position will be remembered in future sessions. 2014 A creator that will be called for the pane if the FrameworkElement is not set. This is more dynamic in nature and allows for embedding things like WebBrowser controls that cannot be cached for reuse in each pane invocation but rather needs creating each time. 2018 The Windows Presentation Framework object containing the pane's user interface. Using a System.Windows.Controls.Page is recommended. This can be null, in which case it is assumed an IFrameworkElementCreator is provided to create the element on demand. 2014 Wrapper function that returns the FrameworkElement for this provider. FrameworkElement to use as the pane's user interface. If an IFrameworkElementCreator is provided, that will be called to generate the element, otherwise, the FrameworkElement associated with the provider is returned. 2018 Information about a new dockable pane being added to the Revit user interface. 2014 The type of interaction. This property is overridable to allow for clients to dynamically return the type. For example, if your pane interacts with certain editors or has different "modes" based on user workflow. Construct the interaction with the specified type. Construct a default interaction. Wraps the EditorInteractionType for the Pane to allow for clients to override their type dynamically if need be. 2017 Method called to create the FrameworkElement. 2018 Interface that the Revit UI will call, if present, to construct the FrameworkElement for the pane. 2018 Returns true if %id% refers to a dockable pane window that currently exists in the Revit user interface, whether it's hidden or shown. A non-optional argument was null 2014 Returns true if %id% refers to a built-in Revit dockable pane, or an add-in pane that has been properly registered with %Autodesk.Revit.UI.UIApplication.RegisterDockablePane%. A non-optional argument was null 2014 Returns true if %id% refers to a built-in Revit dockable pane, rather than one created by an add-in. A non-optional argument was null 2014 Identify the pane is currently visible or in a tab. 2015 If the pane is on screen, hide it. Has no effect on built-in Revit dockable panes. 2014 If the pane is not currently visible or in a tab, display the pane in the Revit user interface at its last docked location. 2014 Returns the current title (a.k.a. window caption) of the dockable pane. 2014 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The unique identifier for this dockable pane. 2014 Constructs a new copy of the input DockablePane object. A non-optional argument was null 2014 Gets the pane with identifier %id%. no dockable pane has been registered with identifier id. -or- the dockable pane with identifier id has not been created yet. A non-optional argument was null 2014 A user interface pane that participates in Revit's docking window system. 2014 When %dockPosition% is Floating, sets the rectangle used to determine the size and position of the pane when %dockPosition% is Floating. Coordinates are relative to the upper-left-hand corner of the main Revit window. The rectangle to use when floating. Rectangle is not normalized. A non-optional argument was null 2014 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 When %dockPosition% is anything other than floating, the minimum height to use for the pane. Default is 200 pixels. When setting this property: The given value for minimumHeight is not positive. 2020 When %dockPosition% is anything other than floating, the minimum width to use for the pane. Default is 200 pixels. When setting this property: The given value for minimumWidth is not positive. 2020 Ignored unless %dockPosition% is Tabbed. The new pane will appear in a tab behind the specified existing pane ID. When setting this property: no dockable pane has been registered with identifier tabBehind. When setting this property: A non-optional argument was null 2014 When %dockPosition% is Floating, this rectangle determines the size and position of the pane. Coordinates are relative to the upper-left-hand corner of the main Revit window. Note: the returned Rectangle is a copy. In order to change the pane state, you must call SetFloatingRectangle with a modified rectangle. 2014 Which part of the Revit application frame the pane should dock to. When setting this property: A value passed for an enumeration argument is not a member of that enumeration 2014 Constructs a new copy of the input DockablePaneState object. A non-optional argument was null 2014 Creates a new DockablePaneState object. 2014 Describes where a dockable pane window should appear in the Revit user interface. 2014 Which part of the Revit application frame the pane should dock to. 2014 2014 Defines the type of interactions a pane has with the active editor when it becomes active in the Revit UI. 2017 2017 Keeps the active editor alive during pane activation. This results in the current selection being kept active and available to the pane. One example built-in dockable pane that uses this mode is the Revit Property Palette. Dismiss the active editor during pane activation. This results in the current selection being cleared and the editor canceled. One example built-in dockable pane that uses this mode is the Revit Project Browser. Update all open views in this document after elements have been changed, deleted, selected or de-selected. Graphics in the views are fully redrawn regardless of which elements have changed. This function should only rarely be needed, but might be required when working with graphics drawn from outside of Revit's transactions and elements, for example, when using . This function is potentially expensive as many views may be updated at once, including regeneration of view's geometry and redisplay of graphics. Thus for most situations it is recommended that API applications rely on the Revit application framework to update views more deliberately. 2018 Get a collection of valid placement types for input family symbol. The family symbol. The view in which the family instance will be placed in. A non-optional argument was null 2017 Saves the document to a file name obtained from the Revit user optionally prompting the user to overwrite file if it exists. This method may not be called unless all transactions, sub-transactions, and transaction groups that were opened by the API code were closed. That also implies that this method cannot be called during dynamic updates. UI options for the SaveAs operation. A non-optional argument was null SaveAs may not be called during dynamic update. Is not a primary document, it is a linked document. -or- SaveAs is temporarily disabled. -or- Thrown if there are any transactions, sub-transactions or transaction groups which were opened by the API code, and not closed. All of these items must be handled before attempting to save the document. Thrown if saving is cancelled by an external application during 'DocumentSavingAs' event. 2016 Saves the document to a file name obtained from the Revit user without prompting the user to overwrite file if it exists. This method may not be called unless all transactions, sub-transactions, and transaction groups that were opened by the API code were closed. That also implies that this method cannot be called during dynamic updates. SaveAs may not be called during dynamic update. Is not a primary document, it is a linked document. -or- SaveAs is temporarily disabled. -or- Thrown if there are any transactions, sub-transactions or transaction groups which were opened by the API code, and not closed. All of these items must be handled before attempting to save the document. Thrown if saving is cancelled by an external application during 'DocumentSavingAs' event. Verifies that the user can be prompted to place the input element type interactively. If an element type can be placed interactively, it may be used as input to to have the user place an instance of the element. However, this function does not evaluate whether that element instance may actually be placed in the current active view. The ElementType. True if the user can be prompted to place the input element type interactively, false otherwise. A non-optional argument was null 2015 Prompts the user to select elements to change them to the input type. This method uses its own transaction, so it's not permitted to be invoked in an active transaction. In a single invocation, the user can select multiple elements to be modified to the given type, until they finish. The ElementType applied to selected instances. A non-optional argument was null This document is not the currently active one. -or- Starting a new transaction is not permitted. It could be because another transaction already started and has not been completed yet, or the document is in a state in which it cannot start a new transaction. 2015 Prompts the user to place an element type onto a legend view. This method works only for non-annotation element types. For annotations, use PromptForFamilyInstancePlacement(Autodesk::Revit::DB::FamilySymbol) instead. This method uses its own transaction, so it's not permitted to be invoked in an active transaction. The user is not permitted to change the active legend view or during this placement operation (the operation will be cancelled). In a single invocation, the user can place multiple instances of the input element type until they finish the placement (with Cancel or ESC or a click elsewhere in the UI). The ElementType of which instances are to be placed. The input element type does not belong to a model-level category. A non-optional argument was null This document is not the currently active one. -or- Starting a new transaction is not permitted. It could be because another transaction already started and has not been completed yet, or the document is in a state in which it cannot start a new transaction. -or- Thrown when the active view isn't a legend view. -or- Can not create this kind of element in legend view. 2015 Places a request on Revit's command queue for the user to place instances of the specified ElementType. This does not execute immediately, but instead when control returns to Revit from the current API context. This method starts its own transaction. In a single invocation, the user can place multiple instances of the input element type until they finish the placement (with Cancel or ESC or a click elsewhere in the UI). This method invokes the UI when control returns from the current API context; because of this, the normal Revit UI options will be available to the user, but the API will not be notified when the user has completed this action. Because this request is queued to run at the end of the current API context, only one such request can be set (between this and the commands set by UIApplication.PostCommand()). This differs from PromptForFamilyInstancePlacement() as that method can be run within the current API context, but the user is not permitted full access to the user interface options during placement. The ElementType of which instances are to be placed. The user cannot be prompted to place the input type interactively. A non-optional argument was null This document is not the currently active one. -or- Starting a new transaction is not permitted. It could be because another transaction already started and has not been completed yet, or the document is in a state in which it cannot start a new transaction. 2015 Prompts the user to place a specified view onto a sheet.

This method opens its own transaction, so it's not permitted to be invoked in an active transaction. In a single invocation, the user can place only one view onto the active sheet.

The user is not permitted to change the active sheet view or the view to be placed during this placement operation (the operation will be cancelled).

The user can cancel the placement operation by pressing Cancel or ESC or a click elsewhere in the UI.

This method can't be used to place a schedule on a sheet. Use to add schedules to sheets.

The view to insert onto a sheet. A indicator which allows the user to replace the existing viewport.

If true, the viewport representing this view will be replaced by the new viewport created during placement. If the view is allowed only to be on one sheet, this will remove the viewport from the old sheet. If the view is allowed to be on multiple sheets, and the view is currently placed on the active sheet, the old viewport on this sheet will be replaced.

If false, if the view is only allowed to be on one sheet, or if the view is allowed to be on multiple sheets but is already on the active sheet, an exception will be thrown. This view is a view template. -or- view is a schedule. A non-optional argument was null This document is not the currently active one. -or- Starting a new transaction is not permitted. It could be because another transaction already started and has not been completed yet, or the document is in a state in which it cannot start a new transaction. -or- The active view isn't a sheet where a view can be placed. -or- The view can't be placed on the sheet. For schedule views use ScheduleSheetInstance::Create() to place them on sheets. -or- Thrown when replacing an existing viewport isn't allowed. See allowReplaceExistingSheetViewport parameter documentation for details. 2015
Gets the valid sketch gallery options of a family symbol. The family symbol. The valid list of SketchGalleryOptions. A non-optional argument was null 2017 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The currently active graphical view of the currently active document. This property is applicable to the currently active document only. Returns if this document doesn't represent the active document. 2015 Get a list of all open view windows in the Revit user interface. A sheet view with an activated viewport will return the view associated with the activated viewport, not the sheet view. Retrieves an object that represents the current Application. Prompts the user to place instances of the specified FamilySymbol. The FamilySymbol. The PromptForFamilyInstancePlacementOptions, to place the family instance according to the options.

This method opens its own transaction, so it's not permitted to be invoked in an active transaction. In a single invocation, the user can place multiple instances of the input family type until they finish the placement (with Cancel or ESC or a click elsewhere in the UI). The user will not be permitted to change the type to be placed. Users are not permitted to change the active view during this placement operation (the operation will be completed).

This method differs from in that it will execute immediately within the current API context and return to the application when the user completes or cancels the operation. However, it does not allow the user access to user interface options and settings related to the placement.

Thrown when the family symbol should be of category OST_DuctTerminal because PlaceAirTerminalOnDuct in options is true, or the sketch gallery options in options is invalid, or the placement type for the family symbol in options is invalid. Thrown when this API method is invoked in an active transaction, or this document is not active, or this is a family document and the instances of this family symbol can not exist in the current family, or this family symbol has no command to create instance, or the command to create instance is disabled in active view. 2015
Prompts the user to place instances of the specified FamilySymbol. The FamilySymbol.

This method opens its own transaction, so it's not permitted to be invoked in an active transaction. In a single invocation, the user can place multiple instances of the input family type until they finish the placement (with Cancel or ESC or a click elsewhere in the UI). The user will not be permitted to change the type to be placed. Users are not permitted to change the active view during this placement operation (the operation will be completed).

This method differs from in that it will execute immediately within the current API context and return to the application when the user completes or cancels the operation. However, it does not allow the user access to user interface options and settings related to the placement.

Thrown when this API method is invoked in an active transaction, or this document is not active, or this is a family document and the instances of this family symbol can not exist in the current family, or this family symbol has no command to create instance, or the command to create instance is disabled in active view. 2011
Requests an asynchronous change of the active view in the currently active document. The View. 2015 This method requests to change the active view by posting a message asynchronously. Unlike setting the property, this will not make the change in active view immediately. Instead the request will be posted to occur when control returns to Revit from the API context. This method is permitted to change the active view from the Idling event or an ExternalEvent callback. The active view cannot be changed when:
  • There is an open transaction in the currently active document.
  • is true.
  • is true.
  • ViewActivating, ViewActivated, or any pre-event (such as DocumentSaving) is being handled.
If the 'view' argument is NULL.
  • If the given view is not a valid view of the document; -or-
  • If the given view is a template view; -or-
  • If the given view is an internal view.
  • If the given view is not from the currently active document; -or-
  • If the active document is currently modifiable (i.e. with an active transaction); -or-
  • If the active document is currently in read-only state; -or-
  • During either ViewActivating or ViewActivated event; -or-
  • During any pre-action kind of event, such as DocumentSaving, etc.
Returns the database level document represented by this UI-level document. The currently active view of the currently active document. 2012 This property is applicable to the currently active document only. Returns if this document doesn't represent the active document. The active view can only be changed when:
  • There is no open transaction.
  • is false.
  • is false.
  • ViewActivating, ViewActivated, and any pre-action of events (such as DocumentSaving or DocumentClosingevents) are not being handled.
When setting the property: If the 'view' argument is NULL. When setting the property:
  • If the given view is not a valid view of the document; -or-
  • If the given view is a template view; -or-
  • If the given view is an internal view.
When setting the property:
  • If the document is not currently active; -or-
  • If the document is currently modifiable (i.e. with an active transaction); -or-
  • If the document is currently in read-only state; -or-
  • When invoked during either ViewActivating or ViewActivated event; -or-
  • When invoked during any pre-action kind of event, such as DocumentSaving, DocumentClosing, etc.
Refresh the display of the active view in the active document. 2011 Shows the elements by zoom to fit. The set of element ids which will be shown. Places all the elements on the screen by moving the view. elementIds is null. Member of elementIds is null. Member of elementIds is not valid. Shows the elements by zoom to fit. The set of elements that will be shown. Places all the elements on the screen by moving the view. Elements is null. Member of elements is null. Shows the element by zoom to fit. Element that will be shown. Places the element in the center of screen by moving the view. Element is null. Shows one or more elements by zoom to fit. Shows the element by zoom to fit. Element id that will be shown. Places the element in the center of screen by moving the view. Element id is not valid. Close the document, prompting the user for saving it when necessary. False if closing procedure fails or if saving of a modified document was requested but failed. Also returns False if closing is cancelled by an external application during 'DocumentClosing' event. When function succeeds, True is returned. UI dialogs may be shown during the call (e.g. when the document has been changed since last time it was saved) to get user responses. The currently active document may not be closed by this function. It can only be closed via Revit's UI. Thrown when attempting to close the currently active document. Thrown if there are any transactions, sub-transactions or transaction groups which were opened by the API code, and not closed. All of these items must be handled before attempting to close the document. Thrown if this a linked file. Retrieve the currently selected Elements in Autodesk Revit. Returns an object that represents the active selection. The Selection property returns an object that represents the active selection when the command was started. Return the option object that allows you to use Revit's dialog boxes to let the user respond to questions that arise during loading of families. Thrown if this API method is invoked in UI less mode Use a database level Document to construct a UI-level Document. The database level document. document is not a primary document, it is a linked document. A non-optional argument was null An object that represents an Autodesk Revit project opened in the Revit user interface.

This class represents a document opened in the user interface and therefore offers interfaces to work with settings and operations in the UI (for example, the active selection). Revit can have multiple projects open and multiple views to those projects. The active or top most view will be the active project and hence the active document which is available from the UIApplication object.

Obtain the database level Document (which contains interfaces not related to the UI) via the Document property. If you have a database level Document and need to access it from the UI, you can construct a new UIDocument from that object (the document must be open and visible in the UI to allow the methods to work successfully).
Model Identity with GUID Enumerates all the sketch options. 2017 Sketch a landing. Sketch a run. Pick two runs to create a landing. Sketch a U-Shape winder. Pick a line to create a support. Pick winder pattern. Sketch a L-Shape winder. Sketch a landing square. Sketch a Center-Ends spiral for a run of stairs. Sketch a Full-Step spiral for a run of stairs. Sketch a line for a run of stairs. Pick point element. Pick points. Pick a point. Pick roofs. Pick supports. Pick walls. Pick faces. Pick lines. Sketch a partial ellipse. Sketch a full ellipse. Sketch a spline by points. Sketch a spline. Sketch a fillet arc. Sketch a Tangent-End arc. Sketch a Center-Ends arc. Sketch a Start-End-Radius arc. Sketch a circle. Sketch a circumscribed polygon. Sketch an inscribed polygon. Sketch a rectangle. Sketch a line. The default option which means the real option is decided by Revit internally. This enumerated type specifies options available for placement of a face-based family instance. 2017 Placement on current workplane. Placement on a selected face from existing geometry. Placement on a vertical face. Placement the instance which is not face-based. Determines whether the specified is equal to the current . Another panel object. Adds a slideout to the current panel. The slideout part of the panel can be shown by clicking on the arrow at the bottom of the panel. After calling AddSlideOut(), any subsequent calls to add new items will add the new item(s) to the slideout. The slideout part of the panel will be shown only if items are added after this call. Thrown when a slide out panel is already added. 2011 Adds three stacked items to the panel. Data containing information about the first item. This data must be of type PushButtonData, PulldownButtonData, SplitButtonData, ComboBoxData, or TextBoxData. Data containing information about the second item. This data must be of type PushButtonData, PulldownButtonData, SplitButtonData, ComboBoxData, or TextBoxData. Data containing information about the third item. This data must be of type PushButtonData, PulldownButtonData, SplitButtonData, ComboBoxData, or TextBoxData. A collection containing the added items. Each new item may either be a PushButton, PulldownButton, SplitButton, ComboBox or TextBox, depending upon the type of data passed in for each argument. The new items will be created as small-size horizontal controls, with the first stacked on top of the second in the panel. Thrown when item1, item2 or item3 is . Thrown when an item with item1.Name or item2.Name or item3.Name already exists in the panel or the data is not of the correct type. 2011 Adds two stacked items to the panel. Data containing information about the first item. This data must be of type PushButtonData, PulldownButtonData, SplitButtonData, ComboBoxData, or TextBoxData. Data containing information about the second item. This data must be of type PushButtonData, PulldownButtonData, SplitButtonData, ComboBoxData, or TextBoxData. A collection containing the added items. Each new item may either be a PushButton, PulldownButton, SplitButton, ComboBox or TextBox, depending upon the type of data passed in for each argument. The new items will be created as small-size horizontal controls, with the first stacked on top of the second in the panel. Thrown when item1 or item2 is . Thrown when an item with the item1.Name or item2.Name already exists in the panel or the data is not of the correct type. 2011 Adds a Ribbon item to the panel. Data containing information about the new item. The added Ribbon item. The new item may either be a PushButton, PulldownButton, SplitButon, RadioButtonGroup, ComboBox, or TextBox depending upon the type of data passed in. The new item may be created as a large-size vertical control in the panel. Thrown when itemData is . Thrown when an item with the itemData.Name already exists in the panel or the data is not of the correct type. 2011 Adds a new Separator to the panel. The separator won't be shown if there are no items already added to the panel. Gets a copy of the collection of RibbonItems assigned to the RibbonPanel. This method gets the items assigned to the RibbonPanel. Gets or sets a value indicating whether the RibbonPanel can respond to user interaction. True if the panel allows interaction, false if the panel disallows interaction with all the controls it contains. Gets or sets a value indicating whether the RibbonPanel is displayed. True if the RibbonPanel is displayed; otherwise, false. The default is true. Gets or sets the text of the RibbonPanel. If this property is not set, the default value is its Name. Thrown when the title contains angle bracket. Gets or sets the name of the RibbonPanel. The name will be displayed on the panel if the Text is not set. Represents a panel added by an External Application or External Command into the Add-Ins tab. The Panel class provides read and write access to the RibbonItems contained in the panel. Use of this class is not supported in Revit Macros. An enumerated type listing static tabs which support addition of panels via the API. The Analyze tab. The Add-Ins tab. The view that is currently active. May be if there is no currently active view. 2010 The view that is going to become active. 2010 The event arguments used by the ViewActivating event. 2010 The previously active view. May be if there was no previously active view. 2010 The view that has just become active. 2010 The event arguments used by the ViewActivated event. 2010 Gets the collection of externally added items that the user opted to enable for transfer in the Transfer Project Standards dialog. If more than one add-in has registered external items, this will report items enabled for transfer for all such add-ins. Add-ins should handle the transfer only for those items which they actually registered in the TransferringProjectStandards event. External items user wants to transfer. 2017.2 Target document. 2017.2 Source document. 2017.2 The event arguments used by the TransferredProjectStandards event. 2017.2 Sets the collection of externally added items which should be shown in the Transfer Project Standards dialog as options. The externally added items that the user opted to transfer will be reported in the args to the TransferredProjectStandards event. The external items which are displayed in the Transfer Project Standards UI. GUIDvalue is used to identify the external item string. A non-optional argument was null 2017.2 Gets the collection of externally added items which should be shown in the Transfer Project Standards dialog as options. The external items which are displayed in the Transfer Project Standards UI. GUIDvalue is used to identify the external item string. 2017.2 Target document. 2017.2 Source document. 2017.2 The event arguments used by the TransferringProjectStandards event. 2017.2 Sets the next invocation of the idling event to be called promptly, rather than relying on the default recurrence of idling from the Revit application. For more details see the remarks describing the Idling event. The event arguments used by the Idling event. Applies formula to the parameter A non-optional argument was null Returns text of the formula that will be modified Returns the Id of the modified parameter Returns the current document The event arguments used by the DocumentSaving event. Gets the service swap out initial sizes. Returns the service swap out initial sizes. 2017 Makes the innline fittings tab active in the Change Service window. 2017 Gets the service swap out profile types. 2017 Gets the service swap out domain. The domain type. 2017 Gets the set of service swap out size mappings. The set of service swap out size mappings. 2017 Gets the set of default maps for part type mappings. 2017 Gets the set of service swap out part type mappings. The set of service swap out part type mappings. 2017 Gets the set of service ids to be swapped out. The set of service ids. 2017 Returns set of fabrication part types that are used in the currently selected solution. The set of ElementIds. 2017 Returns the total fabrication part type usage count in all routing solutions. 2017 Returns the active fabrication part type usage count in fitlered routing solutions. 2017 Returns set of required fabrication part types in use in routing solution mode. The set of ElementIds for for required fabrication part types that is in use in routing solution mode. 2017 Returns set of fabrication part types in use in the routing solution mode. The set of ElementIds for for fabrication part types that is in use in routing solution mode. 2017 The number of active solutions in routing solution mode. 2017 The identifier for the fabrication service. 2017 The operation associated with this event 2017 The event arguments used by the FabricationPartBrowserChangedEventArgs event. 2017 Operations for the FabricationPartBrowserChangedEventArgs Event Make the inline fittings tab active in Change Service. Finish size swap out mode. Start size swap-out mode. Service swap out size mappings has changed. Service swap out part type mappings has changed. Finish service swap-out mode Start service swap-out mode Finish multi-point routing mode Start multi-point routing mode Finish routing solution mode Active Routing solution has changed Routing solutions (re)created Start routing solution mode Select current service Hide browser window Show browser window Unknown operation The identifier for dockable pane. 2015 True if the pane is being shown, false if it is being hidden. 2015 The event arguments used by the DockableFrameVisibilityChanged event. 2015 The identifier for dockable pane. 2015 True if the pane is being activated, false if it is being inactivated. 2015 The event arguments used by the DockableFrameActivatedChanged event. 2015 The count of pages in the options dialog (include the default pages added by Revit). 2013 Add tab to option dialog with tab name and handler information. There is a limit to the number of options page permitted in the dialog. The new tab page name. The handlers information for the new tab page. Thrown when the limit of pages allowed in the Options dialog will be exceeded (99). 2013 The event arguments used by DisplayingOptionDialog event. The message that has been displayed in the dialog box. 2010 The event arguments used by the DialogBoxShowing event when a Revit task dialog that prompts the user for some action is shown. When the application receives this object, a task dialog is about to be displayed in Revit that requires user interaction. The OverrideResult function can be used to cause the dialog to be dismissed and return a desired result code. 2010 An integer that describes the standard Windows type of the dialog box. 2010 The message that has been displayed in the dialog box. 2010 The event arguments used by the DialogBoxShowing event when a Windows message box is about to be displayed in Revit. When the application receives this object, a simple message box is about to be displayed in Revit that requires user interaction. The OverrideResult function can be used to cause the dialog to be dismissed and return a desired result code. 2010 Call this method to cause the Autodesk Revit dialog to be dismissed with the specified return value. The range of valid result values depends on the type of dialog as follows: DialogBox: Any non-zero value will cause a dialog to be dismissed. MessageBox: Standard Message Box IDs, such as IDOK and IDCANCEL, are accepted. For all possible IDs, refer to the Windows API documentation. The ID used must be relevant to the buttons in a message box. TaskDialog: Standard Message Box IDs and Revit Custom IDs are accepted, depending on the buttons used in a dialog. Standard buttons, such as OK and Cancel, have standard IDs described in Windows API documentation. Buttons with custom text have custom IDs with incremental values starting at 1001 for the left-most or top-most button in a task dialog. The result code you wish the Revit dialog to return. True if the result code was accepted. 2010 A unique string identifier for DialogBox and TaskDialog type dialogs in Revit. The contents of this entry vary depending on the type of dialog which is shown: DialogBox: A unique string ID that can be used to identify those whihch dialog has been invoked.TaskDialog: The customed string if TaskDialog.Id is set, empty string for default TaskDialog.Show(). For Revit-created dialog boxes, this should always have an assigned value.Standard Message Boxes: this will be an empty string. 2017 2010 The base class for the event arguments used by the DialogBoxShowing event. The actual type of the event arguments will be different depending upon the type of dialog shown. When the application receives this object, a dialog is to be displayed in Revit that requires user interaction. The OverrideResult function can be used to cause the dialog to be dismissed and return a desired result code. 2010 The event arguments used by the ApplicationClosing event. Sets the contextual help. The contextual help. 2013 Gets the contextual help. The contextual help assigned to the help button of the Revit options dialog, or if there is no binding assigned. 2013 The restore defaults handler. This handler will be invoked when the "Restore Defaults" button in Revit options dialog is clicked and the handler should apply only to options set on this page. There is no "Restore Defaults" button in Revit options dialog if this property was set to . 2013 The cancel handler. This handler will be invoked when the "Cancel" button in Revit options dialog is clicked. The Revit options dialog will be closed directly if this property was set to . 2013 The ok handler. This handler will be invoked when the "Ok" button in Revit options dialog is clicked. 2013 The control. 2013 Constructs a extension instance with a control and ok action handler. The control. The ok action handler. Thrown when userControl or onOK is . Thrown when userControl is already bound to another tabbed dialog. 2013 Contains the information required to create and implement the behavior for the new tab inside the Revit options dialog. Each page has an associated user interface control and the handlers of buttons Cancel, Restore Defaults and help can optionally be set. The size of the control is limited to 305 (height) x 288 (width) in physical pixels. 2013 Delegate for tabbed dialog actions, such as OnOK, OnCancel and RestoreDefaults. 2013 Defines whether to enable the ShowCompass Option It is disabled when 1) No Active Document 2) Active Document is a Family Document 3) isaTransactionPending Defines whether to show the compass with the ViewCube ViewCube Show in Active View (TRUE, 1) or All Views (FALSE, 1) Defines whether to keep the scene upright or not (when clicking on the ViewCube) Defines whether to use animated transitions when switching views or not. Defines whether to fit the object to the view when clicking on the ViewCube. Defines whether to set the view orbit direction to the closest of the 26 fixed ViewCube part directions or not (during the drag operation). ViewCube size identifier. Can take constant values defined by the AutoCam::ViewCubeParameters::Size enumeration. ViewCube opacity level (in range [0,1]) when the cursor is away from the ViewCube’s rendering area. ViewCube's position on the screen. Can take constant values defined by the AutoCam::ViewCubeParameters::Location enumeration. Defines whether to show ViewCube or not. for the page created by addins. detachable bars support how far the mouse is moved after NcLBtnDown before the bar becomes floating Specifies whether to scale or not toolbar images in high DPI mode. Sets the sizes of locked buttons and locked images on the toolbar. Specifies the size of locked toolbar buttons. Specifies the size of locked toolbar images. Specifies whether to scale or not locked toolbar images in high DPI mode. Converts underlined bitmaps to 32 bpp images. TRUE if succeeds; otherwise FALSE. Specifies transparent color of underlined bitmaps. Tells whether the underlined images are scaled or not. TRUE if underlined images are scaled; otherwise FALSE. Returns current scale ratio of underlined images. A value representing current scale ratio. Smoothly resizes underlined images. Scale ratio. TRUE if resize succeeds; otherwise FALSE. Returns current resolution of underlined images. An integer value representing the current resolution of underlined images, in bits per pixel (bpp). Hit testing operations Creates and stores in the global data a pointer to ITaskBarList3 interface. A pointer to ITaskbarList3 interface if creation creation of a task bar list object succeeds, or NULL if creation fails or current Operation System is less than Windows 7. Creates and stores in the global data a pointer to ITaskBarList interface. A pointer to ITaskbarList interface if creation of a task bar list object succeeds, or NULL if creation fails or current Operation System is less than Windows 7. Creates and initializes a Shell item object from a parsing name. [in] A pointer to a display name. A pointer to a bind context that controls the parsing operation. A reference to an interface ID. [out] When this function returns, contains the interface pointer requested in riid. This will typically be IShellItem or IShellItem2. Returns S_OK if successful, or an error value otherwise. Determines positions of Shell auto hide bars. An integer value with encoded flags that specify positions of auto hide bars. It may combine the following values: AFX_AUTOHIDE_BOTTOM, AFX_AUTOHIDE_TOP, AFX_AUTOHIDE_LEFT, AFX_AUTOHIDE_RIGHT. Indicates whether the application is being executed under Windows 7 OS or higher Specifies gradient color of inactive active caption. Generally used for docking panes. Specifies gradient color of active caption. Generally used for docking panes. An integer that describes the standard windows type of the dialog box. The message that has been displayed in the dialog box. An object that represents a simple message box that prompts the user for some action. When the application receives this object, a simple message box is displayed in Revit that requires user interaction. The OverrideResult function can be used to cause the dialog to be dismissed and return a desired result code. Call this method to cause the Autodesk Revit dialog to be dismissed with the specified return value. The result code you wish the Revit dialog to return. Returns true if the result code was accepted. An ID that represents the dialog that has been displayed. Use this ID within your application to key suitable responses for the dialog. Note: this id is not guaranteed to remain stable for different builds of Autodesk Revit. An object that is passed to your application when a dialog is displayed in Revit. When the application receives this object, a dialog has been displayed in Revit that requires user interaction. The OverrideResult function can be used to cause the dialog to be dismissed and return a desired result code. Instructing Revit to raise (signal) the external event. Revit will wait until it is ready to process the event and then it will execute its event handler by calling the Execute method. Revit processes external events only when no other commands or edit modes are currently active in Revit, which is the same policy like the one that applies to evoking external commands. The result of event raising request. If the request is 'Accepted', the event would be added to the event queue and its handler will be executed in the next event-processing cycle. 2013 Creates an instance of external event which will have the ability to record its executions in the journal. An instance of IExternalEventHandler which will execute the event. An instance of ExternalEvent class, which will be used to invoke the event A non-optional argument was NULL 2015 Creates an instance of external event. An instance of IExternalEventHandler which will execute the event. An instance of ExternalEvent class, which will be used to invoke the event A non-optional argument was NULL 2013 Checking whether an event has been raised but not yet executed. When an event is requested to raise it is not executed immediately; instead, it waits for the next possible opportunity, which is determined by various internal conditions in Revit (policy similar to invoking external commands). When the opportunity comes, the event is executed by calling the event's handler. In the meantime, the event is 'Pending'. 2013 A class that represent an external event. An instance if this class will be returned to an external event's owner upon the event's creation. The event's owner will use this instance to signal that his application needs to be called by Revit. Revit will periodically check if any of the events have been signaled (raised), and will execute all events that were signaled (raised) by calling the Execute method on the events' respective handlers. 2013 Represents the possible outcomes of a request for raising an external event. Request not accepted due to synchronization issues with other thread(s). Request was denied due to failures of the corresponding event handler. Request not accepted, because the previous request is still pending (not executed). Request accepted; event was added into the event queue and will be executed momentarily. String identification of the event handler. The event's name 2013 This method is called to handle the external event. 2013 An interface to be executed when an external event is raised. An instance of a class implementing this interface will be registered with Revit first, and every time the corresponding external event is raised, the Execute method of this interface will be invoked. 2013 Constructs a new instance of RadioButtonGroupData. The internal name of the RadioButtonGroup. Thrown when is passed for name. Thrown when an empty string is passed for name. 2011 This class contains information necessary to construct a ribbon gallery in the Ribbon. 2011 Gets the collection of ToggleButtons assigned to the RadioButtonGroup. This is a copy of all the ToggleButtons assigned to this group. 2011 Adds new ToggleButtons to the RadioButtonGroup. A list of objects containing the data needed to construct the ToggleButtons. Thrown when buttonData is . Thrown when button with buttonData.Name already exists in the group. The newly added ToggleButtons. 2011 Adds a new ToggleButton to the RadioButtonGroup. An object containing the data needed to construct the ToggleButton. Thrown when buttonData is . Thrown when button with buttonData.Name already exists in the group. The newly added ToggleButton. 2011 Gets or sets the current checked ToggleButton of the RadioButtonGroup. The default value is the first ToggleButton added to the group. When using this property to set the current ToggleButton, the external command of that button will not be called. Thrown when trying to set this property to . Thrown when trying to set this property to a button not in this group. 2011 Represents a group of related buttons in the Ribbon. This class contains a collection of ToggleButtons. Only one of the ToggleButtons will appear active at a given time. When a different button is clicked in the UI the current ToggleButton will be changed, and the ToggleButton's external command will be invoked. Use of this class is not supported in Revit Macros. 2011 Base exceptions for incomptibility errors in Worksharing scenarios Constructs a new instance of ToggleButtonData, where the ToggleButton will not be associated to an ExternalCommand. The internal name of the new button. The user visible text seen on the new button. Thrown when is passed for one or more arguments. Thrown when an empty string is passed for one or more arguments. 2011 Constructs a new instance of ToggleButtonData, where the ToggleButton will execute an ExternalCommand when clicked. The internal name of the new button. The user visible text seen on the new button. The assembly path of the button. The name of the class containing the implementation for the command. Thrown when is passed for one or more arguments. Thrown when an empty string is passed for one or more arguments. 2011 This class contains information necessary to construct a toggle button in a RadioButtonGroup. 2011 The ToggleButton object represents a button that has been added to a RadioButtonGroup. Use of this class is not supported in Revit Macros. 2011 The full class name for the class providing the entry point to decide availability of this push button. This is the class implementing IExternalCommandAvailability interface. 2011 The assembly path of the button. The path of the assembly which contains the corresponding external command. Thrown when setting the value to . Thrown when setting the value to an empty string. The name of the class containing the implementation for the command. The class name which implements the interface IExternalCommand. Thrown when setting the value to . Thrown when setting the value to an empty string. Constructs a new instance of PushButtonData. The internal name of the new button. The user visible text seen on the new button. The assembly path of the button. The name of the class containing the implementation for the command. Thrown when is passed for one or more arguments. Thrown when an empty string is passed for one or more arguments. This class contains information necessary to construct a push button in the Ribbon. The image of the button. The image will be shown on the button if it is a part of a stacked set, or if it is promoted to the Quick Access Toolbar. The best size is 16 x 16 pixels; if larger, the image will NOT be adjusted to fit the toolbar button. The large image of the button. The image will be shown on the button in the Ribbon panel if the button is not a part of a stacked set. It will also be shown on a push button added to a pulldown button. The best size is 32 x 32 pixels; if larger, the image will be adjusted to fit the button. The user-visible text of the button. Thrown when setting the value to . Thrown when setting the value to an empty string, or when the value contains invalid characters. Base class used to contain information necessary to construct a button in the Ribbon. Indicates whether the PushButton is in the drop-down list of a PulldownButton. The full class name for the class providing the entry point to decide availability of this push button. This is the class implementing IExternalCommandAvailability interface. 2011 The name of the class containing the implementation for the command. The class name which implements the interface IExternalCommand. Thrown when setting the value to . Thrown when setting the value to an empty string. Thrown when setting the value to a ToggleButton which is not initialized with an external command. The assembly path of the button. The path of the assembly which contains the corresponding external command. Thrown when setting the value to . Thrown when setting the value to an empty string. Thrown when setting the value to a ToggleButton which is not initialized with an external command. The PushButton object represents an button on a RibbonPanel. Use of this class is not supported in Revit Macros. Indicates if this button can be executed. True if the pushbutton is permitted to be executed based on the current Revit context (active document, active view and active tool). False if the pushbutton is disabled because of the active context. The button may be enabled for a given context but still disabled programmatically using the Enabled property for the button. The image of the button. The image will be shown on the button if it is a part of a stacked set or if it is promoted to the Quick Access Toolbar. The image should be 16 x 16 pixels. If the image is larger it will NOT be adjusted to fit the button. The large image shown on the button. The image will be shown on the button in the Ribbon panel if the button is not a part of a stacked set. It will also be shown if the button is added to a pulldown button. The image should be 32 x 32 pixels. If the image is larger it will be adjusted to fit the button. This class is the base class of PushButton and PulldownButton. Sets the contextual help bound with this button data. The contextual help. 2013 Gets the contextual help bound with this control. The contextual help assigned to the item, or if there is no binding assigned. 2013 The image to show as a part of the button extended tooltip Shown when the cursor hovers over the command. If neither this property nor LongDescription is supplied, the button will not have an extended tooltip. Maximum height or width is 355 pixels. SplitButton and RadioButtonGroup cannot display the tooltip set by this method. SplitButton shows the current PushButton tooltip and RadioButtonGroup has no tooltip. Long description of the command tooltip It will be used as part of the button's extended tooltip. This tooltip is shown when the mouse hovers over the command for a long amount of time. You can split the text of this option into multiple paragraphs by placing <p> tags around each paragraph. Optional. If neither of this property and TooltipImage is supplied, the button will not have an extended tooltip. SplitButton and RadioButtonGroup cannot display the tooltip set by this method, the SplitButton will always show the current PushButton tooltip, and RadioButtonGroup has no tooltip. The description that appears as a ToolTip for the item. The text that is displayed when the mouse pointer moves over the item. SplitButton and RadioButtonGroup cannot display the tooltip set by this method, the SplitButton will always show the current PushButton tooltip, and RadioButtonGroup has no tooltip. The name of the item. Thrown when setting the value to . Thrown when setting the value to an empty string. Base class used to contain information necessary to construct a RibbonItem in the Ribbon. Sets the contextual help bound with this button. The contextual help. 2013 Gets the contextual help bound with this control. The contextual help assigned to the item, or if there is no binding assigned. 2013 Determines whether the specified is equal to the current . Another panel object. Gets the item type. Gets or sets a value indicating whether the item is visible. When the Visible property is set to false, the item won't be displayed on Ribbon. 2011 Gets or sets a value indicating whether the item is enabled. When the Enabled property is set to false, the item cannot be clicked, and the item's appearance changes. The Image and Text assigned to the item appear grayed out. For pushbuttons, the button may be enabled programmatically but be disabled in the user interface because of the Revit context; see the property IsEnabledByContext for RibbonButton. The image to show as a part of the button extended tooltip Shown when the cursor hovers over the command. If neither this property nor LongDescription is supplied, the button will not have an extended tooltip. Maximum height or width is 355 pixels. SplitButton and RadioButtonGroup cannot display the tooltip set by this method. SplitButton shows the current PushButton tooltip and RadioButtonGroup has no tooltip. Long description of the command tooltip It will be used as part of the button's extended tooltip. This tooltip is shown when the mouse hovers over the command for a long amount of time. You can split the text of this option into multiple paragraphs by placing <p> tags around each paragraph. Optional. If neither of this property and TooltipImage is supplied, the button will not have an extended tooltip. SplitButton and RadioButtonGroup cannot display the tooltip set by this method, the SplitButton will always show the current PushButton tooltip, and RadioButtonGroup has no tooltip. The description that appears as a ToolTip for the item. The text that is displayed when the mouse pointer moves over the item. SplitButton and RadioButtonGroup cannot display the tooltip set by this method, the SplitButton will always show the current PushButton tooltip, and RadioButtonGroup has no tooltip. Gets or sets the text displayed on the item. The text can be changed at run time. or empty string is not allowed. Thrown when setting the text to empty or to the string contains "%". Thrown when setting the text to . The name of the item. Thrown when setting the text to empty or to the string contains "%". The RibbonItem object represents an item on RibbonPanel, can be a push-button or a pull-down which should contain the information for creating one RibbonItem. This class is not supported in Revit Macros. Launches and displays the help topic specified by the contents of this ContextualHelp object. 2013 The help topic URL. Applies only to objects of type ContextualHelpType.ChmFile. If empty or , the default page of the help file will be displayed.
Obtain the URL by: Open the chm file and go to the page you want to show. Right click on the page, and choose the Properties command. In the middle of properties page there is a property called: Address (URL). The end of the URL contains the topic URL used to open the help file to the correct page. Here is an example: mk:@MSITStore:C:\RevitAPI2013.chm::/WhatsNew.htm The help topic URL of this page is "WhatsNew.htm". Another example: mk:@MSITStore:C:\RevitAPI2013.chm::/html/329b02eb-5ee4-1715-2fbf-2cbbc0d3ff2a.htm The help topic URL of this page is "html/329b02eb-5ee4-1715-2fbf-2cbbc0d3ff2a.htm".
2013
The context id, help URL, or help file path. Thrown when setting the help path to null or empty. 2013 The contextual help type. 2013 Constructs a contextual help object. The contextual help type. The contextual help path. Thrown when the helpPath is null or empty. 2013 Contains the details for how Revit should allow invocation of contextual help for an item added by an application. An instance of this class may be used to assign a contextual help location to any RibbonItem (through the RibbonItem.SetContextualHelp() method). It is also possible to use an instance of this class to launch the help path and topic at any time (this permits association of help topics with user interface components inside dialogs created by the add-in application). 2013 Represents the contextual help type. 2013 Represents the path to a file on disk. When users invoke help for this item, Revit will launch this file. Represents an arbitrary URL. When users invoke help for this item, Revit will load this URL into the user's default browser. Represents an Autodesk help context id, which will automatically be mapped to a URL in the Revit help system. None. An enumerated type listing all the toolbar item styles. A text-based control that allows the user to enter text. A selection control with a drop-down list that can be shown or hidden by clicking the arrow on the control. An item in the drop-down list of a ComboBox. An item that contains a collection of RibbonToggleButton items. A standard button that can be added to RadioButtonGroup. A split button with a default button and a pull-down menu list. A button with a pull-down menu list. A standard button with text and image. A path to a Revit model stored on a Revit server. A path to a Revit model stored on disk. The value that indicates whether the UI associated with the Command associated with this event is in a checked state. 2020 Gets the category ids of selected elements. 2013 The value that indicates whether the Command associated with this event can be executed. 2013 The event arguments used by AddInCommandBinding's CanExecute event. 2013 Sets the journal data associated to this command (on journal playback). For details about the use of journal data associated to a command, see ExternalCommandData.JournalData. 2017 Gets the journal data associated to this command (on journal playback). For details about the use of journal data associated to a command, see ExternalCommandData.JournalData. 2017 The event arguments used by AddInCommandBinding's Executed event. 2013 Indicates whether or not the Revit journal will include custom data populated by the application associated with this command. For details about the use of journal data associated to a command, see . The default value is false. 2017 The event arguments used by AddInCommandBinding's BeforeExecuted event. This event is cancellable. If your callback sets the Cancel property to true, the command will not execute. 2014 The command id. 2013 The active document. 2013 The base class of the command Executed and CanExecute event arguments. 2013 The event arguments used by TextBox's EnterPressed event. The current item for the ComboBox after the change. The current item for the ComboBox before the change. The event arguments used by ComboBox's CurrentChanged event. The event arguments used by ComboBox's DropDownClosed event. The event arguments used by ComboBox's DropDownOpened event. The current UIApplication. The base class of the RibbonItem event arguments which have UIApplication property. A data map that can be used to read and write data to the Autodesk Revit journal file. The data map is a string to string map that can be used to store data in the Revit journal file at the end of execution of the external command. If the command is then executed from the journal file during playback this data is then passed to the external command in this Data property so the external command can execute with this passed data in a UI-less mode, hence providing non interactive journal playback for automated testing purposes. For more information on Revit's journaling features contact the Autodesk Developer Network. Retrieves an object that represents the View external command work on. Retrieves an object that represents the current Application for external command. A class contains reference to Application and View which are needed by external command. Implement this method to provide control over whether your external command is enabled or disabled. Indicates whether Revit should enable or disable the corresponding external command. This callback will be called by Revit's user interface any time there is a contextual change. Therefore, the callback must be fast and is not permitted to modify the active document and be blocking in any way. An ApplicationServices.Application object which contains reference to Application needed by external command. An list of categories of the elements which have been selected in Revit in the active document, or an empty set if no elements are selected or there is no active document. Implement this method to provide control over whether your external command is enabled or disabled. Indicates whether Revit should enable or disable the corresponding external command. This callback will be called by Revit's user interface any time there is a contextual change. Therefore, the callback must be fast and is not permitted to modify the active document and be blocking in any way. An ApplicationServices.Application object which contains reference to Application needed by external command. An list of categories of the elements which have been selected in Revit in the active document, or an empty set if no elements are selected or there is no active document. Implement this method to inform Revit whether the drop event can be executed onto the given view. Document modifications are not permitted from this callback. The document on which the data was dropped. The data. The view upon which the user will drop. Return true to activate the target view and execute the drop. Return false to cancel the activation and the drop execution. Implement this method to handle the drop event for your data. The document on which the data was dropped. The data. 2013 Constructs a new AddInCommandBinding. The UI application. The Revit command id to identify the command handler you want to replace. Thrown when uiApplication or revitCommandId is . Thrown when the given command already has been bound. 2013 Constructs a new AddInCommandBinding. The UI application. The Revit command id to identify the command handler you want to replace. Thrown when uiApplication or revitCommandId is . Thrown when the given command already has been bound. 2013 Subscribe to the TransferredProjectStandards event to be notified after the scope of a Transfer Project Standards operation has been finalized. This event is raised just after the native Revit items have been transferred, but before the transaction has been committed. An add-in that registered external items in should subscribe to this event to carry out the transfer of any items that it registered if the user enabled those items for transfer. During the scope of this event, modification is permitted to the target document and modification is not permitted to the source document. 2017.2 Subscribe to the TransferredProjectStandards event to be notified after the scope of a Transfer Project Standards operation has been finalized. This event is raised just after the native Revit items have been transferred, but before the transaction has been committed. An add-in that registered external items in should subscribe to this event to carry out the transfer of any items that it registered if the user enabled those items for transfer. During the scope of this event, modification is permitted to the target document and modification is not permitted to the source document. 2017.2 Subscribe to the TransferringProjectStandards event to be notified before the scope of an impending Transfer Project Standards operation has been finalized in the Transfer Project Standards dialog. This event allows an external application to add additional items to the possible list of items to be transferred. These items will be visible and selectable in the Transfer Project Standards dialog box. By default, new items added in this manner will be enabled for transfer. During the scope of this event, modification is not permitted to either the source or target documents. And this event is not cancellable. 2017.2 Subscribe to the TransferringProjectStandards event to be notified before the scope of an impending Transfer Project Standards operation has been finalized in the Transfer Project Standards dialog. This event allows an external application to add additional items to the possible list of items to be transferred. These items will be visible and selectable in the Transfer Project Standards dialog box. By default, new items added in this manner will be enabled for transfer. During the scope of this event, modification is not permitted to either the source or target documents. And this event is not cancellable. 2017.2 Subscribe to MEP Fabrication part browser changed event to be notified when MEP Fabrication part browser is updated. More docs about the different conditions goes here 2017 Subscribe to MEP Fabrication part browser changed event to be notified when MEP Fabrication part browser is updated. More docs about the different conditions goes here 2017 Subscribe to this event to be notified when a Revit GenericDockableFrame has gained focus or lost focus in the Revit user interface. This event is called only for API-created GenericDockableFrames. This event is raised when the GenericDockableFrame is just about to be active or inactive. Event is not cancellable. The 'Cancellable' property of event's argument is always False. No document may be modified at the time of the event. The following API functions are not available for the current document during this event:
  • All overloads of Autodesk.Revit.DB.Document.Export()
  • All overloads of Autodesk.Revit.DB.Document.Import()
  • Autodesk::Revit::DB::Document::Print
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event.
2015
Subscribe to this event to be notified when a Revit GenericDockableFrame has gained focus or lost focus in the Revit user interface. This event is called only for API-created GenericDockableFrames. This event is raised when the GenericDockableFrame is just about to be active or inactive. Event is not cancellable. The 'Cancellable' property of event's argument is always False. No document may be modified at the time of the event. The following API functions are not available for the current document during this event:
  • All overloads of Autodesk.Revit.DB.Document.Export()
  • All overloads of Autodesk.Revit.DB.Document.Import()
  • Autodesk::Revit::DB::Document::Print
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event.
2015
Subscribe to this event to be notified when a Revit GenericDockableFrame has been shown or hidden in the Revit user interface. This event is called only for API-created GenericDockableFrames. This event is raised when the GenericDockableFrame is just about to be shown or hidden. Event is not cancellable. The 'Cancellable' property of event's argument is always False. No document may be modified at the time of the event. The following API functions are not available for the current document during this event:
  • All overloads of Autodesk.Revit.DB.Document.Export()
  • All overloads of Autodesk.Revit.DB.Document.Import()
  • Autodesk::Revit::DB::Document::Print
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event.
2015
Subscribe to this event to be notified when a Revit GenericDockableFrame has been shown or hidden in the Revit user interface. This event is called only for API-created GenericDockableFrames. This event is raised when the GenericDockableFrame is just about to be shown or hidden. Event is not cancellable. The 'Cancellable' property of event's argument is always False. No document may be modified at the time of the event. The following API functions are not available for the current document during this event:
  • All overloads of Autodesk.Revit.DB.Document.Export()
  • All overloads of Autodesk.Revit.DB.Document.Import()
  • Autodesk::Revit::DB::Document::Print
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event.
2015
Subscribe to the options dialog displaying event to be notified when Revit options dialog is displaying. 2013 Subscribe to the options dialog displaying event to be notified when Revit options dialog is displaying. 2013 Subscribe to the ApplicationClosing event to be notified when the Revit application is just about to be closed. This event is raised when the Revit application is just about to be closed. Event is not cancellable. The 'Cancellable' property of event's argument is always False. No document may be modified at the time of the event. The sender object of this event is object. 2010 Subscribe to the ApplicationClosing event to be notified when the Revit application is just about to be closed. This event is raised when the Revit application is just about to be closed. Event is not cancellable. The 'Cancellable' property of event's argument is always False. No document may be modified at the time of the event. The sender object of this event is object. 2010 Subscribe to the Idling event to be notified when Revit is not in an active tool or transaction. This event is raised when it is safe for the API application to access the active document between user interactions. The event is raised only when the Revit UI is in a state where the user could successfully click on an API command button. Handlers of this event are permitted to make modifications to any document (including the active document), except for documents that are currently in read-only mode. In order to change a document, you must begin a new transaction for that document. This transaction will appear in the Revit undo stack and may be undone by the Revit user. This event is invoked between user actions in the Revit UI. If the handler for this event requires a significant amount of processing time, users will perceive a slowdown in the responsiveness of Revit. If the execution for updates can be safely split across multiple calls to this event, the user perception of Revit responsiveness will be improved. There are two ways to use this event. In the default mode, a single raise of the event will be made each time Revit begins an idle session. Note that when the user is active in the Revit user interface, idle sessions begin whenever the mouse stops moving for a moment or when a command completes. However, if the user is not active in the user interface at all, Revit may not invoke additional idling sessions for quite some time; this means that your application may not be able to take advantage of time when the user leaves the machine completely for a period of time. In the non-default mode, your application forces Revit to keep the idling session open and to make repeated calls to your event subscriber. In this mode even if the user is totally inactive the Revit session will continue to make Idling calls to your application. However, this can result in performance degradation for the system on which Revit is running because the CPU remains fully engaged in serving Idling events during the Revit application's downtime. You can indicate the preference for the non-default Idling frequency by calling each time the Idling event callback is made. Revit will revert to the default Idling frequency if this method is not called every time in your callback. Event is not cancellable. 2010 Subscribe to the Idling event to be notified when Revit is not in an active tool or transaction. This event is raised when it is safe for the API application to access the active document between user interactions. The event is raised only when the Revit UI is in a state where the user could successfully click on an API command button. Handlers of this event are permitted to make modifications to any document (including the active document), except for documents that are currently in read-only mode. In order to change a document, you must begin a new transaction for that document. This transaction will appear in the Revit undo stack and may be undone by the Revit user. This event is invoked between user actions in the Revit UI. If the handler for this event requires a significant amount of processing time, users will perceive a slowdown in the responsiveness of Revit. If the execution for updates can be safely split across multiple calls to this event, the user perception of Revit responsiveness will be improved. There are two ways to use this event. In the default mode, a single raise of the event will be made each time Revit begins an idle session. Note that when the user is active in the Revit user interface, idle sessions begin whenever the mouse stops moving for a moment or when a command completes. However, if the user is not active in the user interface at all, Revit may not invoke additional idling sessions for quite some time; this means that your application may not be able to take advantage of time when the user leaves the machine completely for a period of time. In the non-default mode, your application forces Revit to keep the idling session open and to make repeated calls to your event subscriber. In this mode even if the user is totally inactive the Revit session will continue to make Idling calls to your application. However, this can result in performance degradation for the system on which Revit is running because the CPU remains fully engaged in serving Idling events during the Revit application's downtime. You can indicate the preference for the non-default Idling frequency by calling each time the Idling event callback is made. Revit will revert to the default Idling frequency if this method is not called every time in your callback. Event is not cancellable. 2010 Subscribe to the FormulaEditing event to be notified when the edit formula button has been clicked. Subscribe to the FormulaEditing event to be notified when the edit formula button has been clicked. Subscribe to the DialogBoxShowing event to be notified when Revit is just about to show a dialog box or a message box. This event is raised when Revit is just about to show a dialog box or a message box. Event is not cancellable. The 'Cancellable' property of event's argument is always False. Depending on the type of the dialog that is being shown, the event's argument's type varies as follows: When it is a dialog box, the event's argument is an object of . When it is a message box, the event's argument is an object of ,which is subclass of DialogBoxShowingEventArgs. When it is a task dialog, the event's argument is an object of ,which is subclass of DialogBoxShowingEventArgs. No document may be modified during this event. The following API functions are not available for the current document during this event:
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event.
2010
Subscribe to the DialogBoxShowing event to be notified when Revit is just about to show a dialog box or a message box. This event is raised when Revit is just about to show a dialog box or a message box. Event is not cancellable. The 'Cancellable' property of event's argument is always False. Depending on the type of the dialog that is being shown, the event's argument's type varies as follows: When it is a dialog box, the event's argument is an object of . When it is a message box, the event's argument is an object of ,which is subclass of DialogBoxShowingEventArgs. When it is a task dialog, the event's argument is an object of ,which is subclass of DialogBoxShowingEventArgs. No document may be modified during this event. The following API functions are not available for the current document during this event:
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event.
2010
Subscribe to the ViewActivated event to be notified immediately after Revit has finished activating a view of a document. This event is raised immediately after Revit has finished activating a view of the document. It is raised even when view activating failed or was cancelled (during ViewActivating event). Check the 'Status' field in event's argument to see whether the action itself was successful or not. This event is not cancellable, for the process of view activating has already been finished. The document may be modified during this event. The following API functions are not available for the current document during this event:
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event.
2010
Subscribe to the ViewActivated event to be notified immediately after Revit has finished activating a view of a document. This event is raised immediately after Revit has finished activating a view of the document. It is raised even when view activating failed or was cancelled (during ViewActivating event). Check the 'Status' field in event's argument to see whether the action itself was successful or not. This event is not cancellable, for the process of view activating has already been finished. The document may be modified during this event. The following API functions are not available for the current document during this event:
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event.
2010
Subscribe to the ViewActivating event to be notified when Revit is just about to activate a view of a document. This event is raised when Revit is just about to activate a view of the document. Event is not cancellable. The 'Cancellable' property of event's argument is always False. Your application is responsible for providing feedback to the user about the reason for the cancellation. The document may be modified during this event. The following API functions are not available for the current document during this event:
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event. Another event will be raised immediately after view activating is finished.
2010
Subscribe to the ViewActivating event to be notified when Revit is just about to activate a view of a document. This event is raised when Revit is just about to activate a view of the document. Event is not cancellable. The 'Cancellable' property of event's argument is always False. Your application is responsible for providing feedback to the user about the reason for the cancellation. The document may be modified during this event. The following API functions are not available for the current document during this event:
  • and similar overloads.
  • and similar overloads.
  • and similar overloads.
Exception will be thrown if any of the above methods is called during this event. Another event will be raised immediately after view activating is finished.
2010
Updates model status on the Worksharing activity indicator. The indicator is enabled only when the active document is cloud Worksharing. True if the central model is busy. An array with the usernames of the users which are currently syncing A non-optional argument was null 2020.1 Updates model status on the Worksharing activity indicator. The indicator is enabled only when the active document is cloud Worksharing. True if the central model is busy. An array with the usernames of the users which are currently syncing A non-optional argument was null 2020.1 Updates model status on the Worksharing activity indicator. The indicator is enabled only when the active document is cloud Worksharing. True if the central model is busy. 2019.1 Updates model status on the Worksharing activity indicator. The indicator is enabled only when the active document is cloud Worksharing. True if the central model is busy. 2019.1 Opens and activates a Revit document. A non-optional argument was null Opens and activates a Revit document. A non-optional argument was null Opens and activates a Revit document, include both local document or cloud document. This method, if successful, changes the active document. It is not allowed to have an open transaction in the active document when calling this method. Consequently, this method can only be used in manual transaction mode, not in automatic mode. Additionally, this method may not be called from inside an event handler. A path to a Revit file to be opened. The file can be either a Revit project, template, or family document. Options for opening the file. True means if openOptions specifies DoNotDetach, then for workshared models detach from central and query the user whether to preserve or discard worksets. make no sense when opening a cloud document. Callback function that allow caller to handle cases when conflicts happen during opening a cloud document. Make no sense when opening a non-cloud document. The opened document. If DetachFromCentralOption is not DoNotDetach when opening a cloud document.
  • If the active document is currently modifiable.
  • If an API event handler is currently being executed.
If is passed as 'modelPath'. -or- If is passed as 'openOptions'. -or- A non-optional argument was null Cannot open the local model and the central model in the same Revit session. You can close one to open the other in the same Revit session. Thrown when file is not found at the give path.
  • Revit encountered serious errors while trying to open the central model.
  • An internal error happened on the central model, please contact the server administrator.
There are too many corrupt elements to open this model.
  • When file cannot be opened in Revit LT because it was last saved in a version of Revit prior to 8.1.
  • when file has an invalid extension. Try changing the file's extension and opening it again.
The file specified by 'modelPath' cannot be found or the given 'modelPath' is not a Revit file (a project, template, or family document). This computer does not have enough memory, disk space, or other necessary resource to open the model. The cloud model is not saved in current release of Revit. -or-
  • The document can not be opened.
  • Open is temporarily disabled.
  • Revit cannot save the transmitted model as a new central because it is already opened.
Opening was canceled by the user or by an API event callback. If there is any server internal error. User is not signed in with Autodesk id when trying to open a cloud model. User is not authorized to access the cloud model. The local file is not owned by the current user, who therefore is not allowed to modify it. 2019
Opens and activates a Revit document, include both local document or cloud document. This method, if successful, changes the active document. It is not allowed to have an open transaction in the active document when calling this method. Consequently, this method can only be used in manual transaction mode, not in automatic mode. Additionally, this method may not be called from inside an event handler. A path to a Revit file to be opened. The file can be either a Revit project, template, or family document. Options for opening the file. True means if openOptions specifies DoNotDetach, then for workshared models detach from central and query the user whether to preserve or discard worksets. make no sense when opening a cloud document. Callback function that allow caller to handle cases when conflicts happen during opening a cloud document. Make no sense when opening a non-cloud document. The opened document. If DetachFromCentralOption is not DoNotDetach when opening a cloud document.
  • If the active document is currently modifiable.
  • If an API event handler is currently being executed.
If is passed as 'modelPath'. -or- If is passed as 'openOptions'. -or- A non-optional argument was null Cannot open the local model and the central model in the same Revit session. You can close one to open the other in the same Revit session. Thrown when file is not found at the give path.
  • Revit encountered serious errors while trying to open the central model.
  • An internal error happened on the central model, please contact the server administrator.
There are too many corrupt elements to open this model.
  • When file cannot be opened in Revit LT because it was last saved in a version of Revit prior to 8.1.
  • when file has an invalid extension. Try changing the file's extension and opening it again.
The file specified by 'modelPath' cannot be found or the given 'modelPath' is not a Revit file (a project, template, or family document). This computer does not have enough memory, disk space, or other necessary resource to open the model. The cloud model is not saved in current release of Revit. -or-
  • The document can not be opened.
  • Open is temporarily disabled.
  • Revit cannot save the transmitted model as a new central because it is already opened.
Opening was canceled by the user or by an API event callback. If there is any server internal error. User is not signed in with Autodesk id when trying to open a cloud model. User is not authorized to access the cloud model. The local file is not owned by the current user, who therefore is not allowed to modify it. 2019
Opens and activates a Revit document, include both local document or cloud document. This method, if successful, changes the active document. The model will override the local change with the latest change if it is a cloud model and it was restored, or relinquished, or out of date. It is not allowed to have an open transaction in the active document when calling this method. Consequently, this method can only be used in manual transaction mode, not in automatic mode. Additionally, this method may not be called from inside an event handler. A path to a Revit file to be opened. The file can be either a Revit project, template, or family document. Options for opening the file. True means if openOptions specifies DoNotDetach, then for workshared models detach from central and query the user whether to preserve or discard worksets. make no sense when opening a cloud document. The opened document. If DetachFromCentralOption is not DoNotDetach when opening a cloud document.
  • If the active document is currently modifiable.
  • If an API event handler is currently being executed.
If is passed as 'modelPath'. -or- If is passed as 'openOptions'. -or- A non-optional argument was null Cannot open the local model and the central model in the same Revit session. You can close one to open the other in the same Revit session. Thrown when file is not found at the give path.
  • Revit encountered serious errors while trying to open the central model.
  • An internal error happened on the central model, please contact the server administrator.
There are too many corrupt elements to open this model.
  • When file cannot be opened in Revit LT because it was last saved in a version of Revit prior to 8.1.
  • when file has an invalid extension. Try changing the file's extension and opening it again.
  • when file was saved by an application that was not developed or licensed by Autodesk.
The file specified by 'modelPath' cannot be found or the given 'modelPath' is not a Revit file (a project, template, or family document). This computer does not have enough memory, disk space, or other necessary resource to open the model. The cloud model is not saved in current release of Revit. -or-
  • The document can not be opened.
  • Open is temporarily disabled.
  • Revit cannot save the transmitted model as a new central because it is already opened.
Opening was canceled by the user or by an API event callback. If there is any server internal error. User is not signed in with Autodesk id when trying to open a cloud model. User is not authorized to access the cloud model. The local file is not owned by the current user, who therefore is not allowed to modify it. 2013
Opens and activates a Revit document, include both local document or cloud document. This method, if successful, changes the active document. The model will override the local change with the latest change if it is a cloud model and it was restored, or relinquished, or out of date. It is not allowed to have an open transaction in the active document when calling this method. Consequently, this method can only be used in manual transaction mode, not in automatic mode. Additionally, this method may not be called from inside an event handler. A path to a Revit file to be opened. The file can be either a Revit project, template, or family document. Options for opening the file. True means if openOptions specifies DoNotDetach, then for workshared models detach from central and query the user whether to preserve or discard worksets. make no sense when opening a cloud document. The opened document. If DetachFromCentralOption is not DoNotDetach when opening a cloud document.
  • If the active document is currently modifiable.
  • If an API event handler is currently being executed.
If is passed as 'modelPath'. -or- If is passed as 'openOptions'. -or- A non-optional argument was null Cannot open the local model and the central model in the same Revit session. You can close one to open the other in the same Revit session. Thrown when file is not found at the give path.
  • Revit encountered serious errors while trying to open the central model.
  • An internal error happened on the central model, please contact the server administrator.
There are too many corrupt elements to open this model.
  • When file cannot be opened in Revit LT because it was last saved in a version of Revit prior to 8.1.
  • when file has an invalid extension. Try changing the file's extension and opening it again.
  • when file was saved by an application that was not developed or licensed by Autodesk.
The file specified by 'modelPath' cannot be found or the given 'modelPath' is not a Revit file (a project, template, or family document). This computer does not have enough memory, disk space, or other necessary resource to open the model. The cloud model is not saved in current release of Revit. -or-
  • The document can not be opened.
  • Open is temporarily disabled.
  • Revit cannot save the transmitted model as a new central because it is already opened.
Opening was canceled by the user or by an API event callback. If there is any server internal error. User is not signed in with Autodesk id when trying to open a cloud model. User is not authorized to access the cloud model. The local file is not owned by the current user, who therefore is not allowed to modify it. 2013
Opens and activates a Revit document. This method, if successful, changes the active document. It is not allowed to have an open transaction in the active document when calling this method. Additionally, this method may not be called from inside an event handler. A full path to a revit file to be opened. The file can be either a Revit project, template, or family document. The opened document. The given 'fileName' is not a Revit file (a project, template, or family document). If is passed as 'fileName'. -or- A non-optional argument was null The file specified by 'fileName' cannot be found.
  • If the active document is currently modifiable.
  • If an API event handler is currently being executed.
If there is any server internal error. 2012
Opens and activates a Revit document. This method, if successful, changes the active document. It is not allowed to have an open transaction in the active document when calling this method. Additionally, this method may not be called from inside an event handler. A full path to a revit file to be opened. The file can be either a Revit project, template, or family document. The opened document. The given 'fileName' is not a Revit file (a project, template, or family document). If is passed as 'fileName'. -or- A non-optional argument was null The file specified by 'fileName' cannot be found.
  • If the active document is currently modifiable.
  • If an API event handler is currently being executed.
If there is any server internal error. 2012
Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 Determines if Revit session is in Viewer mode. 2019.1 Determines if Revit session is in Viewer mode. 2019.1 Returns the database level Application represented by this UI level Application. Returns the database level Application represented by this UI level Application. Open a recent model on revit home. Open a recent model on revit home. Get the handle of the Revit main window. Returns the main window handle of the Revit application. This handle should be used when displaying modal dialogs and message windows to insure that they are properly parented. This property replaces System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle property, which is no longer a reliable method of retrieving the main window handle starting with Revit 2019. 2019 Get the handle of the Revit main window. Returns the main window handle of the Revit application. This handle should be used when displaying modal dialogs and message windows to insure that they are properly parented. This property replaces System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle property, which is no longer a reliable method of retrieving the main window handle starting with Revit 2019. 2019 Adds a new dockable pane to the Revit user interface. Unique identifier for the new pane. String to use for the pane caption. Your add-in's implementation of the IDockablePaneProvider interface. Thrown if a dockable pane with identifier %id% has already been registered. 2014 Adds a new dockable pane to the Revit user interface. Unique identifier for the new pane. String to use for the pane caption. Your add-in's implementation of the IDockablePaneProvider interface. Thrown if a dockable pane with identifier %id% has already been registered. 2014 Identifies if the current Revit product has an RS designation. Most add-ins will not need to use this information. 2019 Identifies if the current Revit product has an RS designation. Most add-ins will not need to use this information. 2019 Gets a DockablePane object by its ID. Unique identifier for the new pane. Thrown if no dockable pane has been registered with identifier %id%. Thrown if the dockable pane with identifier %id% has not been created yet. 2014 Gets a DockablePane object by its ID. Unique identifier for the new pane. Thrown if no dockable pane has been registered with identifier %id%. Thrown if the dockable pane with identifier %id% has not been created yet. 2014 Loads add-ins from the given packageContents.xml file. The name of package contents file Thrown when manifest file which is specified by packageContentsPath doesn't exist. Thrown if the add-in file path specified by packageContentsPath is null, Or packageContentsPath is null. Thrown if the add-in specified by packageContentsPath doesn't end with 'addin' or packageContentsPath is a zero-length string. Thrown if the packageContentsPath is not found. Thrown if the manifest file specified by packageContentsPath can't be parsed successfully. Thrown when any of the newly added external applications fails to load and/or initialize properly, possibly because of one of the following reasons: AllowLoadingIntoExistingSession property is 'No'.Client id is duplicated.External application start up failed. Thrown if packageContentsPath file that was found could not be loaded. 2014 Loads add-ins from the given packageContents.xml file. The name of package contents file Thrown when manifest file which is specified by packageContentsPath doesn't exist. Thrown if the add-in file path specified by packageContentsPath is null, Or packageContentsPath is null. Thrown if the add-in specified by packageContentsPath doesn't end with 'addin' or packageContentsPath is a zero-length string. Thrown if the packageContentsPath is not found. Thrown if the manifest file specified by packageContentsPath can't be parsed successfully. Thrown when any of the newly added external applications fails to load and/or initialize properly, possibly because of one of the following reasons: AllowLoadingIntoExistingSession property is 'No'.Client id is duplicated.External application start up failed. Thrown if packageContentsPath file that was found could not be loaded. 2014 Loads add-ins from the given manifest file.

This method loads the add-ins listed in the provided add-in manifest file. The API will look for the file in the dedicated folders supported by Revit for loading add-in manifest files.

Some add-ins may have settings in which they decline the ability for Revit to load the external application declared in the .addin in mid-session. This happens when the AllowLoadingIntoExistingSession tag is set to "No" in the add-in manifest file, and if the tag isn't present, the default is set to "Yes".

Note that when Revit starts an add-in in the middle of the session, some add-in logic may not function as expected because of the different interactions with the session. Specifically: If the application's goal is to prevent something from happening, the application may not be able to handle the fact that this activity has already happened in the existing session. If the application's goal is to manage external information in synch with documents loaded in the session, the application may not be able to handle documents that were loaded before the application started. If the application's logic depends on the ApplicationInitialized event, this event has already been called before the add-in was loaded.

Also, some add-ins may not be able to fully initialize when loading in the middle of the session. This is because some activities must take place at the start of the Revit session: Creation of custom failure definitionsEstablishment of a system-wide IFailureProcessor to handle all failures.Registering ExternalServices.

The name of the add-in manifest file including the extension is to identify the manifest file which contains Revit add-ins. Thrown when manifest file which is specified by fileName doesn't exist. Thrown if the fileName is null or empty. Thrown if the fileName doesn't end with 'addin'. Thrown if the manifest file can't be parsed successfully. Thrown when any of the newly added external applications fails to load and/or initialize properly, possibly because of one of the following reasons: AllowLoadingIntoExistingSession property is 'No'.Client id is duplicated.External application start up failed. 2014
Loads add-ins from the given manifest file.

This method loads the add-ins listed in the provided add-in manifest file. The API will look for the file in the dedicated folders supported by Revit for loading add-in manifest files.

Some add-ins may have settings in which they decline the ability for Revit to load the external application declared in the .addin in mid-session. This happens when the AllowLoadingIntoExistingSession tag is set to "No" in the add-in manifest file, and if the tag isn't present, the default is set to "Yes".

Note that when Revit starts an add-in in the middle of the session, some add-in logic may not function as expected because of the different interactions with the session. Specifically: If the application's goal is to prevent something from happening, the application may not be able to handle the fact that this activity has already happened in the existing session. If the application's goal is to manage external information in synch with documents loaded in the session, the application may not be able to handle documents that were loaded before the application started. If the application's logic depends on the ApplicationInitialized event, this event has already been called before the add-in was loaded.

Also, some add-ins may not be able to fully initialize when loading in the middle of the session. This is because some activities must take place at the start of the Revit session: Creation of custom failure definitionsEstablishment of a system-wide IFailureProcessor to handle all failures.Registering ExternalServices.

The name of the add-in manifest file including the extension is to identify the manifest file which contains Revit add-ins. Thrown when manifest file which is specified by fileName doesn't exist. Thrown if the fileName is null or empty. Thrown if the fileName doesn't end with 'addin'. Thrown if the manifest file can't be parsed successfully. Thrown when any of the newly added external applications fails to load and/or initialize properly, possibly because of one of the following reasons: AllowLoadingIntoExistingSession property is 'No'.Client id is duplicated.External application start up failed. 2014
Removes an AddInCommandBinding. The Revit command id to identify the command handler you want to remove the binding. Thrown when uiApplication or revitCommandId is . Thrown when the given command is not bound with this add-in. 2013 Removes an AddInCommandBinding. The Revit command id to identify the command handler you want to remove the binding. Thrown when uiApplication or revitCommandId is . Thrown when the given command is not bound with this add-in. 2013 Creates a new AddInCommandBinding. The Revit command id to identify the command handler you want to replace. Thrown when uiApplication or revitCommandId is . Thrown when the given command already has been bound. 2013 Creates a new AddInCommandBinding. The Revit command id to identify the command handler you want to replace. Thrown when uiApplication or revitCommandId is . Thrown when the given command already has been bound. 2013 Get current active external application or external command id. Get current active external application or external command id. Returns an array of successfully loaded external applications. This property can be used by your application to find all successfully loaded external applications when Revit starts. Returns an array of successfully loaded external applications. This property can be used by your application to find all successfully loaded external applications when Revit starts. Get all the custom Panels on a designated Revit tab. The name of the tab on which the panels are located. Built-in panels will not be included. tabName must be the name of one of the tabs added by . This method is not supported in Macros. Get all the custom Panels on a designated Revit tab. The name of the tab on which the panels are located. Built-in panels will not be included. tabName must be the name of one of the tabs added by . This method is not supported in Macros. Get all the custom Panels on a designated standard Revit tab. The tab on which the panels are located. Built-in panels will not be included. This method is not supported in Macros. Get all the custom Panels on a designated standard Revit tab. The tab on which the panels are located. Built-in panels will not be included. This method is not supported in Macros. Get all the custom Panels on Add-Ins tab of Revit. The built-in panels won't be included and the panels added to tabs other than Add-Ins will not be included. This method is not supported in Macros. Get all the custom Panels on Add-Ins tab of Revit. The built-in panels won't be included and the panels added to tabs other than Add-Ins will not be included. This method is not supported in Macros. Create a new RibbonPanel on the designated standard Revit tab. The target tab, on which the new panel will be created. The name of the panel to be created. panelName is . panelName is Empty or the tab is not valid. If more than 100 panels were created or the tab cannot be found. This method will create a custom panel appending to the specified tab. This method is not supported in Macros. Create a new RibbonPanel on the designated standard Revit tab. The target tab, on which the new panel will be created. The name of the panel to be created. panelName is . panelName is Empty or the tab is not valid. If more than 100 panels were created or the tab cannot be found. This method will create a custom panel appending to the specified tab. This method is not supported in Macros. Create a new RibbonPanel on the Add-Ins tab. The name of the panel to be created. panelName is . panelName is Empty. If more than 100 panels were created. This method will create a custom panel appending to the Revit AddIns tab. This method is not supported in Macros. Create a new RibbonPanel on the Add-Ins tab. The name of the panel to be created. panelName is . panelName is Empty. If more than 100 panels were created. This method will create a custom panel appending to the Revit AddIns tab. This method is not supported in Macros. Create a new RibbonPanel on the specified tab. The name of the tab, on which the new panel will be created. The name of the panel to be created. tabName or panelName is . tabName or panelName is Empty. Too many panels have been added to this tab (Maximum is 100). This method will create a custom panel appending to the specified tab. This method is not supported in Macros. Create a new RibbonPanel on the specified tab. The name of the tab, on which the new panel will be created. The name of the panel to be created. tabName or panelName is . tabName or panelName is Empty. Too many panels have been added to this tab (Maximum is 100). This method will create a custom panel appending to the specified tab. This method is not supported in Macros. This fils contails the Ribbons related methods which may need to be overrideed in subclasses. Creates a new tab on the Revit user interface. The name of the tab to be created.tabName or panelName is .tabName or panelName is Empty or the tab name duplicates the name of another tab in the Revit UI.Too many custom tabs have been created in this session. (Maximum is 20). This method will create a custom tab at the end of the list of static tabs. If multiple tabs are added, they will be shown in the order added. This method is not supported in Macros. This fils contails the Ribbons related methods which may need to be overrideed in subclasses. Creates a new tab on the Revit user interface. The name of the tab to be created.tabName or panelName is .tabName or panelName is Empty or the tab name duplicates the name of another tab in the Revit UI.Too many custom tabs have been created in this session. (Maximum is 20). This method will create a custom tab at the end of the list of static tabs. If multiple tabs are added, they will be shown in the order added. This method is not supported in Macros. Posts the command to the Revit message queue to be invoked when control returns from the current API context. The command Id. Thrown when commandId is . If the command cannot be posted. If there is a command already been posted. 2014 Posts the command to the Revit message queue to be invoked when control returns from the current API context. The command Id. Thrown when commandId is . If the command cannot be posted. If there is a command already been posted. 2014 Identifies if the given command can be posted, using . The command Id. Thrown when commandId is . Only members of Autodesk.Revit.UI.PostableCommand or external commands can be posted. 2014 Identifies if the given command can be posted, using . The command Id. Thrown when commandId is . Only members of Autodesk.Revit.UI.PostableCommand or external commands can be posted. 2014 Initiates a drag and drop operation with a custom drop implementation. Any arbitrary data to be passed to the drop handler when the drop occurs. The handler to be executed when the drop occurs. When the user inputs IControllableDropHandler, it allows the handler to verify whether the drop event can be executed on the given view; When the user inputs IDropHandler the handler will be executed without any condition. Thrown when dropData or handler is . 2013 Initiates a drag and drop operation with a custom drop implementation. Any arbitrary data to be passed to the drop handler when the drop occurs. The handler to be executed when the drop occurs. When the user inputs IControllableDropHandler, it allows the handler to verify whether the drop event can be executed on the given view; When the user inputs IDropHandler the handler will be executed without any condition. Thrown when dropData or handler is . 2013 Initiates a drag and drop operation of a collection of file names on the Revit user interface. The behavior after the 'dragData' dragged onto Revit is listed bellow: Only one AutoCAD format or image file dragged onto Revit: a new import placement editor will be started for import the file; More than one AutoCAD format or image files dragged onto Revit: a new import placement editor will be started only for the first AutoCAD format or image file; Only one family file dragged onto Revit: the family will be loaded, and an editor will be started to place the family; More than one family files dragged onto Revit: all the families will be loaded; More than one family files including other format files dragged onto Revit: Revit will try to open all the files; If a valid file or list of files is passed, Revit will do its best to use them appropriately. If any files are not usable, failure will be signalled to the interactive Revit user (and will not be signalled to the application with an exception). The list of file paths and names. Thrown when dropData is . Thrown when dropData contains a file that doens't exist. 2013 Initiates a drag and drop operation of a collection of file names on the Revit user interface. The behavior after the 'dragData' dragged onto Revit is listed bellow: Only one AutoCAD format or image file dragged onto Revit: a new import placement editor will be started for import the file; More than one AutoCAD format or image files dragged onto Revit: a new import placement editor will be started only for the first AutoCAD format or image file; Only one family file dragged onto Revit: the family will be loaded, and an editor will be started to place the family; More than one family files dragged onto Revit: all the families will be loaded; More than one family files including other format files dragged onto Revit: Revit will try to open all the files; If a valid file or list of files is passed, Revit will do its best to use them appropriately. If any files are not usable, failure will be signalled to the interactive Revit user (and will not be signalled to the application with an exception). The list of file paths and names. Thrown when dropData is . Thrown when dropData contains a file that doens't exist. 2013 Get the rectangle that represents the screen pixel coordinates of drawing area. The drawing area of the Revit window displays views (and sheets and schedules) of projects. The size of drawing area restricts the max size of the view titles and windows, the value may be empty if modal browser is opened. If there is no project opened, null will be returned. 2011 Get the rectangle that represents the screen pixel coordinates of drawing area. The drawing area of the Revit window displays views (and sheets and schedules) of projects. The size of drawing area restricts the max size of the view titles and windows, the value may be empty if modal browser is opened. If there is no project opened, null will be returned. 2011 Get the rectangle that represents the screen pixel coordinates of the Revit main window. 2011 Get the rectangle that represents the screen pixel coordinates of the Revit main window. 2011 Provides access to an object that represents the currently active project. External API commands can access this property in read-only mode only! The ability to modify the property is reserved for future implementations. Thrown when attempting to modify the property. Provides access to an object that represents the currently active project. External API commands can access this property in read-only mode only! The ability to modify the property is reserved for future implementations. Thrown when attempting to modify the property. Use a database level Application to construct a UI-level Application. Thrown when the Application argument is a null pointer. Use a database level Application to construct a UI-level Application. Thrown when the Application argument is a null pointer. Use a database level Application to construct a UI-level Application. Thrown when the Application argument is a null pointer. Update all open views in this document after elements have been changed, deleted, selected or de-selected. Graphics in the views are fully redrawn regardless of which elements have changed. This function should only rarely be needed, but might be required when working with graphics drawn from outside of Revit's transactions and elements, for example, when using . This function is potentially expensive as many views may be updated at once, including regeneration of view's geometry and redisplay of graphics. Thus for most situations it is recommended that API applications rely on the Revit application framework to update views more deliberately. 2018 Get a collection of valid placement types for input family symbol. The family symbol. The view in which the family instance will be placed in. A non-optional argument was null 2017 Saves the document to a file name obtained from the Revit user optionally prompting the user to overwrite file if it exists. This method may not be called unless all transactions, sub-transactions, and transaction groups that were opened by the API code were closed. That also implies that this method cannot be called during dynamic updates. UI options for the SaveAs operation. A non-optional argument was null SaveAs may not be called during dynamic update. Is not a primary document, it is a linked document. -or- SaveAs is temporarily disabled. -or- Thrown if there are any transactions, sub-transactions or transaction groups which were opened by the API code, and not closed. All of these items must be handled before attempting to save the document. Thrown if saving is cancelled by an external application during 'DocumentSavingAs' event. 2016 Saves the document to a file name obtained from the Revit user without prompting the user to overwrite file if it exists. This method may not be called unless all transactions, sub-transactions, and transaction groups that were opened by the API code were closed. That also implies that this method cannot be called during dynamic updates. SaveAs may not be called during dynamic update. Is not a primary document, it is a linked document. -or- SaveAs is temporarily disabled. -or- Thrown if there are any transactions, sub-transactions or transaction groups which were opened by the API code, and not closed. All of these items must be handled before attempting to save the document. Thrown if saving is cancelled by an external application during 'DocumentSavingAs' event. Verifies that the user can be prompted to place the input element type interactively. If an element type can be placed interactively, it may be used as input to to have the user place an instance of the element. However, this function does not evaluate whether that element instance may actually be placed in the current active view. The ElementType. True if the user can be prompted to place the input element type interactively, false otherwise. A non-optional argument was null 2015 Prompts the user to select elements to change them to the input type. This method uses its own transaction, so it's not permitted to be invoked in an active transaction. In a single invocation, the user can select multiple elements to be modified to the given type, until they finish. The ElementType applied to selected instances. A non-optional argument was null This document is not the currently active one. -or- Starting a new transaction is not permitted. It could be because another transaction already started and has not been completed yet, or the document is in a state in which it cannot start a new transaction. 2015 Prompts the user to place an element type onto a legend view. This method works only for non-annotation element types. For annotations, use PromptForFamilyInstancePlacement(Autodesk::Revit::DB::FamilySymbol) instead. This method uses its own transaction, so it's not permitted to be invoked in an active transaction. The user is not permitted to change the active legend view or during this placement operation (the operation will be cancelled). In a single invocation, the user can place multiple instances of the input element type until they finish the placement (with Cancel or ESC or a click elsewhere in the UI). The ElementType of which instances are to be placed. The input element type does not belong to a model-level category. A non-optional argument was null This document is not the currently active one. -or- Starting a new transaction is not permitted. It could be because another transaction already started and has not been completed yet, or the document is in a state in which it cannot start a new transaction. -or- Thrown when the active view isn't a legend view. -or- Can not create this kind of element in legend view. 2015 Places a request on Revit's command queue for the user to place instances of the specified ElementType. This does not execute immediately, but instead when control returns to Revit from the current API context. This method starts its own transaction. In a single invocation, the user can place multiple instances of the input element type until they finish the placement (with Cancel or ESC or a click elsewhere in the UI). This method invokes the UI when control returns from the current API context; because of this, the normal Revit UI options will be available to the user, but the API will not be notified when the user has completed this action. Because this request is queued to run at the end of the current API context, only one such request can be set (between this and the commands set by UIApplication.PostCommand()). This differs from PromptForFamilyInstancePlacement() as that method can be run within the current API context, but the user is not permitted full access to the user interface options during placement. The ElementType of which instances are to be placed. The user cannot be prompted to place the input type interactively. A non-optional argument was null This document is not the currently active one. -or- Starting a new transaction is not permitted. It could be because another transaction already started and has not been completed yet, or the document is in a state in which it cannot start a new transaction. 2015 Prompts the user to place a specified view onto a sheet.

This method opens its own transaction, so it's not permitted to be invoked in an active transaction. In a single invocation, the user can place only one view onto the active sheet.

The user is not permitted to change the active sheet view or the view to be placed during this placement operation (the operation will be cancelled).

The user can cancel the placement operation by pressing Cancel or ESC or a click elsewhere in the UI.

This method can't be used to place a schedule on a sheet. Use to add schedules to sheets.

The view to insert onto a sheet. A indicator which allows the user to replace the existing viewport.

If true, the viewport representing this view will be replaced by the new viewport created during placement. If the view is allowed only to be on one sheet, this will remove the viewport from the old sheet. If the view is allowed to be on multiple sheets, and the view is currently placed on the active sheet, the old viewport on this sheet will be replaced.

If false, if the view is only allowed to be on one sheet, or if the view is allowed to be on multiple sheets but is already on the active sheet, an exception will be thrown. This view is a view template. -or- view is a schedule. A non-optional argument was null This document is not the currently active one. -or- Starting a new transaction is not permitted. It could be because another transaction already started and has not been completed yet, or the document is in a state in which it cannot start a new transaction. -or- The active view isn't a sheet where a view can be placed. -or- The view can't be placed on the sheet. For schedule views use ScheduleSheetInstance::Create() to place them on sheets. -or- Thrown when replacing an existing viewport isn't allowed. See allowReplaceExistingSheetViewport parameter documentation for details. 2015
Gets the valid sketch gallery options of a family symbol. The family symbol. The valid list of SketchGalleryOptions. A non-optional argument was null 2017 Specifies whether the .NET object represents a valid Revit entity. If the corresponding Revit native object is destroyed, or creation of the corresponding object is undone, a managed API object containing it is no longer valid. API methods cannot be called on invalidated wrapper objects. True if the API object holds a valid Revit native object, false otherwise. 2014 The currently active graphical view of the currently active document. This property is applicable to the currently active document only. Returns if this document doesn't represent the active document. 2015 Get a list of all open view windows in the Revit user interface. A sheet view with an activated viewport will return the view associated with the activated viewport, not the sheet view. Retrieves an object that represents the current Application. Prompts the user to place instances of the specified FamilySymbol. The FamilySymbol. The PromptForFamilyInstancePlacementOptions, to place the family instance according to the options.

This method opens its own transaction, so it's not permitted to be invoked in an active transaction. In a single invocation, the user can place multiple instances of the input family type until they finish the placement (with Cancel or ESC or a click elsewhere in the UI). The user will not be permitted to change the type to be placed. Users are not permitted to change the active view during this placement operation (the operation will be completed).

This method differs from in that it will execute immediately within the current API context and return to the application when the user completes or cancels the operation. However, it does not allow the user access to user interface options and settings related to the placement.

Thrown when the family symbol should be of category OST_DuctTerminal because PlaceAirTerminalOnDuct in options is true, or the sketch gallery options in options is invalid, or the placement type for the family symbol in options is invalid. Thrown when this API method is invoked in an active transaction, or this document is not active, or this is a family document and the instances of this family symbol can not exist in the current family, or this family symbol has no command to create instance, or the command to create instance is disabled in active view. 2015
Prompts the user to place instances of the specified FamilySymbol. The FamilySymbol.

This method opens its own transaction, so it's not permitted to be invoked in an active transaction. In a single invocation, the user can place multiple instances of the input family type until they finish the placement (with Cancel or ESC or a click elsewhere in the UI). The user will not be permitted to change the type to be placed. Users are not permitted to change the active view during this placement operation (the operation will be completed).

This method differs from in that it will execute immediately within the current API context and return to the application when the user completes or cancels the operation. However, it does not allow the user access to user interface options and settings related to the placement.

Thrown when this API method is invoked in an active transaction, or this document is not active, or this is a family document and the instances of this family symbol can not exist in the current family, or this family symbol has no command to create instance, or the command to create instance is disabled in active view. 2011
Requests an asynchronous change of the active view in the currently active document. The View. 2015 This method requests to change the active view by posting a message asynchronously. Unlike setting the property, this will not make the change in active view immediately. Instead the request will be posted to occur when control returns to Revit from the API context. This method is permitted to change the active view from the Idling event or an ExternalEvent callback. The active view cannot be changed when:
  • There is an open transaction in the currently active document.
  • is true.
  • is true.
  • ViewActivating, ViewActivated, or any pre-event (such as DocumentSaving) is being handled.
If the 'view' argument is NULL.
  • If the given view is not a valid view of the document; -or-
  • If the given view is a template view; -or-
  • If the given view is an internal view.
  • If the given view is not from the currently active document; -or-
  • If the active document is currently modifiable (i.e. with an active transaction); -or-
  • If the active document is currently in read-only state; -or-
  • During either ViewActivating or ViewActivated event; -or-
  • During any pre-action kind of event, such as DocumentSaving, etc.
Returns the database level document represented by this UI-level document. The currently active view of the currently active document. 2012 This property is applicable to the currently active document only. Returns if this document doesn't represent the active document. The active view can only be changed when:
  • There is no open transaction.
  • is false.
  • is false.
  • ViewActivating, ViewActivated, and any pre-action of events (such as DocumentSaving or DocumentClosingevents) are not being handled.
When setting the property: If the 'view' argument is NULL. When setting the property:
  • If the given view is not a valid view of the document; -or-
  • If the given view is a template view; -or-
  • If the given view is an internal view.
When setting the property:
  • If the document is not currently active; -or-
  • If the document is currently modifiable (i.e. with an active transaction); -or-
  • If the document is currently in read-only state; -or-
  • When invoked during either ViewActivating or ViewActivated event; -or-
  • When invoked during any pre-action kind of event, such as DocumentSaving, DocumentClosing, etc.
Refresh the display of the active view in the active document. 2011 Shows the elements by zoom to fit. The set of element ids which will be shown. Places all the elements on the screen by moving the view. elementIds is null. Member of elementIds is null. Member of elementIds is not valid. Shows the elements by zoom to fit. The set of elements that will be shown. Places all the elements on the screen by moving the view. Elements is null. Member of elements is null. Shows the element by zoom to fit. Element that will be shown. Places the element in the center of screen by moving the view. Element is null. Shows one or more elements by zoom to fit. Shows the element by zoom to fit. Element id that will be shown. Places the element in the center of screen by moving the view. Element id is not valid. Close the document, prompting the user for saving it when necessary. False if closing procedure fails or if saving of a modified document was requested but failed. Also returns False if closing is cancelled by an external application during 'DocumentClosing' event. When function succeeds, True is returned. UI dialogs may be shown during the call (e.g. when the document has been changed since last time it was saved) to get user responses. The currently active document may not be closed by this function. It can only be closed via Revit's UI. Thrown when attempting to close the currently active document. Thrown if there are any transactions, sub-transactions or transaction groups which were opened by the API code, and not closed. All of these items must be handled before attempting to close the document. Thrown if this a linked file. Retrieve the currently selected Elements in Autodesk Revit. Returns an object that represents the active selection. The Selection property returns an object that represents the active selection when the command was started. Return the option object that allows you to use Revit's dialog boxes to let the user respond to questions that arise during loading of families. Thrown if this API method is invoked in UI less mode Use a database level Document to construct a UI-level Document. The database level document. document is not a primary document, it is a linked document. A non-optional argument was null This method is called to handle the external event. 2013 This method is called to handle the external event. 2013 Use a database level Application to construct a UI-level Application. Thrown when the Application argument is a null pointer. Use a database level Application to construct a UI-level Application. Thrown when the Application argument is a null pointer. Use a database level Application to construct a UI-level Application. Thrown when the Application argument is a null pointer. Use a database level Application to construct a UI-level Application. Thrown when the Application argument is a null pointer.