CompoundStructure Class

Describes the internal structure of a wall, floor, roof or ceiling.
Inheritance Hierarchy
SystemObject
  Autodesk.Revit.DBCompoundStructure

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

The CompoundStructure type exposes the following members.

Properties
 NameDescription
Public propertyCutoffHeight 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 propertyEndCap Indicates the end cap condition defining which shell layers will participate in end wrapping.
Public propertyHasStructuralDeck Checks if the compound structure has a structural deck.
Public propertyIsEmpty Checks whether this CompoundStructure is empty.
Public propertyIsValidObject Specifies whether the .NET object represents a valid Revit entity.
Public propertyIsVerticallyCompound Identifies if this CompoundStructure represents a layout that is more complicated than a simple set of parallel layers.
Public propertyLayerCount Returns the number of layers contained in this CompoundStructure.
Public propertyMinimumSampleHeight The minimum sample height determined by the current sample height and the horizontal segments.
Public propertyOpeningWrapping Indicates the opening wrapping condition defining which shell layers of a wall, in plan view, wrap at inserts and openings.
Public propertySampleHeight The sample height is the presumed height of the wall to which the data in this CompoundStructure is applied.
Public propertyStructuralMaterialIndex Indicates the layer whose material defines the structural properties of the type for the purposes of analysis.
Public propertyVariableLayerIndex Indicates the index of the layer which is designated as variable.
Top
Methods
 NameDescription
Public methodAddWallSweep Adds a new wall sweep or reveal to the compound structure.
Public methodAssociateRegionWithLayer Associates a region with a layer.
Public methodCanLayerBeStructuralMaterial Identifies if the input layer can be designated as defining the structural material for this structure.
Public methodCanLayerBeVariable Identifies if the input layer can be designated as a variable thickness layer.
Public methodCanLayerWidthBeNonZero Identifies if changing the width of an existing layer from zero to a positive value will create a rectangular region.
Public methodCanSplitAndMergeRegionsBeUsed Checks whether split and merge regions operations can be used for this compound structure.
Public methodChangeRegionWidth Adjust the width of an existing simple region.
Public methodClearWallSweeps Removes all sweeps or reveals from the compound structure.
Public methodStatic memberCreateSimpleCompoundStructure Creates a non-vertically compound structure comprised of parallel layers.
Public methodStatic memberCreateSingleLayerCompoundStructure(MaterialFunctionAssignment, Double, ElementId) Creates a CompoundStructure containing a single layer.
Public methodStatic memberCreateSingleLayerCompoundStructure(Double, MaterialFunctionAssignment, Double, ElementId) Creates a vertically compound CompoundStructure with one layer.
Public methodDeleteLayer Deletes the specified layer from this CompoundStructure.
Public methodDisposeReleases all resources used by the CompoundStructure
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodFindEnclosingRegionAndSegments 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 methodGetAdjacentRegions Gets the ids of region bound to a specified segment.
Public methodGetCoreBoundaryLayerIndex Returns the index of the layer just below the core boundary.
Public methodGetDeckEmbeddingType Retrieves the deck embedding type used for the specified structural deck.
Public methodGetDeckProfileId Retrieves the profile loop used for the specified structural deck.
Public methodGetExtendableRegionIds Gets the extendable region ids for the compound structure.
Public methodGetFirstCoreLayerIndex Gets the index of the first core layer.
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetLastCoreLayerIndex Gets the index of the last core layer.
Public methodGetLayerAssociatedToRegion Gets the layer associated to a particular region.
Public methodGetLayerFunction Retrieves the function of the specified layer.
Public methodGetLayers A copy of the layers which define this compound structure.
Public methodGetLayerWidth Retrieves the width of a specified layer.
Public methodGetMaterialId Retrieves the material element id of a specified layer.
Public methodStatic memberGetMinimumLayerThickness Get the minimum allowable layer thickness.
Public methodGetNumberOfShellLayers Retrieves the number of interior or exterior shell layers.
Public methodGetOffsetForLocationLine Returns the offset from the center of the compound structure to the given location line value.
Public methodGetPreviousNonZeroLayerIndex Returns the index of the nearest non-zero width layer before this layer.
Public methodGetRegionEnvelope Gets the envelope that a specified region spans.
Public methodGetRegionIds Gets the region ids of this compound structure.
Public methodGetRegionsAlongLevel 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 methodGetRegionsAssociatedToLayer Gets the set of region ids associated to a particular layer.
Public methodGetSegmentCoordinate Gets the coordinate of a segment.
Public methodGetSegmentEndPoints Gets the end points of a segment.
Public methodGetSegmentIds Gets the segment ids of this compound structure.
Public methodGetSegmentOrientation Gets the orientation of a segment.
Public methodGetSimpleCompoundStructure 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 methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodGetWallSweepsInfo Obtains a list of the intrinsic wall sweeps or reveals in this CompoundStructure.
Public methodGetWidth The width implied by this compound structure.
Public methodGetWidth(Int32) Computes the width of the envelope (2d bounding box) of the specified region.
Public methodIsCoreLayer Checks if the specified layer is a core layer.
Public methodIsEqual Checks whether this CompoundStructure is the same as another CompoundStructure.
Public methodIsLayerValid Verifies that the data in this layer is internally consistent.
Public methodIsRectangularRegion Determines whether the specified region is rectangular.
Public methodIsSimpleRegion Determines whether the region is a simple region in this CompoundStructure.
Public methodIsStructuralDeck Determines whether a specified layer is a structural deck.
Public methodIsValid Checks for errors or inconsistencies in the data in this CompoundStructure.
Public methodIsValidRegionId Determines whether the specified integer is actually the id of a region in this CompoundStructure.
Public methodIsValidSampleHeight Is the specified height a valid sample height for this compound structure?
Public methodIsValidSegmentId Determines whether the specified integer is actually the id of a segment in this CompoundStructure.
Public methodIsVerticallyHomogeneous Indicates whether this CompoundStructure represents a single set of parallel layers.
Public methodMergeRegionsAdjacentToSegment Merges the two regions which share the specified segment.
Public methodParticipatesInWrapping Identifies if a layer is included in wrapping at inserts and ends.
Public methodRemoveWallSweep Removes a single sweep or reveal from the compound structure.
Public methodSetDeckEmbeddingType Sets the deck embedding type to use for the specified structural deck.
Public methodSetDeckProfileId Sets the profile loop to use for the specified structural deck.
Public methodSetExtendableRegionIds Sets the extendable region ids for the compound structure.
Public methodSetLayer Sets a single layer for this CompoundStructure.
Public methodSetLayerFunction Sets the function of the specified layer.
Public methodSetLayers Completely resets this CompoundStructure and applies a new set of layers.
Public methodSetLayerWidth Sets the width of a specified layer.
Public methodSetMaterialId Sets a material element for a specified layer.
Public methodSetNumberOfShellLayers Sets the number of interior or exterior shell layers.
Public methodSetParticipatesInWrapping Assigns if a layer is included in wrapping at inserts and ends.
Public methodSplitRegion(UV, RectangularGridSegmentOrientation) Splits the region which contains the specified grid point by a line with the specified direction.
Public methodSplitRegion(UV, RectangularGridSegmentOrientation, Int32) Splits the region which contains the specified grid point by a line with the specified direction.
Public methodToStringReturns 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, and function 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, 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