CompoundStructure Class


Compound Structure Class

Describes the internal structure of a wall, floor, roof or ceiling.
Inheritance Hierarchy
System Object
Autodesk.Revit.DB CompoundStructure

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 26.0.4.0 (26.0.4.0)
Syntax
public class CompoundStructure : IDisposable

The CompoundStructure type exposes the following members.

Properties
Name Description
Public property CutoffHeight Horizontal segments below or at the cutoff height have their distance to the wall bottom fixed, those above have their distance to the wall top fixed.
Public property EndCap Indicates the end cap condition defining which shell layers will participate in end wrapping.
Public property HasStructuralDeck Checks if the compound structure has a structural deck.
Public property IsEmpty Checks whether this CompoundStructure is empty.
Public property IsValidObject Specifies whether the .NET object represents a valid Revit entity.
Public property IsVerticallyCompound Identifies if this CompoundStructure represents a layout that is more complicated than a simple set of parallel layers.
Public property LayerCount Returns the number of layers contained in this CompoundStructure.
Public property MinimumSampleHeight The minimum sample height determined by the current sample height and the horizontal segments.
Public property OpeningWrapping Indicates the opening wrapping condition defining which shell layers of a wall, in plan view, wrap at inserts and openings.
Public property SampleHeight The sample height is the presumed height of the wall to which the data in this CompoundStructure is applied.
Public property StructuralMaterialIndex Indicates the layer whose material defines the structural properties of the type for the purposes of analysis.
Public property VariableLayerIndex Indicates the index of the layer which is designated as variable.
Top
Methods
Name Description
Public method AddWallSweep Adds a new wall sweep or reveal to the compound structure.
Public method AssociateRegionWithLayer Associates a region with a layer.
Public method CanLayerBeStructuralMaterial Identifies if the input layer can be designated as defining the structural material for this structure.
Public method CanLayerBeVariable Identifies if the input layer can be designated as a variable thickness layer.
Public method CanLayerWidthBeNonZero Identifies if changing the width of an existing layer from zero to a positive value will create a rectangular region.
Public method CanSplitAndMergeRegionsBeUsed Checks whether split and merge regions operations can be used for this compound structure.
Public method ChangeRegionWidth Adjust the width of an existing simple region.
Public method ClearWallSweeps Removes all sweeps or reveals from the compound structure.
Public method Static member CreateSimpleCompoundStructure
Public method Static member CreateSingleLayerCompoundStructure(MaterialFunctionAssignment, Double, ElementId) Creates a CompoundStructure containing a single layer.
Public method Static member CreateSingleLayerCompoundStructure(Double, MaterialFunctionAssignment, Double, ElementId) Creates a vertically compound CompoundStructure with one layer.
Public method DeleteLayer Deletes the specified layer from this CompoundStructure.
Public method Dispose Releases all resources used by the CompoundStructure
Public method Equals Determines whether the specified object is equal to the current object.
(Inherited from Object )
Public method FindEnclosingRegionAndSegments Given a pair of grid coordinates, and a direction for splitting, returns the enclosing region and the two segments intersected by a line through the grid point.
Public method GetAdjacentRegions Gets the ids of region bound to a specified segment.
Public method GetCoreBoundaryLayerIndex Returns the index of the layer just below the core boundary.
Public method GetDeckEmbeddingType Retrieves the deck embedding type used for the specified structural deck.
Public method GetDeckProfileId Retrieves the profile loop used for the specified structural deck.
Public method GetExtendableRegionIds Gets the extendable region ids for the compound structure.
Public method GetFirstCoreLayerIndex Gets the index of the first core layer.
Public method GetHashCode Serves as the default hash function.
(Inherited from Object )
Public method GetLastCoreLayerIndex Gets the index of the last core layer.
Public method GetLayerAssociatedToRegion Gets the layer associated to a particular region.
Public method GetLayerFunction Retrieves the function of the specified layer.
Public method GetLayerPriority Retrieves the priority of the specified layer. Index of a layer in the CompoundStructure. The layer index is zero based. It counts from the exterior of wall and from the top of roofs, floors and ceilings.
Public method GetLayers A copy of the layers which define this compound structure.
Public method GetLayerWidth Retrieves the width of a specified layer.
Public method GetMaterialId Retrieves the material element id of a specified layer.
Public method Static member GetMinimumLayerThickness Get the minimum allowable layer thickness.
Public method GetNumberOfShellLayers Retrieves the number of interior or exterior shell layers.
Public method GetOffsetForLocationLine Returns the offset from the center of the compound structure to the given location line value.
Public method GetPreviousNonZeroLayerIndex Returns the index of the nearest non-zero width layer before this layer.
Public method GetRegionEnvelope Gets the envelope that a specified region spans.
Public method GetRegionIds Gets the region ids of this compound structure.
Public method GetRegionsAlongLevel Returns the ids of the regions encountered as the vertically compound structure is traversed at a constant height above the bottom a wall to which this structure is applied.
Public method GetRegionsAssociatedToLayer Gets the set of region ids associated to a particular layer.
Public method GetSegmentCoordinate Gets the coordinate of a segment.
Public method GetSegmentEndPoints Gets the end points of a segment.
Public method GetSegmentIds Gets the segment ids of this compound structure.
Public method GetSegmentOrientation Gets the orientation of a segment.
Public method GetSimpleCompoundStructure Takes a horizontal slice through a sample wall to which this CompoundStructure is applied and returns a simple compound structure which describes that slice, i.e. a series of parallel layers.
Public method GetType Gets the Type of the current instance.
(Inherited from Object )
Public method GetWallSweepsInfo Obtains a list of the intrinsic wall sweeps or reveals in this CompoundStructure.
Public method GetWidth The width implied by this compound structure.
Public method GetWidth(Int32) Computes the width of the envelope (2d bounding box) of the specified region.
Public method IsCoreLayer Checks if the specified layer is a core layer.
Public method IsEqual Checks whether this CompoundStructure is the same as another CompoundStructure.
Public method IsLayerValid Verifies that the data in this layer is internally consistent.
Public method IsRectangularRegion Determines whether the specified region is rectangular.
Public method IsSimpleRegion Determines whether the region is a simple region in this CompoundStructure.
Public method IsStructuralDeck Determines whether a specified layer is a structural deck.
Public method IsValid
Public method IsValidLayerPriority Checks if the layer priority is valid to match the function.
Public method IsValidRegionId Determines whether the specified integer is actually the id of a region in this CompoundStructure.
Public method IsValidSampleHeight Is the specified height a valid sample height for this compound structure?
Public method IsValidSegmentId Determines whether the specified integer is actually the id of a segment in this CompoundStructure.
Public method IsVerticallyHomogeneous Indicates whether this CompoundStructure represents a single set of parallel layers.
Public method MergeRegionsAdjacentToSegment Merges the two regions which share the specified segment.
Public method ParticipatesInWrapping Identifies if a layer is included in wrapping at inserts and ends.
Public method RemoveWallSweep Removes a single sweep or reveal from the compound structure.
Public method ResetAllLayersPriorities Resets all the priorities of all layers to the default priorities defined by their functions.
Public method ResetLayerPriority Resets the priority of the specific layer to the default priority defined by its function.
Public method SetDeckEmbeddingType Sets the deck embedding type to use for the specified structural deck.
Public method SetDeckProfileId Sets the profile loop to use for the specified structural deck.
Public method SetExtendableRegionIds
Public method SetLayer Sets a single layer for this CompoundStructure.
Public method SetLayerFunction Sets the function of the specified layer.
Public method SetLayerPriority Sets the priority of the specific layer.
Public method SetLayers
Public method SetLayerWidth Sets the width of a specified layer.
Public method SetMaterialId Sets a material element for a specified layer.
Public method SetNumberOfShellLayers Sets the number of interior or exterior shell layers.
Public method SetParticipatesInWrapping Assigns if a layer is included in wrapping at inserts and ends.
Public method SplitRegion(UV, RectangularGridSegmentOrientation) Splits the region which contains the specified grid point by a line with the specified direction.
Public method SplitRegion(UV, RectangularGridSegmentOrientation, Int32 ) Splits the region which contains the specified grid point by a line with the specified direction.
Public method ToString Returns a string that represents the current object.
(Inherited from Object )
Top
Remarks

A compound structure consists a collection of ordered layers, proceeding from exterior to interior for a wall, or from top to bottom for a floor, roof or ceiling. The properties of these layers determine the thickness, material, function and priority of the overall structure of the associated wall, floor, roof or ceiling. Layers can be accessed via the GetLayers method and completely replaced using SetLayers. Layers can also be accessed and modified individually using the "layer index", which is a value from in the range [0, LayerCount) identifying the layer in the structure.

A structure supports the concept of "core layers" and "shell layers". There are two layer indices which identify where the boundary between core and shell layers occur in the list of layers. The boundaries between shell and core layers are identifiable using GetFirstCoreLayerIndex , GetLastCoreLayerIndex , GetCoreBoundaryLayerIndex(ShellLayerType) or GetNumberOfShellLayers(ShellLayerType) . The core layer boundary can be changed with SetNumberOfShellLayers(ShellLayerType, Int32) .

Compound structures may be vertically compound. If IsVerticallyCompound is false, the CompoundStructure describes a series of parallel layers, each with specified width, function, priority, material and other properties. If IsVerticallyCompound is true (which should apply only for CompoundStructures assigned to walls) then horizontal sections at different elevations may have different layered structures. In this case, the structure describes a vertical section via a rectangle which is divided into polygonal regions whose sides are all vertical or horizontal segments. A map associates each of these regions with the index of a layer in the CompoundStructure which determines the properties of that region.

See Also