from typing import Tuple, Set, Iterable, List


class StructuralSectionShape:
    NotDefined = 0
    RectangleParameterized = 2
    PipeStandard = 5
    IParallelFlange = 6
    ISlopedFlange = 7
    IWideFlange = 8
    CParallelFlange = 9
    CSlopedFlange = 10
    LAngle = 11
    RectangularBar = 12
    RoundBar = 13
    RectangleHSS = 14
    RoundHSS = 15
    IWelded = 16
    ISplitParallelFlange = 17
    ISplitSlopedFlange = 18
    StructuralTees = 19
    CProfile = 20
    CProfileWithLips = 21
    CProfileWithFold = 22
    LProfile = 23
    LProfileWithLips = 24
    ZProfile = 25
    ZProfileWithLips = 26
    SigmaProfile = 27
    SigmaProfileWithLips = 28
    SigmaProfileWithFold = 29
    UserDefined = 30
    ConcreteRectangle = 31
    ConcreteRectangleCut = 32
    ConcreteT = 33
    ConcreteCross = 34
    ConcreteRound = 35
    Invalid = -1


class StructuralSectionGeneralShape:
    NotDefined = 0
    GeneralI = 1
    GeneralC = 2
    GeneralU = 3
    GeneralLA = 4
    GeneralW = 5
    GeneralT = 6
    GeneralH = 7
    GeneralS = 8
    GeneralR = 9
    GeneralF = 10
    GeneralCEx = 11
    GeneralLZ = 12


class StructuralSection:
    def GetEnumerator(self) -> IEnumerator: ...
    @property
    def SectionNameKey(self) -> str: ...
    @SectionNameKey.setter
    def SectionNameKey(self, sectionNameKey: str) -> None: ...
    @property
    def AnalysisParams(self) -> StructuralSectionAnalysisParams: ...
    @property
    def StructuralSectionShape(self) -> StructuralSectionShape: ...
    @property
    def StructuralSectionGeneralShape(self) -> StructuralSectionGeneralShape: ...
    @property
    def StructuralSectionShapeName(self) -> str: ...
    @property
    def PrincipalAxesAngle(self) -> float: ...
    @PrincipalAxesAngle.setter
    def PrincipalAxesAngle(self, value: float) -> None: ...
    @property
    def SectionArea(self) -> float: ...
    @SectionArea.setter
    def SectionArea(self, value: float) -> None: ...
    @property
    def Perimeter(self) -> float: ...
    @Perimeter.setter
    def Perimeter(self, value: float) -> None: ...
    @property
    def NominalWeight(self) -> float: ...
    @NominalWeight.setter
    def NominalWeight(self, value: float) -> None: ...
    @property
    def MomentOfInertiaStrongAxis(self) -> float: ...
    @MomentOfInertiaStrongAxis.setter
    def MomentOfInertiaStrongAxis(self, value: float) -> None: ...
    @property
    def MomentOfInertiaWeakAxis(self) -> float: ...
    @MomentOfInertiaWeakAxis.setter
    def MomentOfInertiaWeakAxis(self, value: float) -> None: ...
    @property
    def ElasticModulusStrongAxis(self) -> float: ...
    @ElasticModulusStrongAxis.setter
    def ElasticModulusStrongAxis(self, value: float) -> None: ...
    @property
    def ElasticModulusWeakAxis(self) -> float: ...
    @ElasticModulusWeakAxis.setter
    def ElasticModulusWeakAxis(self, value: float) -> None: ...
    @property
    def PlasticModulusStrongAxis(self) -> float: ...
    @PlasticModulusStrongAxis.setter
    def PlasticModulusStrongAxis(self, value: float) -> None: ...
    @property
    def PlasticModulusWeakAxis(self) -> float: ...
    @PlasticModulusWeakAxis.setter
    def PlasticModulusWeakAxis(self, value: float) -> None: ...
    @property
    def TorsionalMomentOfInertia(self) -> float: ...
    @TorsionalMomentOfInertia.setter
    def TorsionalMomentOfInertia(self, value: float) -> None: ...
    @property
    def TorsionalModulus(self) -> float: ...
    @TorsionalModulus.setter
    def TorsionalModulus(self, value: float) -> None: ...
    @property
    def WarpingConstant(self) -> float: ...
    @WarpingConstant.setter
    def WarpingConstant(self, value: float) -> None: ...
    @property
    def ShearAreaStrongAxis(self) -> float: ...
    @ShearAreaStrongAxis.setter
    def ShearAreaStrongAxis(self, value: float) -> None: ...
    @property
    def ShearAreaWeakAxis(self) -> float: ...
    @ShearAreaWeakAxis.setter
    def ShearAreaWeakAxis(self, value: float) -> None: ...
    @property
    def IsValidObject(self) -> bool: ...
    def GetBoundarySize(self) -> UV: ...
    def Dispose(self) -> None: ...


class StructuralSectionAnalysisParams:
    @overload
    def __init__(self, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float): ...
    @overload
    def __init__(self): ...
    @property
    def PrincipalAxesAngle(self) -> float: ...
    @PrincipalAxesAngle.setter
    def PrincipalAxesAngle(self, principalAxesAngle: float) -> None: ...
    @property
    def SectionArea(self) -> float: ...
    @SectionArea.setter
    def SectionArea(self, sectionArea: float) -> None: ...
    @property
    def Perimeter(self) -> float: ...
    @Perimeter.setter
    def Perimeter(self, perimeter: float) -> None: ...
    @property
    def NominalWeight(self) -> float: ...
    @NominalWeight.setter
    def NominalWeight(self, nominalWeight: float) -> None: ...
    @property
    def MomentOfInertiaStrongAxis(self) -> float: ...
    @MomentOfInertiaStrongAxis.setter
    def MomentOfInertiaStrongAxis(self, momentOfInertiaStrongAxis: float) -> None: ...
    @property
    def MomentOfInertiaWeakAxis(self) -> float: ...
    @MomentOfInertiaWeakAxis.setter
    def MomentOfInertiaWeakAxis(self, momentOfInertiaWeakAxis: float) -> None: ...
    @property
    def ElasticModulusStrongAxis(self) -> float: ...
    @ElasticModulusStrongAxis.setter
    def ElasticModulusStrongAxis(self, elasticModulusStrongAxis: float) -> None: ...
    @property
    def ElasticModulusWeakAxis(self) -> float: ...
    @ElasticModulusWeakAxis.setter
    def ElasticModulusWeakAxis(self, elasticModulusWeakAxis: float) -> None: ...
    @property
    def PlasticModulusStrongAxis(self) -> float: ...
    @PlasticModulusStrongAxis.setter
    def PlasticModulusStrongAxis(self, plasticModulusStrongAxis: float) -> None: ...
    @property
    def PlasticModulusWeakAxis(self) -> float: ...
    @PlasticModulusWeakAxis.setter
    def PlasticModulusWeakAxis(self, plasticModulusWeakAxis: float) -> None: ...
    @property
    def TorsionalMomentOfInertia(self) -> float: ...
    @TorsionalMomentOfInertia.setter
    def TorsionalMomentOfInertia(self, torsionalMomentOfInertia: float) -> None: ...
    @property
    def TorsionalModulus(self) -> float: ...
    @TorsionalModulus.setter
    def TorsionalModulus(self, torsionalModulus: float) -> None: ...
    @property
    def WarpingConstant(self) -> float: ...
    @WarpingConstant.setter
    def WarpingConstant(self, warpingConstant: float) -> None: ...
    @property
    def ShearAreaStrongAxis(self) -> float: ...
    @ShearAreaStrongAxis.setter
    def ShearAreaStrongAxis(self, shearAreaStrongAxis: float) -> None: ...
    @property
    def ShearAreaWeakAxis(self) -> float: ...
    @ShearAreaWeakAxis.setter
    def ShearAreaWeakAxis(self, shearAreaWeakAxis: float) -> None: ...
    @property
    def IsValidObject(self) -> bool: ...
    def Dispose(self) -> None: ...


class StructuralSectionUtils:
    def GetStructuralSection(document: Document, elementId: ElementId) -> StructuralSection: ...
    def SetStructuralSection(document: Document, familySymbolId: ElementId, structuralSection: StructuralSection) -> bool: ...
    def GetStructuralElementDefinitionData(document: Document, elementId: ElementId) -> Tuple[StructuralSectionErrorCode, StructuralElementDefinitionData]: ...


class StructuralElementDefinitionData:
    def __init__(self): ...
    @property
    def Curve(self) -> Curve: ...
    @property
    def CenterCurve(self) -> Curve: ...
    @property
    def YJust(self) -> YJustification: ...
    @property
    def ZJust(self) -> ZJustification: ...
    @property
    def YOffset(self) -> float: ...
    @property
    def ZOffset(self) -> float: ...
    @property
    def StartShortening(self) -> float: ...
    @property
    def EndShortening(self) -> float: ...
    @property
    def Normal(self) -> XYZ: ...
    @property
    def Section(self) -> StructuralSection: ...
    @property
    def IsMirrored(self) -> bool: ...
    @property
    def IsValidObject(self) -> bool: ...
    def Dispose(self) -> None: ...


class StructuralSectionRound(StructuralSection):
    @property
    def Diameter(self) -> float: ...
    @Diameter.setter
    def Diameter(self, diameter: float) -> None: ...
    @property
    def CentroidHorizontal(self) -> float: ...
    @CentroidHorizontal.setter
    def CentroidHorizontal(self, centroidHorizontal: float) -> None: ...
    @property
    def CentroidVertical(self) -> float: ...
    @CentroidVertical.setter
    def CentroidVertical(self, centroidVertical: float) -> None: ...
    @property
    def NameKey(self) -> str: ...
    @NameKey.setter
    def NameKey(self, nameKey: str) -> None: ...


class StructuralSectionRectangular(StructuralSection):
    @property
    def Width(self) -> float: ...
    @Width.setter
    def Width(self, width: float) -> None: ...
    @property
    def Height(self) -> float: ...
    @Height.setter
    def Height(self, height: float) -> None: ...
    @property
    def CentroidHorizontal(self) -> float: ...
    @CentroidHorizontal.setter
    def CentroidHorizontal(self, centroidHorizontal: float) -> None: ...
    @property
    def CentroidVertical(self) -> float: ...
    @CentroidVertical.setter
    def CentroidVertical(self, centroidVertical: float) -> None: ...
    @property
    def NameKey(self) -> str: ...
    @NameKey.setter
    def NameKey(self, nameKey: str) -> None: ...


class StructuralSectionHotRolled(StructuralSectionRectangular):
    @property
    def FlangeThickness(self) -> float: ...
    @FlangeThickness.setter
    def FlangeThickness(self, flangeThickness: float) -> None: ...
    @property
    def FlangeThicknessLocation(self) -> float: ...
    @FlangeThicknessLocation.setter
    def FlangeThicknessLocation(self, flangeThicknessLocation: float) -> None: ...
    @property
    def WebThickness(self) -> float: ...
    @WebThickness.setter
    def WebThickness(self, webThickness: float) -> None: ...
    @property
    def WebThicknessLocation(self) -> float: ...
    @WebThicknessLocation.setter
    def WebThicknessLocation(self, webThicknessLocation: float) -> None: ...
    @property
    def WebFillet(self) -> float: ...
    @WebFillet.setter
    def WebFillet(self, webFillet: float) -> None: ...


class StructuralSectionColdFormed(StructuralSectionRectangular):
    @property
    def WallNominalThickness(self) -> float: ...
    @WallNominalThickness.setter
    def WallNominalThickness(self, wallNominalThickness: float) -> None: ...
    @property
    def WallDesignThickness(self) -> float: ...
    @WallDesignThickness.setter
    def WallDesignThickness(self, wallDesignThickness: float) -> None: ...
    @property
    def InnerFillet(self) -> float: ...
    @InnerFillet.setter
    def InnerFillet(self, innerFillet: float) -> None: ...


class StructuralSectionGeneralI(StructuralSectionHotRolled):
    def __init__(self, width: float, height: float, flangeThickness: float, flangeThicknessLocation: float, flangeFillet: float, flangeToeOfFillet: float, slopedFlangeAngle: float, webThickness: float, webFillet: float, webToeOfFillet: float, centroidHorizontal: float, centroidVertical: float, analysisParams: StructuralSectionAnalysisParams): ...
    @property
    def FlangeFillet(self) -> float: ...
    @FlangeFillet.setter
    def FlangeFillet(self, flangeFillet: float) -> None: ...
    @property
    def FlangeToeOfFillet(self) -> float: ...
    @FlangeToeOfFillet.setter
    def FlangeToeOfFillet(self, flangeToeOfFillet: float) -> None: ...
    @property
    def WebToeOfFillet(self) -> float: ...
    @WebToeOfFillet.setter
    def WebToeOfFillet(self, webToeOfFillet: float) -> None: ...
    @property
    def SlopedFlangeAngle(self) -> float: ...
    @SlopedFlangeAngle.setter
    def SlopedFlangeAngle(self, slopedFlangeAngle: float) -> None: ...
    def GetFlangeThicknessInQuarterWidth(self) -> float: ...
    def GetFlangeThicknessInFlangeCenter(self) -> float: ...


class StructuralSectionGeneralU(StructuralSectionHotRolled):
    def __init__(self, width: float, height: float, flangeThickness: float, flangeThicknessLocation: float, flangeFillet: float, flangeToeOfFillet: float, slopedFlangeAngle: float, webThickness: float, webFillet: float, webToeOfFillet: float, centroidHorizontal: float, centroidVertical: float, analysisParams: StructuralSectionAnalysisParams): ...
    @property
    def FlangeFillet(self) -> float: ...
    @FlangeFillet.setter
    def FlangeFillet(self, flangeFillet: float) -> None: ...
    @property
    def FlangeToeOfFillet(self) -> float: ...
    @FlangeToeOfFillet.setter
    def FlangeToeOfFillet(self, flangeToeOfFillet: float) -> None: ...
    @property
    def SlopedFlangeAngle(self) -> float: ...
    @SlopedFlangeAngle.setter
    def SlopedFlangeAngle(self, slopedFlangeAngle: float) -> None: ...
    @property
    def WebToeOfFillet(self) -> float: ...
    @WebToeOfFillet.setter
    def WebToeOfFillet(self, webToeOfFillet: float) -> None: ...
    def GetFlangeThicknessInWidthCenter(self) -> float: ...
    def GetFlangeThicknessInFlangeCenter(self) -> float: ...


class StructuralSectionGeneralC(StructuralSectionColdFormed):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, lipLength: float, centroidHorizontal: float, centroidVertical: float, analysisParams: StructuralSectionAnalysisParams): ...
    @property
    def LipLength(self) -> float: ...
    @LipLength.setter
    def LipLength(self, lipLength: float) -> None: ...


class StructuralSectionGeneralCEx(StructuralSectionColdFormed):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, lipLength: float, foldLength: float, centroidHorizontal: float, centroidVertical: float, analysisParams: StructuralSectionAnalysisParams): ...
    @property
    def LipLength(self) -> float: ...
    @LipLength.setter
    def LipLength(self, lipLength: float) -> None: ...
    @property
    def FoldLength(self) -> float: ...
    @FoldLength.setter
    def FoldLength(self, foldLength: float) -> None: ...


class StructuralSectionGeneralLZ(StructuralSectionColdFormed):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, bottomFlangeLength: float, lipLength: float, centroidHorizontal: float, centroidVertical: float, analysisParams: StructuralSectionAnalysisParams): ...
    @property
    def BottomFlangeLength(self) -> float: ...
    @BottomFlangeLength.setter
    def BottomFlangeLength(self, bottomFlangeLength: float) -> None: ...
    @property
    def LipLength(self) -> float: ...
    @LipLength.setter
    def LipLength(self, lipLength: float) -> None: ...


class StructuralSectionGeneralT(StructuralSectionHotRolled):
    def __init__(self, width: float, height: float, flangeThickness: float, flangeThicknessLocation: float, flangeFillet: float, flangeToeOfFillet: float, slopedFlangeAngle: float, webThickness: float, webThicknessLocation: float, webFillet: float, topWebFillet: float, webToeOfFillet: float, slopedWebAngle: float, centroidHorizontal: float, centroidVertical: float, analysisParams: StructuralSectionAnalysisParams): ...
    @property
    def FlangeFillet(self) -> float: ...
    @FlangeFillet.setter
    def FlangeFillet(self, flangeFillet: float) -> None: ...
    @property
    def FlangeToeOfFillet(self) -> float: ...
    @FlangeToeOfFillet.setter
    def FlangeToeOfFillet(self, flangeToeOfFillet: float) -> None: ...
    @property
    def SlopedFlangeAngle(self) -> float: ...
    @SlopedFlangeAngle.setter
    def SlopedFlangeAngle(self, slopedFlangeAngle: float) -> None: ...
    @property
    def TopWebFillet(self) -> float: ...
    @TopWebFillet.setter
    def TopWebFillet(self, topWebFillet: float) -> None: ...
    @property
    def WebToeOfFillet(self) -> float: ...
    @WebToeOfFillet.setter
    def WebToeOfFillet(self, webToeOfFillet: float) -> None: ...
    @property
    def SlopedWebAngle(self) -> float: ...
    @SlopedWebAngle.setter
    def SlopedWebAngle(self, slopedWebAngle: float) -> None: ...
    def GetFlangeThicknessInQuarterWidth(self) -> float: ...
    def GetFlangeThicknessInFlangeCenter(self) -> float: ...
    def GetWebThicknessInHeightCenter(self) -> float: ...


class StructuralSectionGeneralLA(StructuralSectionColdFormed):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, lipLength: float, centroidHorizontal: float, centroidVertical: float, analysisParams: StructuralSectionAnalysisParams): ...
    @property
    def LipLength(self) -> float: ...
    @LipLength.setter
    def LipLength(self, lipLength: float) -> None: ...


class StructuralSectionGeneralW(StructuralSectionHotRolled):
    def __init__(self, width: float, height: float, flangeThickness: float, webThickness: float, webFillet: float, flangeFillet: float, topWebFillet: float, centroidHorizontal: float, centroidVertical: float, analysisParams: StructuralSectionAnalysisParams): ...
    @property
    def FlangeFillet(self) -> float: ...
    @FlangeFillet.setter
    def FlangeFillet(self, flangeFillet: float) -> None: ...
    @property
    def TopWebFillet(self) -> float: ...
    @TopWebFillet.setter
    def TopWebFillet(self, topWebFillet: float) -> None: ...


class StructuralSectionGeneralH(StructuralSectionRectangular):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, outerFillet: float, centroidHorizontal: float, centroidVertical: float, analysisParams: StructuralSectionAnalysisParams): ...
    @property
    def WallNominalThickness(self) -> float: ...
    @WallNominalThickness.setter
    def WallNominalThickness(self, wallNominalThickness: float) -> None: ...
    @property
    def WallDesignThickness(self) -> float: ...
    @WallDesignThickness.setter
    def WallDesignThickness(self, wallDesignThickness: float) -> None: ...
    @property
    def InnerFillet(self) -> float: ...
    @InnerFillet.setter
    def InnerFillet(self, innerFillet: float) -> None: ...
    @property
    def OuterFillet(self) -> float: ...
    @OuterFillet.setter
    def OuterFillet(self, outerFillet: float) -> None: ...


class StructuralSectionGeneralS(StructuralSectionRound):
    def __init__(self, diameter: float, centroidHorizontal: float, centroidVertical: float, analysisParams: StructuralSectionAnalysisParams): ...


class StructuralSectionGeneralR(StructuralSectionRound):
    def __init__(self, diameter: float, wallNominalThickness: float, wallDesignThickness: float, centroidHorizontal: float, centroidVertical: float, analysisParams: StructuralSectionAnalysisParams): ...
    @property
    def WallNominalThickness(self) -> float: ...
    @WallNominalThickness.setter
    def WallNominalThickness(self, wallNominalThickness: float) -> None: ...
    @property
    def WallDesignThickness(self) -> float: ...
    @WallDesignThickness.setter
    def WallDesignThickness(self, wallDesignThickness: float) -> None: ...


class StructuralSectionGeneralF(StructuralSectionRectangular):
    def __init__(self, width: float, height: float, centroidHorizontal: float, centroidVertical: float, analysisParams: StructuralSectionAnalysisParams): ...


class StructuralSectionPipeStandard(StructuralSectionGeneralR):
    def __init__(self, diameter: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, wallNominalThickness: float, wallDesignThickness: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float): ...


class StructuralSectionRectangleParameterized(StructuralSectionGeneralF):
    def __init__(self, width: float, height: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float): ...


class StructuralSectionIParallelFlange(StructuralSectionGeneralI):
    def __init__(self, width: float, height: float, flangeThickness: float, webThickness: float, webFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, clearWebHeight: float, flangeToeOfFillet: float, webToeOfFillet: float, boltSpacing: float, boltDiameter: float): ...
    @property
    def ClearWebHeight(self) -> float: ...
    @ClearWebHeight.setter
    def ClearWebHeight(self, clearWebHeight: float) -> None: ...
    @property
    def BoltSpacing(self) -> float: ...
    @BoltSpacing.setter
    def BoltSpacing(self, boltSpacing: float) -> None: ...
    @property
    def BoltDiameter(self) -> float: ...
    @BoltDiameter.setter
    def BoltDiameter(self, boltDiameter: float) -> None: ...


class StructuralSectionISplitParallelFlange(StructuralSectionGeneralT):
    def __init__(self, width: float, height: float, flangeThickness: float, webThickness: float, webFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, clearWebHeight: float, flangeToeOfFillet: float, webToeOfFillet: float, boltSpacing: float, boltDiameter: float): ...
    @property
    def ClearWebHeight(self) -> float: ...
    @ClearWebHeight.setter
    def ClearWebHeight(self, clearWebHeight: float) -> None: ...
    @property
    def BoltSpacing(self) -> float: ...
    @BoltSpacing.setter
    def BoltSpacing(self, boltSpacing: float) -> None: ...
    @property
    def BoltDiameter(self) -> float: ...
    @BoltDiameter.setter
    def BoltDiameter(self, boltDiameter: float) -> None: ...


class StructuralSectionISlopedFlange(StructuralSectionGeneralI):
    def __init__(self, width: float, height: float, flangeThickness: float, flangeThicknessLocation: float, webThickness: float, webFillet: float, flangeFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, clearWebHeight: float, webToeOfFillet: float, boltSpacing: float, boltDiameter: float, slopedFlangeAngle: float): ...
    @property
    def ClearWebHeight(self) -> float: ...
    @ClearWebHeight.setter
    def ClearWebHeight(self, clearWebHeight: float) -> None: ...
    @property
    def BoltSpacing(self) -> float: ...
    @BoltSpacing.setter
    def BoltSpacing(self, boltSpacing: float) -> None: ...
    @property
    def BoltDiameter(self) -> float: ...
    @BoltDiameter.setter
    def BoltDiameter(self, boltDiameter: float) -> None: ...


class StructuralSectionCParallelFlange(StructuralSectionGeneralU):
    def __init__(self, width: float, height: float, flangeThickness: float, webThickness: float, webFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, clearWebHeight: float, flangeToeOfFillet: float, webToeOfFillet: float, boltSpacing: float, boltDiameter: float): ...
    @property
    def ClearWebHeight(self) -> float: ...
    @ClearWebHeight.setter
    def ClearWebHeight(self, clearWebHeight: float) -> None: ...
    @property
    def BoltSpacing(self) -> float: ...
    @BoltSpacing.setter
    def BoltSpacing(self, boltSpacing: float) -> None: ...
    @property
    def BoltDiameter(self) -> float: ...
    @BoltDiameter.setter
    def BoltDiameter(self, boltDiameter: float) -> None: ...


class StructuralSectionCSlopedFlange(StructuralSectionGeneralU):
    def __init__(self, width: float, height: float, flangeThickness: float, flangeThicknessLocation: float, webThickness: float, webFillet: float, flangeFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, clearWebHeight: float, webToeOfFillet: float, boltSpacing: float, boltDiameter: float, slopedFlangeAngle: float): ...
    @property
    def ClearWebHeight(self) -> float: ...
    @ClearWebHeight.setter
    def ClearWebHeight(self, clearWebHeight: float) -> None: ...
    @property
    def BoltSpacing(self) -> float: ...
    @BoltSpacing.setter
    def BoltSpacing(self, boltSpacing: float) -> None: ...
    @property
    def BoltDiameter(self) -> float: ...
    @BoltDiameter.setter
    def BoltDiameter(self, boltDiameter: float) -> None: ...


class StructuralSectionLAngle(StructuralSectionGeneralW):
    def __init__(self, width: float, height: float, flangeThickness: float, webThickness: float, webFillet: float, flangeFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, boltSpacing1LongerFlange: float, boltSpacing2LongerFlange: float, boltSpacingShorterFlange: float, boltDiameterLongerFlange: float, boltDiameterShorterFlange: float, topWebFillet: float): ...
    @property
    def BoltSpacing1LongerFlange(self) -> float: ...
    @BoltSpacing1LongerFlange.setter
    def BoltSpacing1LongerFlange(self, boltSpacing1LongerFlange: float) -> None: ...
    @property
    def BoltSpacing2LongerFlange(self) -> float: ...
    @BoltSpacing2LongerFlange.setter
    def BoltSpacing2LongerFlange(self, boltSpacing2LongerFlange: float) -> None: ...
    @property
    def BoltSpacingShorterFlange(self) -> float: ...
    @BoltSpacingShorterFlange.setter
    def BoltSpacingShorterFlange(self, boltSpacingShorterFlange: float) -> None: ...
    @property
    def BoltDiameterLongerFlange(self) -> float: ...
    @BoltDiameterLongerFlange.setter
    def BoltDiameterLongerFlange(self, boltDiameterLongerFlange: float) -> None: ...
    @property
    def BoltDiameterShorterFlange(self) -> float: ...
    @BoltDiameterShorterFlange.setter
    def BoltDiameterShorterFlange(self, boltDiameterShorterFlange: float) -> None: ...


class StructuralSectionStructuralTees(StructuralSectionGeneralT):
    def __init__(self, width: float, height: float, flangeThickness: float, flangeThicknessLocation: float, webThickness: float, webThicknessLocation: float, webFillet: float, flangeFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, boltSpacing: float, boltSpacingWeb: float, boltDiameter: float, slopedFlangeAngle: float, slopedWebAngle: float, topWebFillet: float): ...
    @property
    def BoltSpacing(self) -> float: ...
    @BoltSpacing.setter
    def BoltSpacing(self, boltSpacing: float) -> None: ...
    @property
    def BoltSpacingWeb(self) -> float: ...
    @BoltSpacingWeb.setter
    def BoltSpacingWeb(self, boltSpacingWeb: float) -> None: ...
    @property
    def BoltDiameter(self) -> float: ...
    @BoltDiameter.setter
    def BoltDiameter(self, boltDiameter: float) -> None: ...


class StructuralSectionISplitSlopedFlange(StructuralSectionGeneralT):
    def __init__(self, width: float, height: float, flangeThickness: float, flangeThicknessLocation: float, webThickness: float, webFillet: float, flangeFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, clearWebHeight: float, webToeOfFillet: float, boltSpacing: float, boltDiameter: float, slopedFlangeAngle: float): ...
    @property
    def ClearWebHeight(self) -> float: ...
    @ClearWebHeight.setter
    def ClearWebHeight(self, clearWebHeight: float) -> None: ...
    @property
    def BoltSpacing(self) -> float: ...
    @BoltSpacing.setter
    def BoltSpacing(self, boltSpacing: float) -> None: ...
    @property
    def BoltDiameter(self) -> float: ...
    @BoltDiameter.setter
    def BoltDiameter(self, boltDiameter: float) -> None: ...


class StructuralSectionIWideFlange(StructuralSectionHotRolled):
    def __init__(self, width: float, height: float, flangeThickness: float, webThickness: float, webFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, clearWebHeight: float, flangeToeOfFillet: float, webToeOfFillet: float, boltSpacing: float, boltSpacingTwoRows: float, boltSpacingBetweenRows: float, boltDiameter: float): ...
    @property
    def ClearWebHeight(self) -> float: ...
    @ClearWebHeight.setter
    def ClearWebHeight(self, clearWebHeight: float) -> None: ...
    @property
    def FlangeToeOfFillet(self) -> float: ...
    @FlangeToeOfFillet.setter
    def FlangeToeOfFillet(self, flangeToeOfFillet: float) -> None: ...
    @property
    def WebToeOfFillet(self) -> float: ...
    @WebToeOfFillet.setter
    def WebToeOfFillet(self, webToeOfFillet: float) -> None: ...
    @property
    def BoltSpacing(self) -> float: ...
    @BoltSpacing.setter
    def BoltSpacing(self, boltSpacing: float) -> None: ...
    @property
    def BoltSpacingTwoRows(self) -> float: ...
    @BoltSpacingTwoRows.setter
    def BoltSpacingTwoRows(self, boltSpacingTwoRows: float) -> None: ...
    @property
    def BoltSpacingBetweenRows(self) -> float: ...
    @BoltSpacingBetweenRows.setter
    def BoltSpacingBetweenRows(self, boltSpacingBetweenRows: float) -> None: ...
    @property
    def BoltDiameter(self) -> float: ...
    @BoltDiameter.setter
    def BoltDiameter(self, boltDiameter: float) -> None: ...


class StructuralSectionRectangularBar(StructuralSectionGeneralF):
    def __init__(self, width: float, height: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float): ...


class StructuralSectionRoundBar(StructuralSectionGeneralS):
    def __init__(self, diameter: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float): ...


class StructuralSectionIWelded(StructuralSectionRectangular):
    def __init__(self, width: float, height: float, topFlangeThickness: float, topFlangeWidth: float, bottomFlangeThickness: float, bottomFlangeWidth: float, webThickness: float, webHeight: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float): ...
    @property
    def TopFlangeThickness(self) -> float: ...
    @TopFlangeThickness.setter
    def TopFlangeThickness(self, topFlangeThickness: float) -> None: ...
    @property
    def TopFlangeWidth(self) -> float: ...
    @TopFlangeWidth.setter
    def TopFlangeWidth(self, topFlangeWidth: float) -> None: ...
    @property
    def BottomFlangeThickness(self) -> float: ...
    @BottomFlangeThickness.setter
    def BottomFlangeThickness(self, bottomFlangeThickness: float) -> None: ...
    @property
    def BottomFlangeWidth(self) -> float: ...
    @BottomFlangeWidth.setter
    def BottomFlangeWidth(self, bottomFlangeWidth: float) -> None: ...
    @property
    def WebThickness(self) -> float: ...
    @WebThickness.setter
    def WebThickness(self, webThickness: float) -> None: ...
    @property
    def WebHeight(self) -> float: ...
    @WebHeight.setter
    def WebHeight(self, webHeight: float) -> None: ...


class StructuralSectionRectangleHSS(StructuralSectionGeneralH):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, outerFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float): ...


class StructuralSectionRoundHSS(StructuralSectionGeneralR):
    def __init__(self, diameter: float, wallNominalThickness: float, wallDesignThickness: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float): ...


class StructuralSectionCProfile(StructuralSectionGeneralC):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float): ...


class StructuralSectionCProfileWithLips(StructuralSectionGeneralC):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, lipLength: float): ...


class StructuralSectionCProfileWithFold(StructuralSectionGeneralCEx):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, lipLength: float, foldLength: float): ...


class StructuralSectionLProfile(StructuralSectionGeneralLA):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float): ...


class StructuralSectionLProfileWithLips(StructuralSectionGeneralLA):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, lipLength: float): ...


class StructuralSectionZProfile(StructuralSectionGeneralLZ):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, bottomFlangeLength: float): ...


class StructuralSectionZProfileWithLips(StructuralSectionGeneralLZ):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, bottomFlangeLength: float, lipLength: float): ...


class StructuralSectionSigmaProfile(StructuralSectionColdFormed):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, bendWidth: float, middleBendLength: float, topBendLength: float): ...
    @property
    def BendWidth(self) -> float: ...
    @BendWidth.setter
    def BendWidth(self, bendWidth: float) -> None: ...
    @property
    def MiddleBendLength(self) -> float: ...
    @MiddleBendLength.setter
    def MiddleBendLength(self, middleBendLength: float) -> None: ...
    @property
    def TopBendLength(self) -> float: ...
    @TopBendLength.setter
    def TopBendLength(self, topBendLength: float) -> None: ...


class StructuralSectionSigmaProfileWithLips(StructuralSectionColdFormed):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, lipLength: float, bendWidth: float, middleBendLength: float, topBendLength: float): ...
    @property
    def BendWidth(self) -> float: ...
    @BendWidth.setter
    def BendWidth(self, bendWidth: float) -> None: ...
    @property
    def LipLength(self) -> float: ...
    @LipLength.setter
    def LipLength(self, lipLength: float) -> None: ...
    @property
    def MiddleBendLength(self) -> float: ...
    @MiddleBendLength.setter
    def MiddleBendLength(self, middleBendLength: float) -> None: ...
    @property
    def TopBendLength(self) -> float: ...
    @TopBendLength.setter
    def TopBendLength(self, topBendLength: float) -> None: ...


class StructuralSectionSigmaProfileWithFold(StructuralSectionColdFormed):
    def __init__(self, width: float, height: float, wallNominalThickness: float, wallDesignThickness: float, innerFillet: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, foldWidth: float, lipLength: float, bendWidth: float, middleBendLength: float, topBendLength: float): ...
    @property
    def FoldWidth(self) -> float: ...
    @FoldWidth.setter
    def FoldWidth(self, foldWidth: float) -> None: ...
    @property
    def BendWidth(self) -> float: ...
    @BendWidth.setter
    def BendWidth(self, bendWidth: float) -> None: ...
    @property
    def LipLength(self) -> float: ...
    @LipLength.setter
    def LipLength(self, lipLength: float) -> None: ...
    @property
    def MiddleBendLength(self) -> float: ...
    @MiddleBendLength.setter
    def MiddleBendLength(self, middleBendLength: float) -> None: ...
    @property
    def TopBendLength(self) -> float: ...
    @TopBendLength.setter
    def TopBendLength(self, topBendLength: float) -> None: ...


class StructuralSectionUserDefined(StructuralSectionRectangular):
    def __init__(self, width: float, height: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float): ...


class StructuralSectionConcreteRectangle(StructuralSectionRectangular):
    def __init__(self, width: float, height: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float): ...


class StructuralSectionConcreteRectangleCut(StructuralSectionRectangular):
    def __init__(self, width: float, height: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, topCutWidth: float, topCutHeight: float, bottomCutWidth: float, bottomCutHeight: float): ...
    @property
    def TopCutWidth(self) -> float: ...
    @TopCutWidth.setter
    def TopCutWidth(self, topCutWidth: float) -> None: ...
    @property
    def TopCutHeight(self) -> float: ...
    @TopCutHeight.setter
    def TopCutHeight(self, topCutHeight: float) -> None: ...
    @property
    def BottomCutWidth(self) -> float: ...
    @BottomCutWidth.setter
    def BottomCutWidth(self, bottomCutWidth: float) -> None: ...
    @property
    def BottomCutHeight(self) -> float: ...
    @BottomCutHeight.setter
    def BottomCutHeight(self, bottomCutHeight: float) -> None: ...


class StructuralSectionConcreteT(StructuralSectionRectangular):
    def __init__(self, width: float, height: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, cantileverLength: float, cantileverHeight: float): ...
    @property
    def CantileverLength(self) -> float: ...
    @CantileverLength.setter
    def CantileverLength(self, cantileverLength: float) -> None: ...
    @property
    def CantileverHeight(self) -> float: ...
    @CantileverHeight.setter
    def CantileverHeight(self, cantileverHeight: float) -> None: ...


class StructuralSectionConcreteCross(StructuralSectionRectangular):
    def __init__(self, width: float, height: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float, cantileverLength: float, cantileverHeight: float): ...
    @property
    def CantileverLength(self) -> float: ...
    @CantileverLength.setter
    def CantileverLength(self, cantileverLength: float) -> None: ...
    @property
    def CantileverHeight(self) -> float: ...
    @CantileverHeight.setter
    def CantileverHeight(self, cantileverHeight: float) -> None: ...


class StructuralSectionConcreteRound(StructuralSectionRound):
    def __init__(self, diameter: float, centroidHorizontal: float, centroidVertical: float, principalAxesAngle: float, sectionArea: float, perimeter: float, nominalWeight: float, momentOfInertiaStrongAxis: float, momentOfInertiaWeakAxis: float, elasticModulusStrongAxis: float, elasticModulusWeakAxis: float, plasticModulusStrongAxis: float, plasticModulusWeakAxis: float, torsionalMomentOfInertia: float, torsionalModulus: float, warpingConstant: float, shearAreaStrongAxis: float, shearAreaWeakAxis: float): ...


class StructuralSectionErrorCode:
    Success = 0
    Failure = 1
    ShapeNotRecognized = 2
    IncompleteDefinition = 3
    ElementNotSupported = 4
    MediumDetailShapeHasRounding = 5
    MediumAndFineDetailShapesAreInconsistent = 6
    ElementHasIndependentJustification = 7
