Skip to content

CompoundStructure

Public 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: 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

Indicates the end cap condition defining which shell layers will participate in end wrapping.


Public Property

Checks if the compound structure has a structural deck.


Public Property

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

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

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

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

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

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

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

Retrieves the deck embedding type used for the specified structural deck.


Public Method

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

Gets the layer associated to a particular region.


Public Method
GetLayerFunction

Retrieves the function of the specified layer.


Public Method

A copy of the layers which define this compound structure.


Public Method

Retrieves the width of a specified layer.


Public Method

Retrieves the material element id of a specified layer.


Public Method
Static Member

Get the minimum allowable layer thickness.


Public Method
GetNumberOfShellLayers

Retrieves the number of interior or exterior shell layers.


Public Method

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

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

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

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

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

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

Determines whether the specified region is rectangular.


Public Method
IsSimpleRegion

Determines whether the region is a simple region in this CompoundStructure.


Public Method

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

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

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

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

Sets the deck embedding type to use for the specified structural deck.


Public Method

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

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

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.