CompoundStructure
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: 25.0.0.0 (25.0.0.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.
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
Creates a non-vertically compound structure comprised of parallel layers.
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
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
Checks for errors or inconsistencies in the data in this CompoundStructure.
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
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
Sets the extendable region ids for the compound structure.
Public Method
SetLayer
Sets a single layer for this CompoundStructure.
Public Method
SetLayerFunction
Sets the function of the specified layer.
Public Method
SetLayers
Completely resets this CompoundStructure and applies a new set of layers.
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)
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.