diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelBeam.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelBeam.cs deleted file mode 100644 index c6b9a092..00000000 --- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelBeam.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Speckle.Objects.Structural.Materials; -using Speckle.Objects.Structural.Properties.Profiles; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.AdvanceSteel; - -[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelBeam")] -public class AsteelBeam : Beam, IHasVolume, IHasArea, IAsteelObject -{ - [DetachProperty] - public SectionProfile profile { get; set; } - - [DetachProperty] - public StructuralMaterial material { get; set; } - - [DetachProperty] - public AsteelSectionProfile asteelProfile { get; set; } - - public double volume { get; set; } - public double area { get; set; } - public Base userAttributes { get; set; } - - public Base asteelProperties { get; set; } - - public AsteelBeam() { } - - [SchemaInfo("AsteelBeam", "Creates a Advance Steel beam by curve.", "Advance Steel", "Structure")] - public AsteelBeam([SchemaMainParam] ICurve baseLine, SectionProfile profile, StructuralMaterial material) - { - this.baseLine = baseLine; - this.profile = profile; - this.material = material; - } -} diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelBolt.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelBolt.cs deleted file mode 100644 index f5dbe850..00000000 --- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelBolt.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.AdvanceSteel; - -public abstract class AsteelBolt : Base, IAsteelObject -{ - [DetachProperty] - public List displayValue { get; set; } - - public Base userAttributes { get; set; } - - public Base asteelProperties { get; set; } -} - -[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelCircularBolt")] -public class AsteelCircularBolt : AsteelBolt -{ - //[SchemaInfo("AsteelCircularBolt", "Creates a Advance Steel circular bolt.", "Advance Steel", "Structure")] - public AsteelCircularBolt() { } -} - -[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelRectangularBolt")] -public class AsteelRectangularBolt : AsteelBolt -{ - //[SchemaInfo("AsteelRectangularBolt", "Creates a Advance Steel rectangular bolt.", "Advance Steel", "Structure")] - public AsteelRectangularBolt() { } -} diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelGrating.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelGrating.cs deleted file mode 100644 index 32071373..00000000 --- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelGrating.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.AdvanceSteel; - -[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelGrating")] -public class AsteelGrating : Base, IAsteelObject -{ - [DetachProperty] - public List displayValue { get; set; } - - public Base userAttributes { get; set; } - - public Base asteelProperties { get; set; } - - //[SchemaInfo("AsteelGrating", "Creates a Advance Steel grating.", "Advance Steel", "Structure")] - public AsteelGrating() { } -} diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelPlate.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelPlate.cs deleted file mode 100644 index c6c66293..00000000 --- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelPlate.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Materials; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.AdvanceSteel; - -[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelPlate")] -public class AsteelPlate : Area, IDisplayValue>, IHasArea, IHasVolume, IAsteelObject -{ - [DetachProperty] - public StructuralMaterial? material { get; set; } - - public Base userAttributes { get; set; } - - public Base asteelProperties { get; set; } - - [SchemaInfo("AsteelPlate", "Creates a Advance Steel plate.", "Advance Steel", "Structure")] - public AsteelPlate(Polyline outline, string units, StructuralMaterial? material = null) - { - this.outline = outline; - this.material = material; - this.units = units; - } - - public AsteelPlate() { } -} diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelPolyBeam.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelPolyBeam.cs deleted file mode 100644 index 16b62f99..00000000 --- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelPolyBeam.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.AdvanceSteel; - -[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelPolyBeam")] -public class AsteelPolyBeam : AsteelBeam -{ - //[SchemaInfo("AsteelPolyBeam", "Creates a Advance Steel polybeam.", "Advance Steel", "Structure")] - public AsteelPolyBeam() { } -} diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSectionProfile.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSectionProfile.cs deleted file mode 100644 index 5ad3ae71..00000000 --- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSectionProfile.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.AdvanceSteel; - -[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelSectionProfile")] -public class AsteelSectionProfile : Base -{ - public string ProfSectionType { get; set; } - - public string ProfSectionName { get; set; } - - public AsteelSectionProfileDB SectionProfileDB { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSectionProfileDB.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSectionProfileDB.cs deleted file mode 100644 index 6603ee60..00000000 --- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSectionProfileDB.cs +++ /dev/null @@ -1,6 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.AdvanceSteel; - -[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelSectionProfileDB")] -public class AsteelSectionProfileDB : Base { } diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSlab.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSlab.cs deleted file mode 100644 index 2022db80..00000000 --- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSlab.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Materials; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.AdvanceSteel; - -[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelSlab")] -public class AsteelSlab : Area, IDisplayValue>, IHasArea, IHasVolume, IAsteelObject -{ - [DetachProperty] - public StructuralMaterial? material { get; set; } - - public Base userAttributes { get; set; } - - public Base asteelProperties { get; set; } - - [SchemaInfo("AsteelSlab", "Creates a Advance Steel slab.", "Advance Steel", "Structure")] - public AsteelSlab(Polyline outline, string units, StructuralMaterial? material = null) - { - this.outline = outline; - this.material = material; - this.units = units; - } - - public AsteelSlab() { } -} diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSpecialPart.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSpecialPart.cs deleted file mode 100644 index 0fe582c6..00000000 --- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelSpecialPart.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.AdvanceSteel; - -[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelSpecialPart")] -public class AsteelSpecialPart : Base, IAsteelObject -{ - [DetachProperty] - public List displayValue { get; set; } - - public Base userAttributes { get; set; } - - public Base asteelProperties { get; set; } - - //[SchemaInfo("AsteelSpecialPart", "Creates a Advance Steel special part.", "Advance Steel", "Structure")] - public AsteelSpecialPart() { } -} diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelStraightBeam.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelStraightBeam.cs deleted file mode 100644 index bf337de2..00000000 --- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/AsteelStraightBeam.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.AdvanceSteel; - -[SpeckleType("Objects.BuiltElements.AdvanceSteel.AsteelStraightBeam")] -public class AsteelStraightBeam : AsteelBeam -{ - //[SchemaInfo("AsteelStraightBeam", "Creates a Advance Steel straightBeam.", "Advance Steel", "Structure")] - public AsteelStraightBeam() { } -} diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/Enums.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/Enums.cs deleted file mode 100644 index 297fb2f6..00000000 --- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/Enums.cs +++ /dev/null @@ -1 +0,0 @@ -namespace Speckle.Objects.BuiltElements.AdvanceSteel; diff --git a/src/Speckle.Objects/BuiltElements/AdvanceSteel/IAsteelObject.cs b/src/Speckle.Objects/BuiltElements/AdvanceSteel/IAsteelObject.cs deleted file mode 100644 index 8cb274d5..00000000 --- a/src/Speckle.Objects/BuiltElements/AdvanceSteel/IAsteelObject.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.AdvanceSteel; - -public interface IAsteelObject -{ - Base userAttributes { get; set; } - - Base asteelProperties { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Alignment.cs b/src/Speckle.Objects/BuiltElements/Alignment.cs deleted file mode 100644 index 7bf95c07..00000000 --- a/src/Speckle.Objects/BuiltElements/Alignment.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Speckle.Newtonsoft.Json; -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.Alignment")] -public class Alignment : Base, IDisplayValue -{ - [JsonIgnore, Obsolete("Use curves property")] - public ICurve baseCurve { get; set; } - - public List curves { get; set; } - - public string name { get; set; } - - public double startStation { get; set; } - - public double endStation { get; set; } - - public List profiles { get; set; } - - /// - /// Station equation list contains doubles indicating raw station back, station back, and station ahead for each station equation - /// - public List stationEquations { get; set; } - - /// - /// Station equation direction for the corresponding station equation should be true for increasing or false for decreasing - /// - public List stationEquationDirections { get; set; } - - public string units { get; set; } - - [DetachProperty] - public Polyline displayValue { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadBeam.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadBeam.cs deleted file mode 100644 index f65ecf30..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadBeam.cs +++ /dev/null @@ -1,134 +0,0 @@ -using Speckle.Newtonsoft.Json; -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -/* -For further informations about given the variables, visit: -https://archicadapi.graphisoft.com/documentation/api_beamtype -*/ -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadBeam")] -public class ArchicadBeam : Beam -{ - [SchemaInfo("ArchicadBeam", "Creates an Archicad beam by curve.", "Archicad", "Structure")] - public ArchicadBeam() { } - - // Element base - public string? elementType { get; set; } /*APINullabe*/ - - public List? classifications { get; set; } /*APINullabe*/ - public Base? elementProperties { get; set; } - public Base? componentProperties { get; set; } - - public override Level? level - { - get => archicadLevel; - internal set - { - if (value is ArchicadLevel or null) - { - archicadLevel = value as ArchicadLevel; - } - else - { - throw new ArgumentException($"Expected object of type {nameof(ArchicadLevel)}"); - } - } - } - - [JsonIgnore] - public ArchicadLevel? archicadLevel { get; set; } /*APINullabe*/ - - public string? layer { get; set; } /*APINullabe*/ - - // Positioning - public Point begC { get; set; } - public Point endC { get; set; } - public bool? isSlanted { get; set; } /*APINullabe*/ - public double? slantAngle { get; set; } /*APINullabe*/ - public string? beamShape { get; set; } /*APINullabe*/ - public int? sequence { get; set; } /*APINullabe*/ - public double? curveAngle { get; set; } /*APINullabe*/ - public double? verticalCurveHeight { get; set; } /*APINullabe*/ - public bool? isFlipped { get; set; } /*APINullabe*/ - - // End Cuts - public uint? nCuts { get; set; } /*APINullabe*/ - public Dictionary? Cuts { get; set; } - - // Reference Axis - public short? anchorPoint { get; set; } /*APINullabe*/ - public double? offset { get; set; } - public double? profileAngle { get; set; } - - // Segment - public uint? nSegments { get; set; } /*APINullabe*/ - public uint? nProfiles { get; set; } /*APINullabe*/ - public Dictionary? segments { get; set; } /*APINullabe*/ - - // Scheme - public uint? nSchemes { get; set; } - public Dictionary? Schemes { get; set; } - - // Hole - public Dictionary? Holes { get; set; } - - // Floor Plan and Section - Floor Plan Display - public string? showOnStories { get; set; } /*APINullabe*/ - public string? displayOptionName { get; set; } /*APINullabe*/ - public string? uncutProjectionMode { get; set; } /*APINullabe*/ - public string? overheadProjectionMode { get; set; } /*APINullabe*/ - public string? showProjectionName { get; set; } /*APINullabe*/ - - // Floor Plan and Section - Cut Surfaces - public short? cutContourLinePen { get; set; } - public string? cutContourLineType { get; set; } - public short? overrideCutFillPen { get; set; } - public short? overrideCutFillBackgroundPen { get; set; } - - // Floor Plan and Section - Outlines - public string? showOutline { get; set; } /*APINullabe*/ - public short? uncutLinePen { get; set; } /*APINullabe*/ - public string? uncutLinetype { get; set; } /*APINullabe*/ - public short? overheadLinePen { get; set; } /*APINullabe*/ - public string? overheadLinetype { get; set; } /*APINullabe*/ - public short? hiddenLinePen { get; set; } /*APINullabe*/ - public string? hiddenLinetype { get; set; } /*APINullabe*/ - - // Floor Plan and Section - Symbol - public string? showReferenceAxis { get; set; } /*APINullabe*/ - public short? referencePen { get; set; } /*APINullabe*/ - public string? referenceLinetype { get; set; } /*APINullabe*/ - - // Floor Plan and Section - Cover Fills - public bool? useCoverFill { get; set; } /*APINullabe*/ - public bool? useCoverFillFromSurface { get; set; } - public short? coverFillForegroundPen { get; set; } - public short? coverFillBackgroundPen { get; set; } - public string? coverFillType { get; set; } - public string? coverFillTransformationType { get; set; } - public double? coverFillTransformationOrigoX { get; set; } - public double? coverFillTransformationOrigoY { get; set; } - public double? coverFillTransformationXAxisX { get; set; } - public double? coverFillTransformationXAxisY { get; set; } - public double? coverFillTransformationYAxisX { get; set; } - public double? coverFillTransformationYAxisY { get; set; } - - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadBeam+BeamSegment")] - public class BeamSegment : Base - { - // Segment override materials - public string? leftMaterial { get; set; } - public string? topMaterial { get; set; } - public string? rightMaterial { get; set; } - public string? bottomMaterial { get; set; } - - public string? endsMaterial { get; set; } - - // Segment - The overridden materials are chained - public bool? materialChained { get; set; } - public AssemblySegment assemblySegmentData { get; set; } - } -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadColumn.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadColumn.cs deleted file mode 100644 index 2d5e91e9..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadColumn.cs +++ /dev/null @@ -1,144 +0,0 @@ -using Speckle.Newtonsoft.Json; -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -/* -For further informations about given the variables, visit: -https://archicadapi.graphisoft.com/documentation/api_columntype -*/ -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadColumn")] -public class ArchicadColumn : Column -{ - [SchemaInfo("ArchicadColumn", "Creates an Archicad Column by curve.", "Archicad", "Structure")] - public ArchicadColumn() { } - - // Element base - public string? elementType { get; set; } /*APINullabe*/ - - public List? classifications { get; set; } /*APINullabe*/ - public Base? elementProperties { get; set; } - public Base? componentProperties { get; set; } - - public override Level? level - { - get => archicadLevel; - internal set - { - if (value is ArchicadLevel or null) - { - archicadLevel = value as ArchicadLevel; - } - else - { - throw new ArgumentException($"Expected object of type {nameof(ArchicadLevel)}"); - } - } - } - - [JsonIgnore] - public ArchicadLevel? archicadLevel { get; set; } /*APINullabe*/ - - public string? layer { get; set; } /*APINullabe*/ - - // Wall geometry - public Point origoPos { get; set; } - public double height { get; set; } - - // Positioning - story relation - public double? bottomOffset { get; set; } /*APINullabe*/ - public double? topOffset { get; set; } /*APINullabe*/ - public short? relativeTopStory { get; set; } /*APINullabe*/ - - // Positioning - slanted column - public bool? isSlanted { get; set; } /*APINullabe*/ - public double? slantAngle { get; set; } /*APINullabe*/ - public double? slantDirectionAngle { get; set; } /*APINullabe*/ - public bool? isFlipped { get; set; } /*APINullabe*/ - - // Positioning - wrapping - public bool? wrapping { get; set; } /*APINullabe*/ - - // Positioning - Defines the relation of column to zones (Zone Boundary, Reduce Zone Area Only, No Effect on Zones) - public string? columnRelationToZoneName { get; set; } /*APINullabe*/ - - // End Cuts - public uint? nCuts { get; set; } /*APINullabe*/ - public Dictionary? Cuts { get; set; } /*APINullabe*/ - - // Reference Axis - public short? coreAnchor { get; set; } - public double? axisRotationAngle { get; set; } - - // Segment - public uint? nSegments { get; set; } /*APINullabe*/ - public uint? nProfiles { get; set; } /*APINullabe*/ - public Dictionary? segments { get; set; } /*APINullabe*/ - - // Scheme - public uint? nSchemes { get; set; } - public Dictionary? Schemes { get; set; } - - // Floor Plan and Section - Floor Plan Display - public string? showOnStories { get; set; } /*APINullabe*/ - public string? displayOptionName { get; set; } /*APINullabe*/ - public string? showProjectionName { get; set; } /*APINullabe*/ - - // Floor Plan and Section - Cut Surfaces - public short? corePen { get; set; } - public string? contLtype { get; set; } - public short? venLinePen { get; set; } - public string? venLineType { get; set; } - public short? overrideCutFillPen { get; set; } - public short? overrideCutFillBackgroundPen { get; set; } - - // Floor Plan and Section - Outlines - public short? uncutLinePen { get; set; } /*APINullabe*/ - public string? uncutLinetype { get; set; } /*APINullabe*/ - public short? overheadLinePen { get; set; } /*APINullabe*/ - public string? overheadLinetype { get; set; } /*APINullabe*/ - public short? hiddenLinePen { get; set; } /*APINullabe*/ - public string? hiddenLinetype { get; set; } /*APINullabe*/ - - // Floor Plan and Section - Floor Plan Symbol - public string? coreSymbolTypeName { get; set; } /*APINullabe*/ - public double? coreSymbolPar1 { get; set; } /*APINullabe*/ - public double? coreSymbolPar2 { get; set; } /*APINullabe*/ - public short? coreSymbolPen { get; set; } /*APINullabe*/ - - // Floor Plan and Section - Cover Fills - public bool? useCoverFill { get; set; } /*APINullabe*/ - public bool? useCoverFillFromSurface { get; set; } - public short? coverFillForegroundPen { get; set; } - public short? coverFillBackgroundPen { get; set; } - public string? coverFillType { get; set; } - public string? coverFillTransformationType { get; set; } - public double? coverFillTransformationOrigoX { get; set; } - public double? coverFillTransformationOrigoY { get; set; } - public double? coverFillTransformationXAxisX { get; set; } - public double? coverFillTransformationXAxisY { get; set; } - public double? coverFillTransformationYAxisX { get; set; } - public double? coverFillTransformationYAxisY { get; set; } - - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadColumn+ColumnSegment")] - public class ColumnSegment : Base - { - // Segment - Veneer attributes - public string? veneerType { get; set; } - public string? veneerBuildingMaterial { get; set; } - - public double? veneerThick { get; set; } - - // Segment - The extrusion overridden material name - public string? extrusionSurfaceMaterial { get; set; } - - // Segment - The ends overridden material name - public string? endsSurfaceMaterial { get; set; } - - // Segment - The overridden materials are chained - public bool? materialChained { get; set; } - public AssemblySegment assemblySegmentData { get; set; } - } -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadFloor.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadFloor.cs deleted file mode 100644 index e733b5b5..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadFloor.cs +++ /dev/null @@ -1,99 +0,0 @@ -using Speckle.Newtonsoft.Json; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -/* -For further informations about given the variables, visit: -https://archicadapi.graphisoft.com/documentation/api_slabtype -*/ -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadFloor")] -public sealed class ArchicadFloor : Floor -{ - // Element base - public string? elementType { get; set; } /*APINullable*/ - - public List? classifications { get; set; } /*APINullable*/ - public Base? elementProperties { get; set; } - public Base? componentProperties { get; set; } - - public override Level? level - { - get => archicadLevel; - internal set - { - if (value is ArchicadLevel or null) - { - archicadLevel = value as ArchicadLevel; - } - else - { - throw new ArgumentException($"Expected object of type {nameof(ArchicadLevel)}"); - } - } - } - - [JsonIgnore] - public ArchicadLevel? archicadLevel { get; set; } /*APINullabe*/ - - public string? layer { get; set; } /*APINullabe*/ - - // Geometry and positioning - public double? thickness { get; set; } - public ElementShape shape { get; set; } - public string? structure { get; set; } /*APINullabe*/ - public string? compositeName { get; set; } - public string? buildingMaterialName { get; set; } - public string? referencePlaneLocation { get; set; } /*APINullabe*/ - - // EdgeTrims - public string? edgeAngleType { get; set; } - public double? edgeAngle { get; set; } - - // Floor Plan and Section - Floor Plan Display - public string? showOnStories { get; set; } /*APINullabe*/ - public Visibility? visibilityCont { get; set; } - public Visibility? visibilityFill { get; set; } - - // Floor Plan and Section - Cut Surfaces - public short? sectContPen { get; set; } - public string? sectContLtype { get; set; } - public short? cutFillPen { get; set; } - public short? cutFillBackgroundPen { get; set; } - - // Floor Plan and Section - Outlines - public short? contourPen { get; set; } - public string? contourLineType { get; set; } - public short? hiddenContourLinePen { get; set; } - public string? hiddenContourLineType { get; set; } - - // Floor Plan and Section - Cover Fills - public bool? useFloorFill { get; set; } - public short? floorFillPen { get; set; } - public short? floorFillBGPen { get; set; } - public string? floorFillName { get; set; } - public bool? use3DHatching { get; set; } - public string? hatchOrientation { get; set; } - public double? hatchOrientationOrigoX { get; set; } - public double? hatchOrientationOrigoY { get; set; } - public double? hatchOrientationXAxisX { get; set; } - public double? hatchOrientationXAxisY { get; set; } - public double? hatchOrientationYAxisX { get; set; } - public double? hatchOrientationYAxisY { get; set; } - - // Model - public string? topMat { get; set; } - public string? sideMat { get; set; } - public string? botMat { get; set; } - public bool? materialsChained { get; set; } - - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadFloor+Visibility")] - public class Visibility : Base - { - public bool? showOnHome { get; set; } - public bool? showAllAbove { get; set; } - public bool? showAllBelow { get; set; } - public short? showRelAbove { get; set; } - public short? showRelBelow { get; set; } - } -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadLevel.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadLevel.cs deleted file mode 100644 index 5b2d4467..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadLevel.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -/* -For further informations about given the variables, visit: -https://archicadapi.graphisoft.com/documentation/api_storytype -*/ -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadLevel")] -public class ArchicadLevel : Level -{ - public short index { get; set; } - - public ArchicadLevel() { } - - public ArchicadLevel(string name, double elevation, short index) - { - this.name = name; - this.elevation = elevation; - this.index = index; - } - - public ArchicadLevel(string name) - { - this.name = name; - } -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadOpening.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadOpening.cs deleted file mode 100644 index 91394788..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadOpening.cs +++ /dev/null @@ -1,83 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadOpening")] -public class ArchicadOpening : Opening -{ - [SchemaInfo("ArchicadOpening", "Creates an Archicad opening.", "Archicad", "Structure")] - public ArchicadOpening() { } - - public string parentApplicationId { get; set; } - - // Element base - public string? elementType { get; set; } /*APINullabe*/ - - public List? classifications { get; set; } /*APINullabe*/ - public Base? elementProperties { get; set; } - public Base? componentProperties { get; set; } - - // Floor Plan Parameters - public string? floorPlanDisplayMode { get; set; } /*APINullabe*/ - public string? connectionMode { get; set; } /*APINullabe*/ - - // Cut Surfaces Parameters - public bool? cutsurfacesUseLineOfCutElements { get; set; } /*APINullabe*/ - public short? cutsurfacesLinePenIndex { get; set; } /*APINullabe*/ - public string? cutsurfacesLineIndex { get; set; } /*APINullabe*/ - - // Outlines Parameters - public string? outlinesStyle { get; set; } /*APINullabe*/ - public bool? outlinesUseLineOfCutElements { get; set; } /*APINullabe*/ - public string? outlinesUncutLineIndex { get; set; } /*APINullabe*/ - public string? outlinesOverheadLineIndex { get; set; } /*APINullabe*/ - public short? outlinesUncutLinePenIndex { get; set; } /*APINullabe*/ - public short? outlinesOverheadLinePenIndex { get; set; } /*APINullabe*/ - - // Opening Cover Fills Parameters - public bool? useCoverFills { get; set; } /*APINullabe*/ - public bool? useFillsOfCutElements { get; set; } /*APINullabe*/ - public string? coverFillIndex { get; set; } /*APINullabe*/ - public short? coverFillPenIndex { get; set; } /*APINullabe*/ - public short? coverFillBackgroundPenIndex { get; set; } /*APINullabe*/ - public string? coverFillOrientation { get; set; } /*APINullabe*/ // Kérdéses.. - - // Cover Fill Transformation Parameters - public double? coverFillTransformationOrigoX { get; set; } - public double? coverFillTransformationOrigoY { get; set; } - public double? coverFillTransformationOrigoZ { get; set; } - public double? coverFillTransformationXAxisX { get; set; } - public double? coverFillTransformationXAxisY { get; set; } - public double? coverFillTransformationXAxisZ { get; set; } - public double? coverFillTransformationYAxisX { get; set; } - public double? coverFillTransformationYAxisY { get; set; } - public double? coverFillTransformationYAxisZ { get; set; } - - // Reference Axis Parameters - public bool? showReferenceAxis { get; set; } /*APINullabe*/ - public short? referenceAxisPenIndex { get; set; } /*APINullabe*/ - public string? referenceAxisLineTypeIndex { get; set; } /*APINullabe*/ - public double? referenceAxisOverhang { get; set; } /*APINullabe*/ - - // Extrusion Geometry Parameters - // Plane Frame - public Point extrusionGeometryBasePoint { get; set; } - public Vector extrusionGeometryXAxis { get; set; } - public Vector extrusionGeometryYAxis { get; set; } - public Vector extrusionGeometryZAxis { get; set; } - - // Opening Extrustion Parameters - public string? basePolygonType { get; set; } /*APINullabe*/ - public double? width { get; set; } /*APINullabe*/ - public double? height { get; set; } /*APINullabe*/ - public string? constraint { get; set; } /*APINullabe*/ - public string? anchor { get; set; } /*APINullabe */ - public int? anchorIndex { get; set; } /*APINullabe*/ - public double? anchorAltitude { get; set; } /*APINullabe*/ - public string? limitType { get; set; } /*APINullabe*/ - public double? extrusionStartOffSet { get; set; } /*APINullabe*/ - public double? finiteBodyLength { get; set; } /*APINullabe*/ - public string? linkedStatus { get; set; } /*APINullabe*/ -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadRoof.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadRoof.cs deleted file mode 100644 index fa9f2b60..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadRoof.cs +++ /dev/null @@ -1,293 +0,0 @@ -using Speckle.Newtonsoft.Json; -using Speckle.Objects.Geometry; -using Speckle.Objects.Other; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -/* -For further informations about given the variables, visit: -https://archicadapi.graphisoft.com/documentation/api_shellbasetype -*/ -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadShellBase")] -public class ArchicadShellBase : BuiltElements.Roof -{ - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShellBase+Visibility")] - public class Visibility : Base - { - public bool? showOnHome { get; set; } - public bool? showAllAbove { get; set; } - public bool? showAllBelow { get; set; } - public short? showRelAbove { get; set; } - public short? showRelBelow { get; set; } - } - - // Element base - public string? elementType { get; set; } /*APINullabe*/ - - public List? classifications { get; set; } /*APINullabe*/ - public Base? elementProperties { get; set; } - public Base? componentProperties { get; set; } - - public override Level? level - { - get => archicadLevel; - internal set - { - if (value is ArchicadLevel or null) - { - archicadLevel = value as ArchicadLevel; - } - else - { - throw new ArgumentException($"Expected object of type {nameof(ArchicadLevel)}"); - } - } - } - - [JsonIgnore] - public ArchicadLevel? archicadLevel { get; set; } /*APINullabe*/ - - public string? layer { get; set; } /*APINullabe*/ - - // Geometry and positioning - public double? thickness { get; set; } - public string? structure { get; set; } /*APINullabe*/ - public string? compositeName { get; set; } - public string? buildingMaterialName { get; set; } - - // EdgeTrims - public string? edgeAngleType { get; set; } - public double? edgeAngle { get; set; } - - // Floor Plan and Section - Floor Plan Display - public string? showOnStories { get; set; } /*APINullabe*/ - public Visibility? visibilityCont { get; set; } - public Visibility? visibilityFill { get; set; } - public string? displayOptionName { get; set; } /*APINullabe*/ - public string? showProjectionName { get; set; } /*APINullabe*/ - - // Floor Plan and Section - Cut Surfaces - public short? sectContPen { get; set; } /*APINullabe*/ - public string? sectContLtype { get; set; } /*APINullabe*/ - public short? cutFillPen { get; set; } - public short? cutFillBackgroundPen { get; set; } - - // Floor Plan and Section - Outlines - public short? contourPen { get; set; } /*APINullabe*/ - public string? contourLineType { get; set; } /*APINullabe*/ - public short? overheadLinePen { get; set; } /*APINullabe*/ - public string? overheadLinetype { get; set; } /*APINullabe*/ - - // Floor Plan and Section - Cover Fills - public bool? useFloorFill { get; set; } /*APINullabe*/ - public short? floorFillPen { get; set; } - public short? floorFillBGPen { get; set; } - public string? floorFillName { get; set; } - public bool? use3DHatching { get; set; } - public bool? useFillLocBaseLine { get; set; } - public bool? useSlantedFill { get; set; } - public string? hatchOrientation { get; set; } - public double? hatchOrientationOrigoX { get; set; } - public double? hatchOrientationOrigoY { get; set; } - public double? hatchOrientationXAxisX { get; set; } - public double? hatchOrientationXAxisY { get; set; } - public double? hatchOrientationYAxisX { get; set; } - public double? hatchOrientationYAxisY { get; set; } - - // Model - public string? topMat { get; set; } - public string? sideMat { get; set; } - public string? botMat { get; set; } - public bool? materialsChained { get; set; } - public string? trimmingBodyName { get; set; } /*APINullabe*/ -} - -/* -For further informations about given the variables, visit: -https://archicadapi.graphisoft.com/documentation/api_rooftype -*/ -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadRoof")] -public sealed class ArchicadRoof : ArchicadShellBase -{ - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadRoof+BaseLine")] - public class BaseLine : Base - { - public Point begC { get; set; } - public Point endC { get; set; } - } - - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadRoof+RoofLevel")] - public class RoofLevel : Base - { - public double? levelHeight { get; set; } - public double? levelAngle { get; set; } - } - - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadRoof+LevelEdge")] - public class LevelEdge : Base - { - public double? edgeLevelAngle { get; set; } - public double? eavesOverhang { get; set; } - public string? topMaterial { get; set; } - public string? bottomMaterial { get; set; } - public string? coverFillType { get; set; } - public string? angleType { get; set; } - } - - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadRoof+PivotPolyEdge")] - public class PivotPolyEdge : Base - { - public int? nLevelEdgeData { get; set; } - public Dictionary? roofLevels { get; set; } - } - - // Geometry and positioning - public string roofClassName { get; set; } - public double? planeRoofAngle { get; set; } - public ElementShape shape { get; set; } - public BaseLine? baseLine { get; set; } - public bool? posSign { get; set; } - public ElementShape? pivotPolygon { get; set; } /*APINullabe*/ - public short? levelNum { get; set; } - public Dictionary? levels { get; set; } /*APINullabe*/ - public Dictionary? roofPivotPolyEdges { get; set; } -} - -/* -For further informations about given the variables, visit: -https://archicadapi.graphisoft.com/documentation/api_shelltype -*/ -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell")] -public sealed class ArchicadShell : ArchicadShellBase -{ - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+ShellContourEdgeData")] - public class ShellContourEdgeData : Base - { - public string? sideTypeName { get; set; } - public double? sideAngle { get; set; } - public string? edgeTypeName { get; set; } - public string? edgeSideMaterial { get; set; } - } - - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+ShellContourData")] - public class ShellContourData : Base - { - public ElementShape? shellContourPoly { get; set; } - public Transform shellContourPlane { get; set; } - public double? shellContourHeight { get; set; } - public int? shellContourID { get; set; } - public Dictionary? shellContourEdges { get; set; } - } - - // Geometry and positioning - public string? shellClassName { get; set; } /*APINullabe*/ - public Transform? basePlane { get; set; } /*APINullabe*/ - public bool? flipped { get; set; } /*APINullabe*/ - public bool? hasContour { get; set; } /*APINullabe*/ - public int? numHoles { get; set; } /*APINullabe*/ - public Dictionary? shellContours { get; set; } - public string? defaultEdgeType { get; set; } /*APINullabe*/ - - public double? slantAngle { get; set; } - public double? revolutionAngle { get; set; } - public double? distortionAngle { get; set; } - public bool? segmentedSurfaces { get; set; } - public double? shapePlaneTilt { get; set; } - public double? begPlaneTilt { get; set; } - public double? endPlaneTilt { get; set; } - public ElementShape shape { get; set; } - public ElementShape? shape1 { get; set; } /*APINullabe*/ - public ElementShape? shape2 { get; set; } /*APINullabe*/ - public Transform? axisBase { get; set; } /*APINullabe*/ - public Transform? plane1 { get; set; } /*APINullabe*/ - public Transform? plane2 { get; set; } /*APINullabe*/ - public Point? begC { get; set; } - public double? begAngle { get; set; } - public Vector? extrusionVector { get; set; } - public Vector? shapeDirection { get; set; } - public Vector? distortionVector { get; set; } - public string? morphingRuleName { get; set; } - - // Model - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+BegShapeEdge")] - public class BegShapeEdge : Base - { - public string? begShapeEdgeTrimSideType { get; set; } - public double? begShapeEdgeTrimSideAngle { get; set; } - public string? begShapeEdgeSideMaterial { get; set; } - public string? begShapeEdgeType { get; set; } - } - - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+EndShapeEdge")] - public class EndShapeEdge : Base - { - public string? endShapeEdgeTrimSideType { get; set; } - public double? endShapeEdgeTrimSideAngle { get; set; } - public string? endShapeEdgeSideMaterial { get; set; } - public string? endShapeEdgeType { get; set; } - } - - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+ExtrudedEdge1")] - public class ExtrudedEdge1 : Base - { - public string? extrudedEdgeTrimSideType1 { get; set; } - public double? extrudedEdgeTrimSideAngle1 { get; set; } - public string? extrudedEdgeSideMaterial1 { get; set; } - public string? extrudedEdgeType1 { get; set; } - } - - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+ExtrudedEdge2")] - public class ExtrudedEdge2 : Base - { - public string? extrudedEdgeTrimSideType2 { get; set; } - public double? extrudedEdgeTrimSideAngle2 { get; set; } - public string? extrudedEdgeSideMaterial2 { get; set; } - public string? extrudedEdgeType2 { get; set; } - } - - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+RevolvedEdge1")] - public class RevolvedEdge1 : Base - { - public string? revolvedEdgeTrimSideType1 { get; set; } - public double? revolvedEdgeTrimSideAngle1 { get; set; } - public string? revolvedEdgeSideMaterial1 { get; set; } - public string? revolvedEdgeType1 { get; set; } - } - - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+RevolvedEdge2")] - public class RevolvedEdge2 : Base - { - public string? revolvedEdgeTrimSideType2 { get; set; } - public double? revolvedEdgeTrimSideAngle2 { get; set; } - public string? revolvedEdgeSideMaterial2 { get; set; } - public string? revolvedEdgeType2 { get; set; } - } - - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+RuledEdge1")] - public class RuledEdge1 : Base - { - public string? ruledEdgeTrimSideType1 { get; set; } - public double? ruledEdgeTrimSideAngle1 { get; set; } - public string? ruledEdgeSideMaterial1 { get; set; } - public string? ruledEdgeType1 { get; set; } - } - - [SpeckleType("Objects.BuiltElements.Archicad.ArchicadShell+RuledEdge2")] - public class RuledEdge2 : Base - { - public string? ruledEdgeTrimSideType2 { get; set; } - public double? ruledEdgeTrimSideAngle2 { get; set; } - public string? ruledEdgeSideMaterial2 { get; set; } - public string? ruledEdgeType2 { get; set; } - } - - public BegShapeEdge? begShapeEdge { get; set; } - public EndShapeEdge? endShapeEdge { get; set; } - public ExtrudedEdge1? extrudedEdge1 { get; set; } - public ExtrudedEdge2? extrudedEdge2 { get; set; } - public RevolvedEdge1? revolvedEdge1 { get; set; } - public RevolvedEdge2? revolvedEdge2 { get; set; } - public RuledEdge1? ruledEdge1 { get; set; } - public RuledEdge2? ruledEdge2 { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadRoom.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadRoom.cs deleted file mode 100644 index c7b865db..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadRoom.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Speckle.Newtonsoft.Json; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -/* -For further informations about given the variables, visit: -https://archicadapi.graphisoft.com/documentation/api_zonetype -*/ -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadRoom")] -public class ArchicadRoom : Room -{ - // Element base - public string elementType { get; set; } - - public List classifications { get; set; } - public Base? elementProperties { get; set; } - public Base? componentProperties { get; set; } - - public override Level? level - { - get => archicadLevel; - set => archicadLevel = value as ArchicadLevel ?? null; - } - - [JsonIgnore] - public ArchicadLevel? archicadLevel { get; set; } - - public string? layer { get; set; } /*APINullabe*/ - - public ElementShape shape { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadWall.cs b/src/Speckle.Objects/BuiltElements/Archicad/ArchicadWall.cs deleted file mode 100644 index 83e81cfb..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/ArchicadWall.cs +++ /dev/null @@ -1,122 +0,0 @@ -using Speckle.Newtonsoft.Json; -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -/* -For further informations about given the variables, visit: -https://archicadapi.graphisoft.com/documentation/api_walltype -*/ -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadWall")] -public class ArchicadWall : Wall -{ - [SchemaInfo("ArchicadWall", "Creates an Archicad wall.", "Archicad", "Structure")] - public ArchicadWall() { } - - // Element base - public string? elementType { get; set; } /*APINullabe*/ - - public List? classifications { get; set; } /*APINullabe*/ - public Base? elementProperties { get; set; } - public Base? componentProperties { get; set; } - - public override Level? level - { - get => archicadLevel; - internal set - { - if (value is ArchicadLevel or null) - { - archicadLevel = value as ArchicadLevel; - } - else - { - throw new ArgumentException($"Expected object of type {nameof(ArchicadLevel)}"); - } - } - } - - [JsonIgnore] - public ArchicadLevel? archicadLevel { get; set; } /*APINullabe*/ - - public string? layer { get; set; } /*APINullabe*/ - - // Wall geometry - public double? baseOffset { get; set; } /*APINullabe*/ - public Point startPoint { get; set; } - public Point endPoint { get; set; } - - public string? structure { get; set; } /*APINullabe*/ - public string? geometryMethod { get; set; } /*APINullabe*/ - public string? wallComplexity { get; set; } /*APINullabe*/ - - public string? buildingMaterialName { get; set; } - public string? compositeName { get; set; } - public string? profileName { get; set; } - public double? arcAngle { get; set; } - - public ElementShape? shape { get; set; } - - public double? thickness { get; set; } /*APINullabe*/ - - public double? outsideSlantAngle { get; set; } - public double? insideSlantAngle { get; set; } - - public bool? polyWalllCornersCanChange { get; set; } - - // Wall and stories relation - public double? topOffset { get; set; } /*APINullabe*/ - public short? relativeTopStory { get; set; } /*APINullabe*/ - public string? referenceLineLocation { get; set; } /*APINullabe*/ - public double? referenceLineOffset { get; set; } - public double? offsetFromOutside { get; set; } /*APINullabe*/ - public int? referenceLineStartIndex { get; set; } /*APINullabe*/ - public int? referenceLineEndIndex { get; set; } /*APINullabe*/ - public bool flipped { get; set; } - - // Floor Plan and Section - Floor Plan Display - public string? showOnStories { get; set; } /*APINullabe*/ - public string? displayOptionName { get; set; } /*APINullabe*/ - public string? showProjectionName { get; set; } /*APINullabe*/ - - // Floor Plan and Section - Cut Surfaces parameters - public short? cutLinePen { get; set; } - public string? cutLinetype { get; set; } - public short? overrideCutFillPen { get; set; } - public short? overrideCutFillBackgroundPen { get; set; } - - // Floor Plan and Section - Outlines parameters - public short? uncutLinePen { get; set; } /*APINullabe*/ - public string? uncutLinetype { get; set; } /*APINullabe*/ - public short? overheadLinePen { get; set; } /*APINullabe*/ - public string? overheadLinetype { get; set; } /*APINullabe*/ - - // Model - Override Surfaces - public string? referenceMaterialName { get; set; } - public int? referenceMaterialStartIndex { get; set; } - public int? referenceMaterialEndIndex { get; set; } - public string? oppositeMaterialName { get; set; } - public int? oppositeMaterialStartIndex { get; set; } - public int? oppositeMaterialEndIndex { get; set; } - public string? sideMaterialName { get; set; } - public bool? materialsChained { get; set; } /*APINullabe*/ - public bool? inheritEndSurface { get; set; } /*APINullabe*/ - public bool? alignTexture { get; set; } /*APINullabe*/ - public int? sequence { get; set; } /*APINullabe*/ - - // Model - Log Details (log height, start with half log, surface of horizontal edges, log shape) - public double? logHeight { get; set; } - public bool? startWithHalfLog { get; set; } - public string? surfaceOfHorizontalEdges { get; set; } - public string? logShape { get; set; } - - // Model - Defines the relation of wall to zones (Zone Boundary, Reduce Zone Area Only, No Effect on Zones) - public string? wallRelationToZoneName { get; set; } /*APINullabe*/ - - // Does it have any embedded object? - public bool? hasDoor { get; set; } /*APINullabe*/ - - public bool? hasWindow { get; set; } /*APINullabe*/ -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/AssemblySegment.cs b/src/Speckle.Objects/BuiltElements/Archicad/AssemblySegment.cs deleted file mode 100644 index 172c23c2..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/AssemblySegment.cs +++ /dev/null @@ -1,65 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -[SpeckleType("Objects.BuiltElements.Archicad.AssemblySegment")] -public class AssemblySegment : Base -{ - public bool circleBased { get; set; } - - public string modelElemStructureType { get; set; } - - public double nominalHeight { get; set; } - - public double nominalWidth { get; set; } - - public bool isHomogeneous { get; set; } - - public double endWidth { get; set; } - - public double endHeight { get; set; } - - public bool isEndWidthAndHeightLinked { get; set; } - - public bool isWidthAndHeightLinked { get; set; } - - public string profileAttrName { get; set; } - - public string buildingMaterial { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Archicad.AssemblySegmentScheme")] -public class AssemblySegmentScheme : Base -{ - public string lengthType { get; set; } - - public double fixedLength { get; set; } - - public double lengthProportion { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Archicad.AssemblySegmentCut")] -public class AssemblySegmentCut : Base -{ - public string cutType { get; set; } - - public double customAngle { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Archicad.Hole")] -public class Hole : Base -{ - public string holeType { get; set; } - - public bool holeContourOn { get; set; } - - public int holeId { get; set; } - - public double centerx { get; set; } - - public double centerz { get; set; } - - public double width { get; set; } - - public double height { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/Classification.cs b/src/Speckle.Objects/BuiltElements/Archicad/Classification.cs deleted file mode 100644 index b4fff6cf..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/Classification.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -[SpeckleType("Objects.BuiltElements.Archicad.Classification")] -public class Classification : Base -{ - public Classification() { } - - [SchemaInfo("Classification", "A classification to set on an element", "BIM", "All")] - public Classification(string system, string? code = null, string? name = null) - { - this.system = system; - this.code = code; - this.name = name; - } - - public string system { get; set; } - public string? code { get; set; } - public string? name { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ComponentProperties.cs b/src/Speckle.Objects/BuiltElements/Archicad/ComponentProperties.cs deleted file mode 100644 index be0f99ae..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/ComponentProperties.cs +++ /dev/null @@ -1,50 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -[SpeckleType("Objects.BuiltElements.Archicad.ComponentProperties")] -public class ComponentProperties : Base -{ - public ComponentProperties() { } - - [SchemaInfo("ComponentProperties", "An Archicad element component properties", "Archicad", "Elements")] - public ComponentProperties( - string name, - List propertyGroups, - [SchemaParamInfo("(Optional) Speckle units.")] string units = "" - ) - { - this.name = name; - this.propertyGroups = propertyGroups; - this.units = units; - } - - public string name { get; set; } - public List? propertyGroups { get; set; } - public string units { get; set; } - - /// - /// Turns a List of ComponentProperties into a Base so that it can be used with the Speckle properties prop - /// - /// - /// - public static Base? ToBase(List? componentPropertiesList) - { - if (componentPropertiesList == null || componentPropertiesList.Count == 0) - { - return null; - } - - var @base = new Base(); - - foreach (ComponentProperties componentProperties in componentPropertiesList) - { - @base[RemoveDisallowedPropNameChars(componentProperties.name)] = PropertyGroup.ToBase( - componentProperties.propertyGroups - ); - } - - return @base; - } -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/DirectShape.cs b/src/Speckle.Objects/BuiltElements/Archicad/DirectShape.cs deleted file mode 100644 index 8806440e..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/DirectShape.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -[SpeckleType("Objects.BuiltElements.Archicad.DirectShape")] -public class DirectShape : Base -{ - public DirectShape() { } - - public DirectShape(string applicationId, List displayValue) - { - this.applicationId = applicationId; - this.displayValue = displayValue; - } - - // Element base - public string elementType { get; set; } - - public List classifications { get; set; } - public Base? elementProperties { get; set; } - public Base? componentProperties { get; set; } - - public ArchicadLevel level { get; set; } - - public string units { get; set; } - - [DetachProperty] - public List displayValue { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/ElementShape.cs b/src/Speckle.Objects/BuiltElements/Archicad/ElementShape.cs deleted file mode 100644 index ca48e028..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/ElementShape.cs +++ /dev/null @@ -1,71 +0,0 @@ -using Speckle.Newtonsoft.Json; -using Speckle.Objects.Geometry; -using Speckle.Objects.Primitive; -using Speckle.Sdk.Common; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -[SpeckleType("Objects.BuiltElements.Archicad.ElementShape")] -public sealed class ElementShape : Base -{ - public ElementShape() { } - - public ElementShape(Polyline contourPolyline, List? holePolylines = null) - { - this.contourPolyline = contourPolyline; - this.holePolylines = holePolylines; - } - - public Polyline contourPolyline { get; set; } - - public List? holePolylines { get; set; } - - /// - /// This class is only used for Archicad interop - /// - [SpeckleType("Objects.BuiltElements.Archicad.ElementShape+PolylineSegment")] - public sealed class PolylineSegment : Base, ICurve - { - public PolylineSegment() { } - - public PolylineSegment(Point startPoint, Point endPoint, double? arcAngle = null, bool? bodyFlag = null) - { - this.startPoint = startPoint; - this.endPoint = endPoint; - this.arcAngle = arcAngle ?? 0; - this.bodyFlag = bodyFlag; - } - - public Point startPoint { get; set; } - public Point endPoint { get; set; } - - [JsonIgnore] - public string units => Units.Meters; - public double arcAngle { get; set; } - public bool? bodyFlag { get; set; } - public double length { get; set; } - public Interval domain { get; set; } = Interval.UnitInterval; - } - - /// - /// This class is only used for Archicad interop - /// > - [SpeckleType("Objects.BuiltElements.Archicad.ElementShape+Polyline")] - public sealed class Polyline : Base, ICurve - { - public Polyline() { } - - public Polyline(List segments) - { - this.polylineSegments = segments; - } - - [JsonIgnore] - public string units => Units.Meters; - - public List polylineSegments { get; set; } = new(); - public double length { get; set; } - public Interval domain { get; set; } = Interval.UnitInterval; - } -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/Fenestration.cs b/src/Speckle.Objects/BuiltElements/Archicad/Fenestration.cs deleted file mode 100644 index 8f6db424..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/Fenestration.cs +++ /dev/null @@ -1,81 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadFenestration")] -public class ArchicadFenestration : Base, IDisplayValue> -{ - public string parentApplicationId { get; set; } - - // Element base - public string? elementType { get; set; } /*APINullabe*/ - - public List? classifications { get; set; } /*APINullabe*/ - public Base? elementProperties { get; set; } - public Base? componentProperties { get; set; } - - public double? width { get; set; } /*APINullabe*/ - public double? height { get; set; } /*APINullabe*/ - public double? subFloorThickness { get; set; } /*APINullabe*/ - public bool? reflected { get; set; } /*APINullabe*/ - public bool? oSide { get; set; } /*APINullabe*/ - public bool? refSide { get; set; } /*APINullabe*/ - public string? verticalLinkTypeName { get; set; } - public short? verticalLinkStoryIndex { get; set; } - public bool? wallCutUsing { get; set; } - public short? pen { get; set; } /*APINullabe*/ - public string? lineTypeName { get; set; } /*APINullabe*/ - public string? buildingMaterial { get; set; } /*APINullabe*/ - public string? sectFill { get; set; } /*APINullabe*/ - public short? sectFillPen { get; set; } /*APINullabe*/ - public short? sectBackgroundPen { get; set; } /*APINullabe*/ - public short? sectContPen { get; set; } /*APINullabe*/ - public string? cutLineType { get; set; } /*APINullabe*/ - public string? aboveViewLineType { get; set; } /*APINullabe*/ - public short? aboveViewLinePen { get; set; } /*APINullabe*/ - public short? belowViewLinePen { get; set; } /*APINullabe*/ - public string? belowViewLineType { get; set; } /*APINullabe*/ - public bool? useObjectPens { get; set; } /*APINullabe*/ - public bool? useObjLinetypes { get; set; } /*APINullabe*/ - public bool? useObjMaterials { get; set; } /*APINullabe*/ - public bool? useObjSectAttrs { get; set; } /*APINullabe*/ - public string? libraryPart { get; set; } /*APINullabe*/ - public string? displayOptionName { get; set; } /*APINullabe*/ - - [DetachProperty] - public List displayValue { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadDoorWindowBase")] -public class ArchicadDoorWindowBase : ArchicadFenestration -{ - public double? revealDepthFromSide { get; set; } /*APINullabe*/ - public double? jambDepthHead { get; set; } /*APINullabe*/ - public double? jambDepth { get; set; } /*APINullabe*/ - public double? jambDepth2 { get; set; } /*APINullabe*/ - public double? objLoc { get; set; } /*APINullabe*/ - public double? lower { get; set; } /*APINullabe*/ - public string? directionType { get; set; } /*APINullabe*/ - - public Point? startPoint { get; set; } /*APINullabe*/ - public Point? dirVector { get; set; } /*APINullabe*/ -} - -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadDoor")] -public sealed class ArchicadDoor : ArchicadDoorWindowBase { } - -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadWindow")] -public sealed class ArchicadWindow : ArchicadDoorWindowBase { } - -[SpeckleType("Objects.BuiltElements.Archicad.ArchicadSkylight")] -public sealed class ArchicadSkylight : ArchicadFenestration -{ - public uint? vertexID { get; set; } /*APINullabe*/ - public string? skylightFixMode { get; set; } /*APINullabe*/ - public string? skylightAnchor { get; set; } /*APINullabe*/ - public Point? anchorPosition { get; set; } /*APINullabe*/ - public double? anchorLevel { get; set; } /*APINullabe*/ - public double? azimuthAngle { get; set; } /*APINullabe*/ - public double? elevationAngle { get; set; } /*APINullabe*/ -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/Property.cs b/src/Speckle.Objects/BuiltElements/Archicad/Property.cs deleted file mode 100644 index 387d35cb..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/Property.cs +++ /dev/null @@ -1,54 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -[SpeckleType("Objects.BuiltElements.Archicad.Property")] -public class Property : Base -{ - public Property() { } - - [SchemaInfo("Property", "An Archicad element property", "Archicad", "Elements")] - public Property(string name, object value, [SchemaParamInfo("(Optional) Speckle units.")] string units = "") - { - this.name = name; - this.value = value; - this.units = units; - } - - public string name { get; set; } - public object? value { get; set; } - public List? values { get; set; } - public string units { get; set; } - - /// - /// Turns a List of Property into a Base so that it can be used with the Speckle properties prop - /// - /// - /// - public static Base? ToBase(List? properties) - { - if (properties == null || properties.Count == 0) - { - return null; - } - - var @base = new Base(); - - foreach (Property property in properties) - { - var key = RemoveDisallowedPropNameChars(property.name); - if (string.IsNullOrEmpty(key) || @base[key] != null) - { - continue; - } - - @base[key] = property.value; - - // todo - //property.values; - } - - return @base; - } -} diff --git a/src/Speckle.Objects/BuiltElements/Archicad/PropertyGroup.cs b/src/Speckle.Objects/BuiltElements/Archicad/PropertyGroup.cs deleted file mode 100644 index 66d0023f..00000000 --- a/src/Speckle.Objects/BuiltElements/Archicad/PropertyGroup.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Archicad; - -[SpeckleType("Objects.BuiltElements.Archicad.PropertyGroup")] -public class PropertyGroup : Base -{ - public PropertyGroup() { } - - [SchemaInfo("PropertyGroup", "An Archicad element property group", "Archicad", "Elements")] - public PropertyGroup( - string name, - List propertyList, - [SchemaParamInfo("(Optional) Speckle units.")] string units = "" - ) - { - this.name = name; - this.propertyList = propertyList; - this.units = units; - } - - public string name { get; set; } - public List? propertyList { get; set; } - public string units { get; set; } - - /// - /// Turns a List of PropertyGroup into a Base so that it can be used with the Speckle properties prop - /// - /// - /// - public static Base? ToBase(List? propertyGroups) - { - if (propertyGroups == null || propertyGroups.Count == 0) - { - return null; - } - - var @base = new Base(); - - foreach (PropertyGroup propertyGroup in propertyGroups) - { - @base[RemoveDisallowedPropNameChars(propertyGroup.name)] = Property.ToBase(propertyGroup.propertyList); - } - - return @base; - } -} diff --git a/src/Speckle.Objects/BuiltElements/Area.cs b/src/Speckle.Objects/BuiltElements/Area.cs deleted file mode 100644 index b39b01c7..00000000 --- a/src/Speckle.Objects/BuiltElements/Area.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.Area")] -public class Area : Base, IHasArea, IHasVolume, IDisplayValue> -{ - public Area() { } - - /// - /// SchemaBuilder constructor for an Area - /// - [SchemaInfo("Area", "Creates a Speckle area", "BIM", "Other")] - public Area(string name, string number, Level level, [SchemaMainParam] Point center) - { - this.name = name; - this.number = number; - this.level = level; - this.center = center; - } - - public string name { get; set; } - public string number { get; set; } - - [DetachProperty] - public Level level { get; set; } - public Point center { get; set; } - public List voids { get; set; } = new(); - public ICurve outline { get; set; } - - public string units { get; set; } - - [DetachProperty] - public List displayValue { get; set; } - - public double area { get; set; } - public double volume { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Baseline.cs b/src/Speckle.Objects/BuiltElements/Baseline.cs deleted file mode 100644 index 3a97c8f9..00000000 --- a/src/Speckle.Objects/BuiltElements/Baseline.cs +++ /dev/null @@ -1,88 +0,0 @@ -using Speckle.Newtonsoft.Json; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -public abstract class Baseline : Base -{ - protected Baseline() { } - - protected Baseline(string name, bool isFeaturelineBased) - { - this.name = name; - this.isFeaturelineBased = isFeaturelineBased; - } - - /// - /// The name of this baseline - /// - public string name { get; set; } - - /// - /// The horizontal component of this baseline - /// - public abstract Alignment? alignment { get; internal set; } - - /// - /// The vertical component of this baseline - /// - public abstract Profile? profile { get; internal set; } - - [DetachProperty] - public Featureline? featureline { get; internal set; } - - public bool isFeaturelineBased { get; set; } -} - -/// -/// Generic instance class -/// -public abstract class Baseline : Baseline - where TA : Alignment - where TP : Profile -{ - protected Baseline(string name, TA alignment, TP profile, Featureline? featureline, bool isFeaturelineBased) - : base(name, isFeaturelineBased) - { - this.name = name; - typedAlignment = alignment; - typedProfile = profile; - this.featureline = featureline; - this.isFeaturelineBased = isFeaturelineBased; - } - - protected Baseline() - : base(string.Empty, false) { } - - [JsonIgnore] - public TA typedAlignment { get; set; } - - [JsonIgnore] - public TP typedProfile { get; set; } - - [DetachProperty] - public override Alignment? alignment - { - get => typedAlignment; - internal set - { - if (value is TA typeA) - { - typedAlignment = typeA; - } - } - } - - [DetachProperty] - public override Profile? profile - { - get => typedProfile; - internal set - { - if (value is TP typeP) - { - typedProfile = typeP; - } - } - } -} diff --git a/src/Speckle.Objects/BuiltElements/Beam.cs b/src/Speckle.Objects/BuiltElements/Beam.cs index fe825203..b24c304b 100644 --- a/src/Speckle.Objects/BuiltElements/Beam.cs +++ b/src/Speckle.Objects/BuiltElements/Beam.cs @@ -1,5 +1,3 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements; @@ -7,17 +5,7 @@ namespace Speckle.Objects.BuiltElements; [SpeckleType("Objects.BuiltElements.Beam")] public class Beam : Base, IDisplayValue> { - public Beam() { } - - public Beam(ICurve baseLine, Level? level, string? units, IReadOnlyList? displayValue = null) - { - this.baseLine = baseLine; - this.level = level; - this.units = units; - this.displayValue = ((IReadOnlyList?)displayValue) ?? new[] { (Base)baseLine }; - } - - public ICurve baseLine { get; set; } + public required ICurve baseLine { get; set; } public virtual Level? level { get; internal set; } @@ -25,11 +13,4 @@ public Beam(ICurve baseLine, Level? level, string? units, IReadOnlyList? d [DetachProperty] public IReadOnlyList displayValue { get; set; } - - #region Schema Info Constructors - [SchemaInfo("Beam", "Creates a Speckle beam", "BIM", "Structure")] - public Beam([SchemaMainParam] ICurve baseLine) - : this(baseLine, null, null) { } - - #endregion } diff --git a/src/Speckle.Objects/BuiltElements/Brace.cs b/src/Speckle.Objects/BuiltElements/Brace.cs index c3f48f56..e4d91126 100644 --- a/src/Speckle.Objects/BuiltElements/Brace.cs +++ b/src/Speckle.Objects/BuiltElements/Brace.cs @@ -1,5 +1,3 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements; @@ -7,23 +5,10 @@ namespace Speckle.Objects.BuiltElements; [SpeckleType("Objects.BuiltElements.Brace")] public class Brace : Base, IDisplayValue> { - public Brace() { } - - public Brace(ICurve baseLine, string? units, IReadOnlyList? displayValue = null) - { - this.baseLine = baseLine; - this.units = units; - this.displayValue = ((IReadOnlyList?)displayValue) ?? new[] { (Base)baseLine }; - } - - public ICurve baseLine { get; set; } + public required ICurve baseLine { get; set; } public string? units { get; set; } [DetachProperty] public IReadOnlyList displayValue { get; set; } - - [SchemaInfo("Brace", "Creates a Speckle brace", "BIM", "Structure")] - public Brace([SchemaMainParam] ICurve baseLine) - : this(baseLine, null) { } } diff --git a/src/Speckle.Objects/BuiltElements/CableTray.cs b/src/Speckle.Objects/BuiltElements/CableTray.cs deleted file mode 100644 index e9da6957..00000000 --- a/src/Speckle.Objects/BuiltElements/CableTray.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.CableTray")] -public class CableTray : Base, IDisplayValue> -{ - public ICurve baseCurve { get; set; } - public double width { get; set; } - public double height { get; set; } - public double length { get; set; } - - public string units { get; set; } - - [DetachProperty] - public List displayValue { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Ceiling.cs b/src/Speckle.Objects/BuiltElements/Ceiling.cs index 6d2232a8..1cf07f96 100644 --- a/src/Speckle.Objects/BuiltElements/Ceiling.cs +++ b/src/Speckle.Objects/BuiltElements/Ceiling.cs @@ -1,5 +1,4 @@ using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements; @@ -7,20 +6,6 @@ namespace Speckle.Objects.BuiltElements; [SpeckleType("Objects.BuiltElements.Ceiling")] public class Ceiling : Base, IDisplayValue> { - public Ceiling() { } - - [SchemaInfo("Ceiling", "Creates a Speckle ceiling", "BIM", "Architecture")] - public Ceiling( - [SchemaMainParam] ICurve outline, - List? voids = null, - [SchemaParamInfo("Any nested elements that this ceiling might have")] List? elements = null - ) - { - this.outline = outline; - this.voids = voids ?? new(); - this.elements = elements; - } - public ICurve outline { get; set; } public List voids { get; set; } = new(); diff --git a/src/Speckle.Objects/BuiltElements/Civil/CivilAlignment.cs b/src/Speckle.Objects/BuiltElements/Civil/CivilAlignment.cs deleted file mode 100644 index d3f5a76b..00000000 --- a/src/Speckle.Objects/BuiltElements/Civil/CivilAlignment.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Civil; - -[SpeckleType("Objects.BuiltElements.Civil.CivilAlignment")] -public class CivilAlignment : Alignment -{ - public string type { get; set; } - - public string site { get; set; } - - public string style { get; set; } - - public double offset { get; set; } - - /// - /// Name of parent alignment if this is an offset alignment - /// - public string parent { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Civil/CivilAppliedAssembly.cs b/src/Speckle.Objects/BuiltElements/Civil/CivilAppliedAssembly.cs deleted file mode 100644 index 3a86da7f..00000000 --- a/src/Speckle.Objects/BuiltElements/Civil/CivilAppliedAssembly.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Civil; - -[SpeckleType("Objects.BuiltElements.Civil.CivilAppliedAssembly")] -public class CivilAppliedAssembly : Base -{ - public CivilAppliedAssembly() { } - - public CivilAppliedAssembly( - List appliedSubassemblies, - double adjustedElevation, - string units - ) - { - this.appliedSubassemblies = appliedSubassemblies; - this.adjustedElevation = adjustedElevation; - this.units = units; - } - - public List appliedSubassemblies { get; set; } - - public double adjustedElevation { get; set; } - - public string units { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Civil/CivilAppliedSubassembly.cs b/src/Speckle.Objects/BuiltElements/Civil/CivilAppliedSubassembly.cs deleted file mode 100644 index e15771fa..00000000 --- a/src/Speckle.Objects/BuiltElements/Civil/CivilAppliedSubassembly.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Other.Civil; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Civil; - -[SpeckleType("Objects.BuiltElements.Civil.CivilAppliedSubassembly")] -public class CivilAppliedSubassembly : Base -{ - public CivilAppliedSubassembly() { } - - public CivilAppliedSubassembly( - string subassemblyId, - string subassemblyName, - List shapes, - Point stationOffsetElevationToBaseline, - List parameters - ) - { - this.subassemblyId = subassemblyId; - this.subassemblyName = subassemblyName; - this.shapes = shapes; - this.stationOffsetElevationToBaseline = stationOffsetElevationToBaseline; - this.parameters = parameters; - } - - public string subassemblyId { get; set; } - - public string subassemblyName { get; set; } - - public List shapes { get; set; } - - public Point stationOffsetElevationToBaseline { get; set; } - - [DetachProperty] - public List parameters { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Civil/CivilBaseline.cs b/src/Speckle.Objects/BuiltElements/Civil/CivilBaseline.cs deleted file mode 100644 index 5e6f2220..00000000 --- a/src/Speckle.Objects/BuiltElements/Civil/CivilBaseline.cs +++ /dev/null @@ -1,55 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Civil; - -[SpeckleType("Objects.BuiltElements.Civil.CivilBaseline")] -public class CivilBaseline : Baseline -{ - public CivilBaseline() { } - - public CivilBaseline( - string name, - List regions, - List stations, - double startStation, - double endStation, - CivilAlignment alignment, - CivilProfile profile - ) - { - this.name = name; - this.regions = regions; - this.stations = stations; - this.startStation = startStation; - this.endStation = endStation; - this.alignment = alignment; - this.profile = profile; - isFeaturelineBased = false; - } - - public CivilBaseline( - string name, - List regions, - List stations, - double startStation, - double endStation, - Featureline featureline - ) - { - this.name = name; - this.regions = regions; - this.stations = stations; - this.startStation = startStation; - this.endStation = endStation; - this.featureline = featureline; - isFeaturelineBased = true; - } - - public List regions { get; set; } - - public List stations { get; set; } - - public double startStation { get; set; } - - public double endStation { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Civil/CivilBaselineRegion.cs b/src/Speckle.Objects/BuiltElements/Civil/CivilBaselineRegion.cs deleted file mode 100644 index c163ba7a..00000000 --- a/src/Speckle.Objects/BuiltElements/Civil/CivilBaselineRegion.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Civil; - -[SpeckleType("Objects.BuiltElements.Civil.CivilBaselineRegion")] -public class CivilBaselineRegion : Base -{ - public CivilBaselineRegion() { } - - public CivilBaselineRegion( - string name, - double startStation, - double endStation, - string assemblyId, - string? assemblyName, - List appliedAssemblies - ) - { - this.name = name; - this.startStation = startStation; - this.endStation = endStation; - this.assemblyId = assemblyId; - this.assemblyName = assemblyName; - this.appliedAssemblies = appliedAssemblies; - } - - /// - /// The name of the region - /// - public string name { get; set; } - - /// - /// The id of the assembly of the region - /// - public string assemblyId { get; set; } - - public string? assemblyName { get; set; } - - public double startStation { get; set; } - - public double endStation { get; set; } - - [DetachProperty] - public List appliedAssemblies { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Civil/CivilCalculatedLink.cs b/src/Speckle.Objects/BuiltElements/Civil/CivilCalculatedLink.cs deleted file mode 100644 index 7b937b78..00000000 --- a/src/Speckle.Objects/BuiltElements/Civil/CivilCalculatedLink.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Civil; - -[SpeckleType("Objects.BuiltElements.Civil.CivilCalculatedLink")] -public class CivilCalculatedLink : Base, ICivilCalculatedObject -{ - public CivilCalculatedLink() { } - - public CivilCalculatedLink(List codes, List points) - { - this.codes = codes; - this.points = points; - } - - public List codes { get; set; } - - [DetachProperty] - public List points { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Civil/CivilCalculatedPoint.cs b/src/Speckle.Objects/BuiltElements/Civil/CivilCalculatedPoint.cs deleted file mode 100644 index 97f875d8..00000000 --- a/src/Speckle.Objects/BuiltElements/Civil/CivilCalculatedPoint.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Civil; - -[SpeckleType("Objects.BuiltElements.Civil.CivilCalculatedPoint")] -public class CivilCalculatedPoint : Base, ICivilCalculatedObject -{ - public CivilCalculatedPoint() { } - - public CivilCalculatedPoint( - Point point, - List codes, - Vector normalToBaseline, - Vector normalToSubassembly, - Point stationOffsetElevationToBaseline - ) - { - this.point = point; - this.codes = codes; - this.normalToBaseline = normalToBaseline; - this.normalToSubassembly = normalToSubassembly; - this.stationOffsetElevationToBaseline = stationOffsetElevationToBaseline; - } - - public Point point { get; set; } - - public List codes { get; set; } - - public Vector normalToBaseline { get; set; } - - public Vector normalToSubassembly { get; set; } - - public Point stationOffsetElevationToBaseline { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Civil/CivilCalculatedShape.cs b/src/Speckle.Objects/BuiltElements/Civil/CivilCalculatedShape.cs deleted file mode 100644 index 8ad907fe..00000000 --- a/src/Speckle.Objects/BuiltElements/Civil/CivilCalculatedShape.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Civil; - -[SpeckleType("Objects.BuiltElements.Civil.CivilCalculatedShape")] -public class CivilCalculatedShape : Base, ICivilCalculatedObject -{ - public CivilCalculatedShape() { } - - public CivilCalculatedShape(List codes, List links, double area, string units) - { - this.codes = codes; - this.links = links; - this.area = area; - this.units = units; - } - - public List codes { get; set; } - - [DetachProperty] - public List links { get; set; } - - public double area { get; set; } - - public string units { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Civil/CivilProfile.cs b/src/Speckle.Objects/BuiltElements/Civil/CivilProfile.cs deleted file mode 100644 index 44f0cb7f..00000000 --- a/src/Speckle.Objects/BuiltElements/Civil/CivilProfile.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Civil; - -[SpeckleType("Objects.BuiltElements.Civil.CivilProfile")] -public class CivilProfile : Profile -{ - public string type { get; set; } - - public string style { get; set; } - - public double offset { get; set; } - - /// - /// Points of vertical intersection - /// - public List pvis { get; set; } - - /// - /// Name of parent profile if this is an offset profile - /// - public string parent { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Column.cs b/src/Speckle.Objects/BuiltElements/Column.cs index 0408b020..cb09b0df 100644 --- a/src/Speckle.Objects/BuiltElements/Column.cs +++ b/src/Speckle.Objects/BuiltElements/Column.cs @@ -1,5 +1,3 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements; @@ -7,16 +5,6 @@ namespace Speckle.Objects.BuiltElements; [SpeckleType("Objects.BuiltElements.Column")] public class Column : Base, IDisplayValue> { - public Column() { } - - public Column(ICurve baseLine, string? units, Level? level = null, IReadOnlyList? displayValue = null) - { - this.baseLine = baseLine; - this.units = units; - this.level = level; - this.displayValue = ((IReadOnlyList?)displayValue) ?? new[] { (Base)baseLine }; - } - public ICurve baseLine { get; set; } public virtual Level? level { get; internal set; } @@ -25,12 +13,4 @@ public Column(ICurve baseLine, string? units, Level? level = null, IReadOnlyList [DetachProperty] public IReadOnlyList displayValue { get; set; } - - #region Schema Info Constructors - - [SchemaInfo("Column", "Creates a Speckle column", "BIM", "Structure")] - [SchemaDeprecated, Obsolete("Use other constructor")] - public Column([SchemaMainParam] ICurve baseLine) - : this(baseLine, null) { } - #endregion } diff --git a/src/Speckle.Objects/BuiltElements/Conduit.cs b/src/Speckle.Objects/BuiltElements/Conduit.cs deleted file mode 100644 index 338d8c85..00000000 --- a/src/Speckle.Objects/BuiltElements/Conduit.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.Conduit")] -public class Conduit : Base, IDisplayValue> -{ - public ICurve baseCurve { get; set; } - public double diameter { get; set; } - public double length { get; set; } - - public string units { get; set; } - - [DetachProperty] - public List displayValue { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Duct.cs b/src/Speckle.Objects/BuiltElements/Duct.cs deleted file mode 100644 index ec6885ff..00000000 --- a/src/Speckle.Objects/BuiltElements/Duct.cs +++ /dev/null @@ -1,77 +0,0 @@ -using Speckle.Newtonsoft.Json; -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.Duct")] -public class Duct : Base, IDisplayValue> -{ - public Duct() { } - - public Duct( - ICurve baseCurve, - double width, - double height, - double diameter, - double length, - string? units, - double velocity = 0, - IReadOnlyList? displayValue = null - ) - { - this.baseCurve = baseCurve; - this.width = width; - this.height = height; - this.diameter = diameter; - this.length = length; - this.units = units; - this.velocity = velocity; - this.displayValue = ((IReadOnlyList?)displayValue) ?? new[] { (Base)baseCurve }; - } - - [JsonIgnore, Obsolete("Replaced with baseCurve property")] - public Line? baseLine { get; set; } - - public ICurve baseCurve { get; set; } - public double width { get; set; } - public double height { get; set; } - public double diameter { get; set; } - public double length { get; set; } - public double velocity { get; set; } - - public string? units { get; set; } - - [DetachProperty] - public IReadOnlyList displayValue { get; set; } - - #region Schema Info Constructors - /// - /// SchemaBuilder constructor for a Speckle duct - /// - /// - /// - /// - /// - /// - /// Assign units when using this constructor due to , , and params - [SchemaInfo("Duct", "Creates a Speckle duct", "BIM", "MEP"), SchemaDeprecated] - public Duct([SchemaMainParam] Line baseLine, double width, double height, double diameter, double velocity = 0) - : this(baseLine, width, height, diameter, default, null, velocity) //TODO: what to do with length??? - { } - - /// - /// SchemaBuilder constructor for a Speckle duct - /// - /// - /// - /// - /// - /// - /// Assign units when using this constructor due to , , and params - [SchemaInfo("Duct", "Creates a Speckle duct", "BIM", "MEP")] - public Duct([SchemaMainParam] ICurve baseCurve, double width, double height, double diameter, double velocity = 0) - : this(baseCurve, width, height, diameter, default, null, velocity) { } //TODO: what to do with length??? - #endregion -} diff --git a/src/Speckle.Objects/BuiltElements/Featureline.cs b/src/Speckle.Objects/BuiltElements/Featureline.cs deleted file mode 100644 index 026e97f2..00000000 --- a/src/Speckle.Objects/BuiltElements/Featureline.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.Featureline")] -public class Featureline : Base, IDisplayValue> -{ - /// - /// The base curve of the featureline - /// - public ICurve curve { get; set; } - - /// - /// The points constructing the Featureline - /// - /// - /// Can include both intersection and elevation points - /// - public List points { get; set; } - - public string name { get; set; } - - public string units { get; set; } - - /// - /// The 3D curves generated from the curve and points of the featureline - /// - [DetachProperty] - public List displayValue { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Floor.cs b/src/Speckle.Objects/BuiltElements/Floor.cs index f03af878..9cfc73fa 100644 --- a/src/Speckle.Objects/BuiltElements/Floor.cs +++ b/src/Speckle.Objects/BuiltElements/Floor.cs @@ -1,5 +1,4 @@ using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements; @@ -7,22 +6,6 @@ namespace Speckle.Objects.BuiltElements; [SpeckleType("Objects.BuiltElements.Floor")] public class Floor : Base, IDisplayValue> { - public Floor() { } - - [SchemaInfo("Floor", "Creates a Speckle floor", "BIM", "Architecture")] - public Floor( - [SchemaMainParam] ICurve outline, - List? voids = null, - [SchemaParamInfo("Any nested elements that this floor might have")] List? elements = null - ) - { - this.outline = outline; - - this.voids = voids ?? new(); - - this.elements = elements; - } - public ICurve outline { get; set; } public List voids { get; set; } = new(); diff --git a/src/Speckle.Objects/BuiltElements/GridLine.cs b/src/Speckle.Objects/BuiltElements/GridLine.cs index 62f50263..52576177 100644 --- a/src/Speckle.Objects/BuiltElements/GridLine.cs +++ b/src/Speckle.Objects/BuiltElements/GridLine.cs @@ -1,4 +1,3 @@ -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements; @@ -6,29 +5,8 @@ namespace Speckle.Objects.BuiltElements; [SpeckleType("Objects.BuiltElements.GridLine")] public class GridLine : Base, IDisplayValue> { - public GridLine() { } - - [SchemaInfo("GridLine", "Creates a Speckle grid line", "BIM", "Other"), SchemaDeprecated] - public GridLine( - [SchemaParamInfo("NOTE: only Line and Arc curves are supported in Revit"), SchemaMainParam] ICurve baseLine - ) - { - this.baseLine = baseLine; - } - - [SchemaInfo("GridLine", "Creates a Speckle grid line with a label", "BIM", "Other")] - public GridLine( - [SchemaParamInfo("NOTE: only Line and Arc curves are supported in Revit"), SchemaMainParam] ICurve baseLine, - string label = "" - ) - { - this.baseLine = baseLine; - this.label = label; - } - - public ICurve baseLine { get; set; } + public required ICurve baseLine { get; set; } public string label { get; set; } - public string units { get; set; } [DetachProperty] diff --git a/src/Speckle.Objects/BuiltElements/Level.cs b/src/Speckle.Objects/BuiltElements/Level.cs index 6d066cec..7f4fa0ca 100644 --- a/src/Speckle.Objects/BuiltElements/Level.cs +++ b/src/Speckle.Objects/BuiltElements/Level.cs @@ -1,4 +1,3 @@ -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements; @@ -6,25 +5,8 @@ namespace Speckle.Objects.BuiltElements; [SpeckleType("Objects.BuiltElements.Level")] public class Level : Base { - //public List elements { get; set; } - - public Level() { } - - /// - /// SchemaBuilder constructor for a Speckle level - /// - /// - /// - /// Assign units when using this constructor due to param - [SchemaInfo("Level", "Creates a Speckle level", "BIM", "Architecture")] - public Level(string name, double elevation) - { - this.name = name; - this.elevation = elevation; - } - - public string name { get; set; } - public double elevation { get; set; } + public required string name { get; set; } + public required double elevation { get; set; } public string units { get; set; } } diff --git a/src/Speckle.Objects/BuiltElements/Network.cs b/src/Speckle.Objects/BuiltElements/Network.cs deleted file mode 100644 index 6c1a7af1..00000000 --- a/src/Speckle.Objects/BuiltElements/Network.cs +++ /dev/null @@ -1,88 +0,0 @@ -using Speckle.Newtonsoft.Json; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -/// -/// Represents graph connections between built elements objects -/// -/// -/// Network may need to be created first in native applications before they are linked. -/// -[Obsolete("Networks are no longer used in any connector to assemble MEP systems.")] -[SpeckleType("Objects.BuiltElements.Network")] -public class Network : Base -{ - public Network() { } - - public string name { get; set; } - - /// - /// The elements contained in the network - /// - public List elements { get; set; } - - /// - /// The connections between - /// - public List links { get; set; } -} - -[Obsolete("Networks are no longer used in any connector to assemble MEP systems.")] -[SpeckleType("Objects.BuiltElements.NetworkElement")] -public class NetworkElement : Base -{ - public NetworkElement() { } - - public string name { get; set; } - - /// - /// The Base object representing the element in the network (eg Pipe, Duct, etc) - /// - /// - /// Currently named "elements" to assist with receiving in connector flatten method. - /// - [DetachProperty] - public Base elements { get; set; } - - /// - /// The index of the links in that are connected to this element - /// - public List linkIndices { get; set; } - - [JsonIgnore] - public Network network { get; set; } - - /// - /// Retrieves the links for this element - /// - [JsonIgnore] -#pragma warning disable CS8619 // Nullability of reference types in value doesn't match target type. Reason: obsolete. - public List links => linkIndices.Select(i => network?.links[i]).ToList(); -#pragma warning restore CS8619 // Nullability of reference types in value doesn't match target type. Reason: obsolete. -} - -[Obsolete("Networks are no longer used in any connector to assemble MEP systems.")] -[SpeckleType("Objects.BuiltElements.NetworkLink")] -public class NetworkLink : Base -{ - public NetworkLink() { } - - public string name { get; set; } - - /// - /// The index of the elements in that are connected by this link - /// - public List elementIndices { get; set; } - - [JsonIgnore] - public Network network { get; set; } - - /// - /// Retrieves the elements for this link - /// - [JsonIgnore] -#pragma warning disable CS8619 // Nullability of reference types in value doesn't match target type. Reason: obsolete. - public List elements => elementIndices.Select(i => network?.elements[i]).ToList(); -#pragma warning restore CS8619 // Nullability of reference types in value doesn't match target type. Reason: obsolete. -} diff --git a/src/Speckle.Objects/BuiltElements/Opening.cs b/src/Speckle.Objects/BuiltElements/Opening.cs deleted file mode 100644 index ae7cda43..00000000 --- a/src/Speckle.Objects/BuiltElements/Opening.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.Opening")] -public class Opening : Base -{ - public Opening() { } - - [SchemaInfo("Arch Opening", "Creates a Speckle opening", "BIM", "Architecture")] - public Opening(ICurve outline) - { - this.outline = outline; - } - - public ICurve outline { get; set; } - - public string units { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Pipe.cs b/src/Speckle.Objects/BuiltElements/Pipe.cs deleted file mode 100644 index d4cf7b11..00000000 --- a/src/Speckle.Objects/BuiltElements/Pipe.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.Pipe")] -public class Pipe : Base, IDisplayValue> -{ - public Pipe() { } - - [SchemaInfo("Pipe", "Creates a Speckle pipe", "BIM", "MEP")] - public Pipe( - [SchemaMainParam] ICurve baseCurve, - double length, - double diameter, - double flowrate = 0, - double relativeRoughness = 0 - ) - { - this.baseCurve = baseCurve; - this.length = length; - this.diameter = diameter; - this["flowRate"] = flowrate; - this["relativeRoughness"] = relativeRoughness; - } - - public ICurve baseCurve { get; set; } - public double length { get; set; } - public double diameter { get; set; } - - public string units { get; set; } - - [DetachProperty] - public List displayValue { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Profile.cs b/src/Speckle.Objects/BuiltElements/Profile.cs deleted file mode 100644 index 18ea60b5..00000000 --- a/src/Speckle.Objects/BuiltElements/Profile.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.Profile")] -public class Profile : Base, IDisplayValue -{ - public List curves { get; set; } - - public string name { get; set; } - - public double startStation { get; set; } - - public double endStation { get; set; } - - public string units { get; set; } - - [DetachProperty] - public Polyline displayValue { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Rebar.cs b/src/Speckle.Objects/BuiltElements/Rebar.cs deleted file mode 100644 index af56b0bf..00000000 --- a/src/Speckle.Objects/BuiltElements/Rebar.cs +++ /dev/null @@ -1,156 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -/// -/// A reinforcement bar group comprised of reinforcing bars of the same type and shape. -/// -/// -/// This class is not suitable for freeform rebar, which can have multiple shapes. -/// -public abstract class RebarGroup : Base, IHasVolume, IDisplayValue> -{ - /// - /// The shape of the rebar group - /// - [DetachProperty] - public RebarShape shape { get; set; } - - /// - /// The number of rebars in the rebar group - /// - /// - /// Excluded end bars are not included in the count - /// - public int number { get; set; } - - /// - /// Indicates if rebar set includes the first bar - /// - /// - /// Only applicable to stirrup (transverse) rebar - /// - public bool hasFirstBar { get; set; } - - /// - /// Indicates if rebar set includes the last bar - /// - /// - /// Only applicable to stirrup (transverse) rebar - /// - public bool hasLastBar { get; set; } - - /// - /// The start hook of bars in the rebar group - /// - /// - /// Null indicates no start hook - /// - [DetachProperty] - public virtual RebarHook? startHook { get; set; } - - /// - /// The end hook of bars in the rebar group - /// - /// - /// Null indicates no end hook - /// - [DetachProperty] - public virtual RebarHook? endHook { get; set; } - - /// - /// The display representation of the rebar group as centerline curves - /// - [DetachProperty] - public List displayValue { get; set; } - - /// - /// The total volume of the rebar group. - /// - public double volume { get; set; } - - public string units { get; set; } -} - -/// -/// The shape describing the geometry and geometry parameters of a reinforcing bar -/// -[SpeckleType("Objects.BuiltElements.RebarShape")] -public class RebarShape : Base -{ - public RebarShape() { } - - /// - /// The name of the rebar shape - /// - public string name { get; set; } - - /// - /// The type of the rebar shape - /// - public RebarType rebarType { get; set; } - - /// - /// The curves of the rebar shape - /// - /// - /// Typically suppresses hooks and bend radius - /// - public List curves { get; set; } = new(); - - /// - /// The diameter of the rebar bar - /// - public double barDiameter { get; set; } - - public string units { get; set; } -} - -[SpeckleType("Objects.BuiltElements.RebarHook")] -public class RebarHook : Base -{ - public RebarHook() { } - - /// - /// The angle of the hook in radians. - /// - public double angle { get; set; } - - /// - /// The length of the hook. - /// - public double length { get; set; } - - /// - /// The radius of the bend of the hook. - /// - public double radius { get; set; } - - public string units { get; set; } -} - -public enum RebarType -{ - Unknown = 0, - Standard = 10, - StirrupPolygonal = 20, - StirrupSpiral = 30, - StirrupTapered = 40, -} - -#region Obsolete -[Obsolete("Deprecated in 2.17: Use the RebarGroup class instead")] -[SpeckleType("Objects.BuiltElements.Rebar")] -public class Rebar : Base, IHasVolume, IDisplayValue> -{ - public List curves { get; set; } = new(); - - public string units { get; set; } - - [DetachProperty] - public List displayValue { get; set; } - - public double volume { get; set; } -} -#endregion diff --git a/src/Speckle.Objects/BuiltElements/Revit/AdaptiveComponent.cs b/src/Speckle.Objects/BuiltElements/Revit/AdaptiveComponent.cs deleted file mode 100644 index bf2ad3ba..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/AdaptiveComponent.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.AdaptiveComponent")] -public class AdaptiveComponent : Base, IDisplayValue> -{ - public AdaptiveComponent() { } - - [SchemaInfo("AdaptiveComponent", "Creates a Revit adaptive component by points", "Revit", "Families")] - public AdaptiveComponent( - string type, - string family, - List basePoints, - bool flipped = false, - List? parameters = null - ) - { - this.type = type; - this.family = family; - this.basePoints = basePoints; - this.flipped = flipped; - this.parameters = parameters?.ToBase(); - } - - public string type { get; set; } - public string family { get; set; } - public List basePoints { get; set; } - public bool flipped { get; set; } - public string elementId { get; set; } - public Base? parameters { get; set; } - - public string units { get; set; } - - [DetachProperty] - public List displayValue { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/BuildingPad.cs b/src/Speckle.Objects/BuiltElements/Revit/BuildingPad.cs deleted file mode 100644 index 5b20b860..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/BuildingPad.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.BuildingPad")] -public class BuildingPad : Base, IDisplayValue> -{ - public ICurve outline { get; set; } - - public List voids { get; set; } = new(); - - public string type { get; set; } - - [DetachProperty] - public Level level { get; set; } - - public Base parameters { get; set; } - - public string elementId { get; set; } - - public string units { get; set; } - - [DetachProperty] - public List displayValue { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/Curve/ModelCurves.cs b/src/Speckle.Objects/BuiltElements/Revit/Curve/ModelCurves.cs deleted file mode 100644 index 053b016a..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/Curve/ModelCurves.cs +++ /dev/null @@ -1,86 +0,0 @@ -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit.Curve; - -[SpeckleType("Objects.BuiltElements.Revit.Curve.ModelCurve")] -public class ModelCurve : Base -{ - public ModelCurve() { } - - [SchemaInfo("ModelCurve", "Creates a Revit model curve", "Revit", "Curves")] - public ModelCurve([SchemaMainParam] ICurve baseCurve, string lineStyle, List? parameters = null) - { - this.baseCurve = baseCurve; - this.lineStyle = lineStyle; - this.parameters = parameters?.ToBase(); - } - - public ICurve baseCurve { get; set; } - public string lineStyle { get; set; } - public Base? parameters { get; set; } - public string elementId { get; set; } - - public string units { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Revit.Curve.DetailCurve")] -public class DetailCurve : Base -{ - public DetailCurve() { } - - [SchemaInfo("DetailCurve", "Creates a Revit detail curve", "Revit", "Curves")] - public DetailCurve([SchemaMainParam] ICurve baseCurve, string lineStyle, List? parameters = null) - { - this.baseCurve = baseCurve; - this.lineStyle = lineStyle; - this.parameters = parameters?.ToBase(); - } - - public ICurve baseCurve { get; set; } - public string lineStyle { get; set; } - public Base? parameters { get; set; } - public string elementId { get; set; } - - public string units { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Revit.Curve.RoomBoundaryLine")] -public class RoomBoundaryLine : Base -{ - public RoomBoundaryLine() { } - - [SchemaInfo("RoomBoundaryLine", "Creates a Revit room boundary line", "Revit", "Curves")] - public RoomBoundaryLine([SchemaMainParam] ICurve baseCurve, List? parameters = null) - { - this.baseCurve = baseCurve; - this.parameters = parameters?.ToBase(); - } - - public ICurve baseCurve { get; set; } - public Base? parameters { get; set; } - public string elementId { get; set; } - - [DetachProperty] - public Level level { get; set; } - public string units { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Revit.Curve.SpaceSeparationLine")] -public class SpaceSeparationLine : Base -{ - public SpaceSeparationLine() { } - - [SchemaInfo("SpaceSeparationLine", "Creates a Revit space separation line", "Revit", "Curves")] - public SpaceSeparationLine([SchemaMainParam] ICurve baseCurve, List? parameters = null) - { - this.baseCurve = baseCurve; - this.parameters = parameters?.ToBase(); - } - - public ICurve baseCurve { get; set; } - public Base? parameters { get; set; } - public string elementId { get; set; } - public string units { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/DirectShape.cs b/src/Speckle.Objects/BuiltElements/Revit/DirectShape.cs index 1f386520..97f1a2f5 100644 --- a/src/Speckle.Objects/BuiltElements/Revit/DirectShape.cs +++ b/src/Speckle.Objects/BuiltElements/Revit/DirectShape.cs @@ -1,6 +1,4 @@ using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements.Revit; @@ -8,40 +6,7 @@ namespace Speckle.Objects.BuiltElements.Revit; [SpeckleType("Objects.BuiltElements.Revit.DirectShape")] public class DirectShape : Base, IDisplayValue> { - public DirectShape() { } - - /// - /// Constructs a new instance given a list of objects. - /// - /// The name of the - /// The of this instance. - /// A list of base classes to represent the direct shape (only mesh and brep are allowed, anything else will be ignored.) - /// Optional Parameters for this instance. - [SchemaInfo( - "DirectShape by base geometries", - "Creates a Revit DirectShape using a list of base geometry objects.", - "Revit", - "Families" - )] - public DirectShape(string name, RevitCategory category, List baseGeometries, List? parameters = null) - { - this.name = name; - this.category = category; - this.baseGeometries = baseGeometries.FindAll(IsValidObject); - this.parameters = parameters?.ToBase(); - } - - // moving away from using the RevitCategory Enum - public DirectShape(string name, string builtInCategory, List baseGeometries, List? parameters = null) - { - this.name = name; - this.baseGeometries = baseGeometries.FindAll(IsValidObject); - this.parameters = parameters?.ToBase(); - //TODO: move to typed property alongside all other revit elements - this["builtInCategory"] = builtInCategory; - } - - public string name { get; set; } + public required string name { get; set; } public RevitCategory category { get; set; } public Base? parameters { get; set; } public string elementId { get; set; } diff --git a/src/Speckle.Objects/BuiltElements/Revit/FamilyInstance.cs b/src/Speckle.Objects/BuiltElements/Revit/FamilyInstance.cs deleted file mode 100644 index 88355176..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/FamilyInstance.cs +++ /dev/null @@ -1,57 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.FamilyInstance")] -public class FamilyInstance : Base, IDisplayValue> -{ - public FamilyInstance() { } - - [SchemaInfo("FamilyInstance", "Creates a Revit family instance", "Revit", "Families")] - public FamilyInstance( - Point basePoint, - string family, - string type, - Level level, - double rotation = 0, - bool facingFlipped = false, - bool handFlipped = false, - List? parameters = null - ) - { - this.basePoint = basePoint; - this.family = family; - this.type = type; - this.level = level; - this.rotation = rotation; - this.facingFlipped = facingFlipped; - this.handFlipped = handFlipped; - mirrored = false; - this.parameters = parameters?.ToBase(); - } - - public Point basePoint { get; set; } - public string family { get; set; } - public string type { get; set; } - public string category { get; set; } - - [DetachProperty] - public Level level { get; set; } - public double rotation { get; set; } - public bool facingFlipped { get; set; } - public bool handFlipped { get; set; } - public bool mirrored { get; set; } - public Base? parameters { get; set; } - public string elementId { get; set; } - - [DetachProperty] - public List elements { get; set; } - - public string units { get; set; } - - [DetachProperty] - public List displayValue { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/FreeformElement.cs b/src/Speckle.Objects/BuiltElements/Revit/FreeformElement.cs deleted file mode 100644 index ab7e4076..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/FreeformElement.cs +++ /dev/null @@ -1,140 +0,0 @@ -using Speckle.Newtonsoft.Json; -using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.FreeformElement")] -public class FreeformElement : Base, IDisplayValue> -{ - public FreeformElement() { } - - [SchemaInfo( - "Freeform element", - "Creates a Revit Freeform element using a list of Brep or Meshes. Category defaults to Generic Models", - "Revit", - "Families" - )] - public FreeformElement(List baseGeometries, string subcategory = "", List? parameters = null) - { - this.baseGeometries = baseGeometries; - //this.category = category; - this.subcategory = subcategory; - if (!IsValid()) - { - throw new ArgumentException("Freeform elements can only be created from BREPs or Meshes", nameof(baseGeometries)); - } - - this.parameters = parameters?.ToBase(); - } - - public Base? parameters { get; set; } - - public string subcategory { get; set; } - - public string elementId { get; set; } - - /// - /// DEPRECATED. Sets the geometry contained in the FreeformElement. This field has been deprecated in favor of `baseGeometries` - /// to align with Revit's API. It remains as a setter-only property for backwards compatibility. - /// It will set the first item on the baseGeometries list, and instantiate a list if necessary. - /// - [JsonIgnore, SchemaIgnore, Obsolete("Use 'baseGeometries' instead", true)] - [System.Diagnostics.CodeAnalysis.SuppressMessage( - "Design", - "CA1044:Properties should not be write only", - Justification = "Obsolete" - )] - public Base baseGeometry - { - set - { - if (baseGeometries == null) - { - baseGeometries = new List { value }; - } - else if (baseGeometries.Count == 0) - { - baseGeometries.Add(value); - } - else - { - baseGeometries[0] = value; - } - } - } - - [DetachProperty, Chunkable] - public List baseGeometries { get; set; } - - public string units { get; set; } - - [DetachProperty] - public List displayValue { get; set; } - - public bool IsValid() - { - return baseGeometries.All(IsValidObject); - } - - public bool IsValidObject(Base @base) - { - return @base is Mesh || @base is Brep || @base is Geometry.Curve; - } - - #region Deprecated Constructors - - [ - SchemaDeprecated, - SchemaInfo( - "Freeform element", - "Creates a Revit Freeform element using a list of Brep or Meshes.", - "Revit", - "Families" - ) - ] - [System.Diagnostics.CodeAnalysis.SuppressMessage( - "Usage", - "CA2201:Do not raise reserved exception types", - Justification = "Obsolete" - )] - public FreeformElement(Base baseGeometry, List? parameters = null) - { - if (!IsValidObject(baseGeometry)) - { - throw new Exception("Freeform elements can only be created from BREPs or Meshes"); - } - - baseGeometries = new List { baseGeometry }; - this.parameters = parameters?.ToBase(); - } - - [ - SchemaDeprecated, - SchemaInfo( - "Freeform element", - "Creates a Revit Freeform element using a list of Brep or Meshes.", - "Revit", - "Families" - ) - ] - [System.Diagnostics.CodeAnalysis.SuppressMessage( - "Usage", - "CA2201:Do not raise reserved exception types", - Justification = "Obsolete" - )] - public FreeformElement(List baseGeometries, List? parameters = null) - { - this.baseGeometries = baseGeometries; - if (!IsValid()) - { - throw new Exception("Freeform elements can only be created from BREPs or Meshes"); - } - - this.parameters = parameters?.ToBase(); - } - - #endregion -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/Interfaces/IHasMEPConnectors.cs b/src/Speckle.Objects/BuiltElements/Revit/Interfaces/IHasMEPConnectors.cs deleted file mode 100644 index 5d12fe07..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/Interfaces/IHasMEPConnectors.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Speckle.Objects.BuiltElements.Revit.Interfaces; - -public interface IHasMEPConnectors -{ - List Connectors { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/MEPFamilyInstance.cs b/src/Speckle.Objects/BuiltElements/Revit/MEPFamilyInstance.cs deleted file mode 100644 index 0e522f1b..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/MEPFamilyInstance.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Speckle.Objects.BuiltElements.Revit.Interfaces; -using Speckle.Objects.Other.Revit; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitMEPFamilyInstance")] -public class RevitMEPFamilyInstance : RevitInstance, IHasMEPConnectors -{ - public string RevitPartType { get; set; } - - [DetachProperty] - public List Connectors { get; set; } = new(); - public List Curves { get; set; } = new(); -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/Parameter.cs b/src/Speckle.Objects/BuiltElements/Revit/Parameter.cs deleted file mode 100644 index 0f71131d..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/Parameter.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.Parameter")] -public class Parameter : Base -{ - public Parameter() { } - - [SchemaInfo("Parameter", "A Revit instance parameter to set on an element", "Revit", "Families")] - public Parameter( - [SchemaParamInfo("The Revit display name, BuiltInParameter name or GUID (for shared parameters)")] string name, - object value, - [SchemaParamInfo( - "(Optional) Speckle units. If not set it's retrieved from the current document. For non lenght based parameters (eg. Air Flow) it should be set to 'none' so that the Revit display unit will be used instead." - )] - string units = "" - ) - { - this.name = name; - this.value = value; - this.units = units; - applicationInternalName = name; - } - - public string name { get; set; } - public object? value { get; set; } - public string applicationUnitType { get; set; } //eg UnitType UT_Length - public string applicationUnit { get; set; } //DisplayUnitType eg DUT_MILLIMITERS - public string applicationInternalName { get; set; } //BuiltInParameterName or GUID for shared parameter - - /// - /// If True it's a Shared Parameter, in which case the ApplicationId field will contain this parameter GUID, - /// otherwise it will store its BuiltInParameter name - /// - public bool isShared { get; set; } - - public bool isReadOnly { get; set; } - - /// - /// True = Type Parameter, False = Instance Parameter - /// - public bool isTypeParameter { get; set; } - - public string units { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/ParameterUpdater.cs b/src/Speckle.Objects/BuiltElements/Revit/ParameterUpdater.cs deleted file mode 100644 index 0f7e86b8..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/ParameterUpdater.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.ParameterUpdater")] -public class ParameterUpdater : Base -{ - [SchemaInfo("ParameterUpdater", "Updates parameters on a Revit element by id", "Revit", "Families")] - public ParameterUpdater([SchemaParamInfo("A Revit ElementId or UniqueId")] string id, List parameters) - { - elementId = id; - this.parameters = parameters.ToBase(); - } - - public ParameterUpdater() { } - - public string elementId { get; set; } - public Base? parameters { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/ProjectInfo.cs b/src/Speckle.Objects/BuiltElements/Revit/ProjectInfo.cs deleted file mode 100644 index 815239b0..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/ProjectInfo.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Speckle.Objects.Organization; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.ProjectInfo")] -public class ProjectInfo : BIMModelInfo -{ - public string author { get; set; } - public string issueDate { get; set; } - public string organizationDescription { get; set; } - public string organizationName { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitBeam.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitBeam.cs index aac5875e..4aa5f497 100644 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitBeam.cs +++ b/src/Speckle.Objects/BuiltElements/Revit/RevitBeam.cs @@ -1,6 +1,3 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements.Revit; @@ -8,46 +5,14 @@ namespace Speckle.Objects.BuiltElements.Revit; [SpeckleType("Objects.BuiltElements.Revit.RevitBeam")] public class RevitBeam : Beam { - public RevitBeam() { } - - public RevitBeam( - string family, - string type, - ICurve baseLine, - Level? level, - string? units, - List? displayValue = null, - List? parameters = null - ) - : base(baseLine, level, units, displayValue) - { - this.family = family; - this.type = type; - this.parameters = parameters?.ToBase(); - } - - public string family { get; set; } - public string type { get; set; } + public required string family { get; set; } + public required string type { get; set; } public Base? parameters { get; set; } - public string elementId { get; set; } + public string? elementId { get; set; } public new Level? level { get => base.level; set => base.level = value; } - - #region Schema Info Constructors - - [SchemaInfo("RevitBeam", "Creates a Revit beam by curve and base level.", "Revit", "Structure")] - public RevitBeam( - string family, - string type, - [SchemaMainParam] ICurve baseLine, - Level level, - List? parameters = null - ) - : this(family, type, baseLine, level, null, parameters: parameters) { } - - #endregion } diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitBrace.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitBrace.cs index 586fbbc9..6eaf71b3 100644 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitBrace.cs +++ b/src/Speckle.Objects/BuiltElements/Revit/RevitBrace.cs @@ -1,6 +1,3 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements.Revit; @@ -8,46 +5,11 @@ namespace Speckle.Objects.BuiltElements.Revit; [SpeckleType("Objects.BuiltElements.Revit.RevitBrace")] public class RevitBrace : Brace { - public RevitBrace() { } - - public RevitBrace( - string family, - string type, - ICurve baseLine, - Level? level, - string? units, - string? elementId, - IReadOnlyList? displayValue = null, - List? parameters = null - ) - : base(baseLine, units, displayValue) - { - this.family = family; - this.type = type; - this.level = level; - this.elementId = elementId; - this.parameters = parameters?.ToBase(); - } - - public string family { get; set; } - public string type { get; set; } + public required string family { get; set; } + public required string type { get; set; } public Base? parameters { get; set; } public string? elementId { get; set; } [DetachProperty] public Level? level { get; set; } - - #region Schema Info Constructor - - [SchemaInfo("RevitBrace", "Creates a Revit brace by curve and base level.", "Revit", "Structure")] - public RevitBrace( - string family, - string type, - [SchemaMainParam] ICurve baseLine, - Level? level, - List? parameters = null - ) - : this(family, type, baseLine, level, null, null, parameters: parameters) { } - - #endregion } diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitCableTray.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitCableTray.cs deleted file mode 100644 index 307f6eb7..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitCableTray.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Speckle.Objects.BuiltElements.Revit.Interfaces; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitCableTray")] -public class RevitCableTray : CableTray, IHasMEPConnectors -{ - public string family { get; set; } - public string type { get; set; } - - [DetachProperty] - public Level level { get; set; } - public Base parameters { get; set; } - public string elementId { get; set; } - public List Connectors { get; set; } = new(); -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitCeiling.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitCeiling.cs index 820b0e14..23b19a16 100644 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitCeiling.cs +++ b/src/Speckle.Objects/BuiltElements/Revit/RevitCeiling.cs @@ -1,5 +1,4 @@ using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements.Revit; @@ -9,58 +8,8 @@ public class RevitCeiling : Ceiling { public RevitCeiling() { } - [SchemaDeprecated, SchemaInfo("RevitCeiling", "Creates a Revit ceiling", "Revit", "Architecture")] - [System.Diagnostics.CodeAnalysis.SuppressMessage( - "Style", - "IDE0060:Remove unused parameter", - Justification = "Obsolete" - )] - public RevitCeiling( - [SchemaMainParam, SchemaParamInfo("Planar boundary curve")] ICurve outline, - string family, - string type, - Level level, - double slope = 0, - [SchemaParamInfo("Planar line indicating slope direction")] Line? slopeDirection = null, - double offset = 0, - List? voids = null, - [SchemaParamInfo("Any nested elements that this ceiling might have")] List? elements = null - ) - { - this.outline = outline; - this.family = family; - this.type = type; - this.level = level; - this.slope = slope; - this.slopeDirection = slopeDirection; - this.voids = voids ?? new(); - this.elements = elements; - } - - [SchemaInfo("RevitCeiling", "Creates a Revit ceiling", "Revit", "Architecture")] - public RevitCeiling( - [SchemaMainParam, SchemaParamInfo("Planar boundary curve")] ICurve outline, - string family, - string type, - Level level, - double slope = 0, - [SchemaParamInfo("Planar line indicating slope direction")] Line? slopeDirection = null, - List? voids = null, - [SchemaParamInfo("Any nested elements that this ceiling might have")] List? elements = null - ) - { - this.outline = outline; - this.family = family; - this.type = type; - this.level = level; - this.slope = slope; - this.slopeDirection = slopeDirection; - this.voids = voids ?? new(); - this.elements = elements; - } - - public string family { get; set; } - public string type { get; set; } + public required string family { get; set; } + public required string type { get; set; } [DetachProperty] public Level level { get; set; } @@ -70,6 +19,6 @@ public RevitCeiling( [Obsolete("Offset property is now captured in parameters to match the behavior of other Revit objects", true)] public double offset { get; set; } - public Base parameters { get; set; } + public Base? parameters { get; set; } public string elementId { get; set; } } diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitColumn.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitColumn.cs index 2dcb4913..dc9b15a8 100644 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitColumn.cs +++ b/src/Speckle.Objects/BuiltElements/Revit/RevitColumn.cs @@ -1,6 +1,3 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements.Revit; @@ -8,40 +5,6 @@ namespace Speckle.Objects.BuiltElements.Revit; [SpeckleType("Objects.BuiltElements.Revit.RevitColumn")] public class RevitColumn : Column { - public RevitColumn() { } - - public RevitColumn( - string family, - string type, - ICurve baseLine, - Level? level, - Level? topLevel, - string? units, - string? elementId, - double baseOffset = 0, - double topOffset = 0, - bool facingFlipped = false, - bool handFlipped = false, - bool isSlanted = false, - double rotation = 0, - IReadOnlyList? displayValue = null, - List? parameters = null - ) - : base(baseLine, units, level, displayValue) - { - this.family = family; - this.type = type; - this.topLevel = topLevel; - this.elementId = elementId; - this.baseOffset = baseOffset; - this.topOffset = topOffset; - this.facingFlipped = facingFlipped; - this.handFlipped = handFlipped; - this.isSlanted = isSlanted; - this.rotation = rotation; - this.parameters = parameters?.ToBase(); - } - [DetachProperty] public Level? topLevel { get; set; } public double baseOffset { get; set; } @@ -50,8 +13,8 @@ public RevitColumn( public bool handFlipped { get; set; } public double rotation { get; set; } public bool isSlanted { get; set; } - public string family { get; set; } - public string type { get; set; } + public required string family { get; set; } + public required string type { get; set; } public Base? parameters { get; set; } public string? elementId { get; set; } @@ -60,72 +23,4 @@ public RevitColumn( get => base.level; set => base.level = value; } - - #region Schema Info Constructors - - [SchemaInfo("RevitColumn Vertical", "Creates a vertical Revit Column by point and levels.", "Revit", "Architecture")] - public RevitColumn( - string family, - string type, - [SchemaParamInfo("Only the lower point of this line will be used as base point."), SchemaMainParam] ICurve baseLine, - Level level, - Level topLevel, - double baseOffset = 0, - double topOffset = 0, - bool structural = false, - [SchemaParamInfo("Rotation angle in radians")] double rotation = 0, - List? parameters = null - ) - : this( - family, - type, - baseLine, - level, - topLevel, - null, - null, - baseOffset, - topOffset, - rotation: rotation, - parameters: parameters - ) { } - - [Obsolete("Use other constructors")] - [SchemaDeprecated] - [SchemaInfo("RevitColumn Slanted (old)", "Creates a slanted Revit Column by curve.", "Revit", "Structure")] - [System.Diagnostics.CodeAnalysis.SuppressMessage( - "Style", - "IDE0060:Remove unused parameter", - Justification = "Obsolete" - )] - public RevitColumn( - string family, - string type, - [SchemaMainParam] ICurve baseLine, - Level level, - bool structural = false, - List? parameters = null - ) - { - this.family = family; - this.type = type; - this.baseLine = baseLine; - this.level = level; - isSlanted = true; - this.parameters = parameters?.ToBase(); - } - - [SchemaInfo("RevitColumn Slanted", "Creates a slanted Revit Column by curve.", "Revit", "Structure")] - public RevitColumn( - string family, - string type, - [SchemaMainParam] ICurve baseLine, - Level level, - Level? topLevel = null, - bool structural = false, - List? parameters = null - ) - : this(family, type, baseLine, level, topLevel, null, null, displayValue: null, parameters: parameters) { } - - #endregion } diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitConduit.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitConduit.cs deleted file mode 100644 index 1658f979..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitConduit.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Speckle.Objects.BuiltElements.Revit.Interfaces; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitConduit")] -public class RevitConduit : Conduit, IHasMEPConnectors -{ - public string family { get; set; } - - public string type { get; set; } - - [DetachProperty] - public Level level { get; set; } - - public Base parameters { get; set; } - - public string elementId { get; set; } - public List Connectors { get; set; } = new(); -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitCurtainWallPanel.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitCurtainWallPanel.cs deleted file mode 100644 index 56813834..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitCurtainWallPanel.cs +++ /dev/null @@ -1,6 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitCurtainWallPanel")] -public class RevitCurtainWallPanel : RevitElement { } diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitDuct.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitDuct.cs deleted file mode 100644 index e31f23f6..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitDuct.cs +++ /dev/null @@ -1,206 +0,0 @@ -using Speckle.Objects.BuiltElements.Revit.Interfaces; -using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitDuct")] -public class RevitDuct : Duct, IHasMEPConnectors -{ - public RevitDuct() { } - - public RevitDuct( - string family, - string type, - ICurve baseCurve, - string systemName, - string systemType, - Level level, - double width, - double height, - double diameter, - double length, - string? units, - string? elementId, - double velocity = 0, - IReadOnlyList? displayValue = null, - List? parameters = null - ) - : base(baseCurve, width, height, diameter, length, units, velocity, displayValue) - { - this.family = family; - this.type = type; - this.systemName = systemName; - this.systemType = systemType; - this.level = level; - this.parameters = parameters?.ToBase(); - this.elementId = elementId; - } - - public string family { get; set; } - public string type { get; set; } - public string systemName { get; set; } - public string systemType { get; set; } - - [DetachProperty] - public Level level { get; set; } - public Base? parameters { get; set; } - public string? elementId { get; set; } - public List Connectors { get; set; } = new(); - - #region Schema Info Constructors - - [SchemaInfo("RevitDuct (DEPRECATED)", "Creates a Revit duct", "Revit", "MEP")] - [SchemaDeprecated] - [Obsolete("Use other Constructor")] - public RevitDuct( - string family, - string type, - [SchemaMainParam] Line baseLine, - string systemName, - string systemType, - Level level, - double width, - double height, - double diameter, - double velocity = 0, - List? parameters = null - ) - { - baseCurve = baseLine; - this.family = family; - this.type = type; - this.width = width; - this.height = height; - this.diameter = diameter; - this.velocity = velocity; - this.systemName = systemName; - this.systemType = systemType; - this.parameters = parameters?.ToBase(); - this.level = level; - } - - [SchemaInfo("RevitDuct", "Creates a Revit duct", "Revit", "MEP")] - public RevitDuct( - string family, - string type, - [SchemaMainParam] ICurve baseCurve, - string systemName, - string systemType, - Level level, - double width, - double height, - double diameter, - double velocity = 0, - List? parameters = null - ) - : this( - family, - type, - baseCurve, - systemName, - systemType, - level, - width, - height, - diameter, - default, //TODO: what to do with length? - null, - null, - velocity, - parameters: parameters - ) { } - - #endregion -} - -[SpeckleType("Objects.BuiltElements.Revit.RevitFlexDuct")] -public class RevitFlexDuct : RevitDuct -{ - public RevitFlexDuct() { } - - public RevitFlexDuct( - string family, - string type, - [SchemaMainParam] ICurve baseCurve, - string systemName, - string systemType, - Level level, - double width, - double height, - double diameter, - double length, - Vector startTangent, - Vector endTangent, - string? units, - string? elementId, - double velocity = 0, - IReadOnlyList? displayValue = null, - List? parameters = null - ) - : base( - family, - type, - baseCurve, - systemName, - systemType, - level, - width, - height, - diameter, - length, - units, - elementId, - velocity, - displayValue, - parameters - ) - { - this.startTangent = startTangent; - this.endTangent = endTangent; - } - - public Vector startTangent { get; set; } - public Vector endTangent { get; set; } - - #region Schema Info Constructor - - [SchemaInfo("RevitFlexDuct", "Creates a Revit flex duct", "Revit", "MEP")] - public RevitFlexDuct( - string family, - string type, - [SchemaMainParam] ICurve baseCurve, - string systemName, - string systemType, - Level level, - double width, - double height, - double diameter, - Vector startTangent, - Vector endTangent, - double velocity = 0, - List? parameters = null - ) - : this( - family, - type, - baseCurve, - systemName, - systemType, - level, - width, - height, - diameter, - 0, - startTangent, - endTangent, - null, - null, - velocity, - parameters: parameters - ) { } - - #endregion -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitElement.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitElement.cs index fd498ffb..59c434bd 100644 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitElement.cs +++ b/src/Speckle.Objects/BuiltElements/Revit/RevitElement.cs @@ -9,12 +9,12 @@ namespace Speckle.Objects.BuiltElements.Revit; [SpeckleType("Objects.BuiltElements.Revit.RevitElement")] public class RevitElement : Base, IDisplayValue> { - public string family { get; set; } - public string type { get; set; } - public string category { get; set; } - public Base parameters { get; set; } - public string elementId { get; set; } + public required string family { get; set; } + public required string type { get; set; } + public required string category { get; set; } + public Base? parameters { get; set; } + public string? elementId { get; set; } [DetachProperty] - public List displayValue { get; set; } + public List displayValue { get; set; } = new(); } diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitElementType.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitElementType.cs deleted file mode 100644 index 42e97636..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitElementType.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitElementType")] -public class RevitElementType : Base -{ - public string family { get; set; } - - public string type { get; set; } - - public string category { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Revit.RevitMepElementType")] -public class RevitMepElementType : RevitElementType -{ - public string shape { get; set; } -} - -/// -/// Represents the FamilySymbol subclass of ElementType in Revit -/// -[SpeckleType("Objects.BuiltElements.Revit.RevitSymbolElementType")] -public class RevitSymbolElementType : RevitElementType, IDisplayValue> -{ - /// - /// The type of placement for this family symbol - /// - /// See https://www.revitapidocs.com/2023/2abb8627-1da3-4069-05c9-19e4be5e02ad.htm - public string placementType { get; set; } - - /// - /// Subcomponents found in this family symbol - /// - [DetachProperty] - public List elements { get; set; } - - [DetachProperty] - public List displayValue { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitFloor.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitFloor.cs index 842d9e0d..bd41978e 100644 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitFloor.cs +++ b/src/Speckle.Objects/BuiltElements/Revit/RevitFloor.cs @@ -1,6 +1,4 @@ using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements.Revit; @@ -8,36 +6,8 @@ namespace Speckle.Objects.BuiltElements.Revit; [SpeckleType("Objects.BuiltElements.Revit.RevitFloor")] public class RevitFloor : Floor { - public RevitFloor() { } - - [SchemaInfo("RevitFloor", "Creates a Revit floor by outline and level", "Revit", "Architecture")] - public RevitFloor( - string family, - string type, - [SchemaMainParam] ICurve outline, - Level level, - bool structural = false, - double slope = 0, - Line? slopeDirection = null, - List? voids = null, - [SchemaParamInfo("Any nested elements that this floor might have")] List? elements = null, - List? parameters = null - ) - { - this.family = family; - this.type = type; - this.level = level; - this.structural = structural; - this.slope = slope; - this.slopeDirection = slopeDirection; - this.parameters = parameters?.ToBase(); - this.outline = outline; - this.voids = voids ?? new(); - this.elements = elements; - } - - public string family { get; set; } - public string type { get; set; } + public required string family { get; set; } + public required string type { get; set; } public new Level? level { diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitLevel.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitLevel.cs index d04e2113..d5fc57ff 100644 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitLevel.cs +++ b/src/Speckle.Objects/BuiltElements/Revit/RevitLevel.cs @@ -1,5 +1,3 @@ -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements.Revit; @@ -9,47 +7,6 @@ public class RevitLevel : Level { public RevitLevel() { } - /// - /// SchemaBuilder constructor for a Revit level - /// - /// - /// - /// - /// - /// Assign units when using this constructor due to param - [SchemaInfo( - "RevitLevel", - "Creates a new Revit level unless one with the same elevation already exists", - "Revit", - "Architecture" - )] - public RevitLevel( - [SchemaParamInfo("Level name. NOTE: updating level name is not supported")] string name, - [SchemaParamInfo( - "Level elevation. NOTE: updating level elevation is not supported, a new one will be created unless another level at the new elevation already exists." - )] - double elevation, - [SchemaParamInfo( - "If true, it creates an associated view in Revit. NOTE: only used when creating a level for the first time" - )] - bool createView, - List? parameters = null - ) - { - this.name = name; - this.elevation = elevation; - this.createView = createView; - this.parameters = parameters?.ToBase(); - referenceOnly = false; - } - - [SchemaInfo("RevitLevel by name", "Gets an existing Revit level by name", "Revit", "Architecture")] - public RevitLevel(string name) - { - this.name = name; - referenceOnly = true; - } - public bool createView { get; set; } public Base? parameters { get; set; } public string elementId { get; set; } diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitMEPConnector.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitMEPConnector.cs deleted file mode 100644 index cdeab8ce..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitMEPConnector.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitMEPConnector")] -public class RevitMEPConnector : Base -{ - public double angle { get; set; } - public List connectedConnectorIds { get; set; } = new(); - public double height { get; set; } - public Point origin { get; set; } - public double radius { get; set; } - public string shape { get; set; } - public string systemName { get; set; } - public double width { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitNetwork.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitNetwork.cs deleted file mode 100644 index 4394faa4..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitNetwork.cs +++ /dev/null @@ -1,78 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[Obsolete( - "Networks are no longer used to assemble MEP systems in Revit. See the RevitCommitBuilder for MEP systems conversion." -)] -[SpeckleType("Objects.BuiltElements.Revit.RevitNetworkElement")] -public class RevitNetworkElement : NetworkElement -{ - public RevitNetworkElement() { } - - /// - /// Indicates if this element was constructed from an MEP curve - /// - public bool isCurveBased { get; set; } - - /// - /// Indicates if this element needs temporary placeholder objects to be created first when receiving - /// - /// - /// For example, some fittings cannot be created based on connectors, and so will be created similarly to mechanical equipment - /// - public bool isConnectorBased { get; set; } -} - -[Obsolete( - "Networks are no longer used to assemble MEP systems in Revit. See the RevitCommitBuilder for MEP systems conversion." -)] -[SpeckleType("Objects.BuiltElements.Revit.RevitNetworkLink")] -public class RevitNetworkLink : NetworkLink -{ - public double height { get; set; } - public double width { get; set; } - public double diameter { get; set; } - public Point origin { get; set; } - public Vector direction { get; set; } - - /// - /// The system category - /// - public string systemName { get; set; } - - public string systemType { get; set; } - - /// - /// The connector profile shape of the - /// - public string shape { get; set; } - - /// - /// The link domain - /// - public string domain { get; set; } - - /// - /// The index indicating the position of this link on the connected fitting element, if applicable - /// - /// - /// Revit fitting links are 1-indexed. For example, "T" fittings will have ordered links from index 1-3. - /// - public int fittingIndex { get; set; } - - /// - /// Indicates if this link needs temporary placeholder objects to be created first when receiving - /// - /// - /// Placeholder geometry are curves. - /// For example, U-bend links need temporary pipes to be created first, if one or more linked pipes have not yet been created in the network. - /// - public bool needsPlaceholders { get; set; } - - /// - /// Indicates if this link has been connected to its elements - /// - public bool isConnected { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitOpening.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitOpening.cs deleted file mode 100644 index 6ffe022e..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitOpening.cs +++ /dev/null @@ -1,111 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitOpening")] -public class RevitOpening : Opening -{ - public Base? parameters { get; set; } - public string elementId { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Revit.RevitVerticalOpening")] -public class RevitVerticalOpening : RevitOpening { } - -[SpeckleType("Objects.BuiltElements.Revit.RevitWallOpening")] -public class RevitWallOpening : RevitOpening -{ - public RevitWallOpening() { } - - [ - Obsolete("Use constructor with Polyline input instead"), - SchemaDeprecated, - SchemaInfo("Revit Wall Opening (Deprecated)", "Creates a Speckle Wall opening for revit", "BIM", "Architecture") - ] - public RevitWallOpening(ICurve outline, RevitWall? host = null) - { - if (outline is not Polyline) - { - throw new SpeckleException("Outline should be a rectangular-shaped polyline"); - } - - this.outline = outline; - this.host = host; - } - - [SchemaInfo("Revit Wall Opening", "Creates a Speckle Wall opening for revit", "Revit", "Architecture")] - public RevitWallOpening(Polyline outline, RevitWall? host = null) - { - if (outline == null) - { - throw new SpeckleException("Outline cannot be null"); - } - - if (outline.GetPoints().Count != 4) - { - throw new SpeckleException("Outline should be a rectangular-shaped polyline"); - } - - this.outline = outline; - this.host = host; - } - - public RevitWall? host { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Revit.RevitShaft")] -public class RevitShaft : RevitOpening -{ - public RevitShaft() { } - - /// - /// SchemaBuilder constructor for a Revit shaft - /// - /// - /// - /// - /// - [SchemaInfo("RevitShaft", "Creates a Revit shaft from a bottom and top level", "Revit", "Architecture")] - public RevitShaft( - [SchemaMainParam] ICurve outline, - Level bottomLevel, - Level topLevel, - List? parameters = null - ) - { - this.outline = outline; - this.bottomLevel = bottomLevel; - this.topLevel = topLevel; - this.parameters = parameters?.ToBase(); - } - - [DetachProperty] - public Level bottomLevel { get; set; } - - [DetachProperty] - public Level topLevel { get; set; } - public double height { get; set; } - - /* - /// - /// SchemaBuilder constructor for a Revit shaft - /// - /// - /// - /// - /// - /// Assign units when using this constructor due to param - [SchemaInfo("RevitShaft", "Creates a Revit shaft from a bottom level and height")] - public RevitShaft(ICurve outline, Level bottomLevel, double height, List parameters = null) - { - this.outline = outline; - this.bottomLevel = bottomLevel; - this.height = height; - this.parameters = parameters.ToBase(); - } - */ -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitPipe.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitPipe.cs deleted file mode 100644 index 22605f6b..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitPipe.cs +++ /dev/null @@ -1,81 +0,0 @@ -using Speckle.Objects.BuiltElements.Revit.Interfaces; -using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitPipe")] -public class RevitPipe : Pipe, IHasMEPConnectors -{ - public RevitPipe() { } - - [SchemaInfo("RevitPipe", "Creates a Revit pipe", "Revit", "MEP")] - public RevitPipe( - string family, - string type, - [SchemaMainParam] ICurve baseCurve, - double diameter, - Level level, - string systemName = "", - string systemType = "", - List? parameters = null - ) - { - this.family = family; - this.type = type; - this.baseCurve = baseCurve; - this.diameter = diameter; - this.systemName = systemName; - this.systemType = systemType; - this.level = level; - this.parameters = parameters?.ToBase(); - } - - public string family { get; set; } - public string type { get; set; } - public string systemName { get; set; } - public string systemType { get; set; } - public Base? parameters { get; set; } - public string elementId { get; set; } - - [DetachProperty] - public Level level { get; set; } - public List Connectors { get; set; } = new(); -} - -[SpeckleType("Objects.BuiltElements.Revit.RevitFlexPipe")] -public class RevitFlexPipe : RevitPipe -{ - public RevitFlexPipe() { } - - [SchemaInfo("RevitFlexPipe", "Creates a Revit flex pipe", "Revit", "MEP")] - public RevitFlexPipe( - string family, - string type, - [SchemaMainParam] ICurve baseCurve, - double diameter, - Level level, - Vector startTangent, - Vector endTangent, - string systemName = "", - string systemType = "", - List? parameters = null - ) - { - this.family = family; - this.type = type; - this.baseCurve = baseCurve; - this.diameter = diameter; - this.startTangent = startTangent; - this.endTangent = endTangent; - this.systemName = systemName; - this.systemType = systemType; - this.level = level; - this.parameters = parameters?.ToBase(); - } - - public Vector startTangent { get; set; } - public Vector endTangent { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitRailing.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitRailing.cs deleted file mode 100644 index 0a58cef7..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitRailing.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitRailing")] -public class RevitRailing : Base, IDisplayValue> -{ - public RevitRailing() { } - - [SchemaInfo("Railing", "Creates a Revit railing by base curve.", "Revit", "Architecture")] - public RevitRailing(string type, [SchemaMainParam] Polycurve baseCurve, Level level, bool flipped = false) - { - this.type = type; - path = baseCurve; - this.level = level; - this.flipped = flipped; - } - - //public string family { get; set; } - public string type { get; set; } - - [DetachProperty] - public Level level { get; set; } - public Polycurve path { get; set; } - public bool flipped { get; set; } - public string elementId { get; set; } - public Base parameters { get; set; } - public RevitTopRail topRail { get; set; } - - public string units { get; set; } - - [DetachProperty] - public List displayValue { get; set; } -} - -// Used only to transfer parameters of the top railing -// its display mesh will live in the main railing element -[SpeckleType("Objects.BuiltElements.Revit.RevitTopRail")] -public class RevitTopRail : Base -{ - //public string family { get; set; } - public string type { get; set; } - public string elementId { get; set; } - public Base parameters { get; set; } - - [DetachProperty] - public List displayValue { get; set; } - - public string units { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitRebar.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitRebar.cs deleted file mode 100644 index 2df5b274..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitRebar.cs +++ /dev/null @@ -1,87 +0,0 @@ -using Speckle.Newtonsoft.Json; -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitRebarGroup")] -public class RevitRebarGroup : RebarGroup -{ - public RevitRebarGroup() { } - - [JsonIgnore] - public RevitRebarShape revitShape { get; set; } - - public override RebarHook? startHook - { - get => revitStartHook; - set => - revitStartHook = value switch - { - RevitRebarHook o => o, - null => null, - _ => throw new ArgumentException($"Expected object of type {nameof(RevitRebarHook)} or null"), - }; - } - - [JsonIgnore] - public RevitRebarHook? revitStartHook { get; set; } - - public override RebarHook? endHook - { - get => revitEndHook; - set => - revitEndHook = value switch - { - RevitRebarHook o => o, - null => null, - _ => throw new ArgumentException($"Expected object of type {nameof(RevitRebarHook)} or null"), - }; - } - - [JsonIgnore] - public RevitRebarHook? revitEndHook { get; set; } - - public string family { get; set; } - public string type { get; set; } - public int barPositions { get; set; } - public Vector normal { get; set; } - public Base parameters { get; set; } - public string elementId { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Revit.RevitRebarShape")] -public class RevitRebarShape : RebarShape -{ - public RevitRebarShape() { } - - public Base parameters { get; set; } - public string elementId { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Revit.RevitRebarHook")] -public class RevitRebarHook : RebarHook -{ - public RevitRebarHook() { } - - public double multiplier { get; set; } - public string orientation { get; set; } - public Base parameters { get; set; } - public string elementId { get; set; } -} - -#region Obsolete -[Obsolete("Deprecated in 2.17: Use RevitRebarGroup class instead")] -[SpeckleType("Objects.BuiltElements.Revit.RevitRebar")] -public class RevitRebar : Rebar -{ - public string family { get; set; } - public string type { get; set; } - public string host { get; set; } - public string barType { get; set; } - public string barStyle { get; set; } - public List shapes { get; set; } - public Base parameters { get; set; } - public string elementId { get; set; } -} -#endregion diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitRoof/RevitRoof.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitRoof/RevitRoof.cs index 967bbb64..bf93192c 100644 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitRoof/RevitRoof.cs +++ b/src/Speckle.Objects/BuiltElements/Revit/RevitRoof/RevitRoof.cs @@ -1,6 +1,4 @@ using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements.Revit.RevitRoof; @@ -25,40 +23,6 @@ public class RevitExtrusionRoof : RevitRoof { public RevitExtrusionRoof() { } - /// - /// SchemaBuilder constructor for a Revit extrusion roof - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// Assign units when using this constructor due to and params - [SchemaInfo("RevitExtrusionRoof", "Creates a Revit roof by extruding a curve", "Revit", "Architecture")] - public RevitExtrusionRoof( - string family, - string type, - [SchemaParamInfo("Extrusion start")] double start, - [SchemaParamInfo("Extrusion end")] double end, - [SchemaParamInfo("Profile along which to extrude the roof"), SchemaMainParam] Line referenceLine, - Level level, - List? elements = null, - List? parameters = null - ) - { - this.family = family; - this.type = type; - this.parameters = parameters?.ToBase(); - this.level = level; - this.start = start; - this.end = end; - this.referenceLine = referenceLine; - this.elements = elements; - } - public double start { get; set; } public double end { get; set; } public Line referenceLine { get; set; } @@ -69,30 +33,6 @@ public class RevitFootprintRoof : RevitRoof { public RevitFootprintRoof() { } - [SchemaInfo("RevitFootprintRoof", "Creates a Revit roof by outline", "Revit", "Architecture")] - public RevitFootprintRoof( - [SchemaMainParam] ICurve outline, - string family, - string type, - Level level, - RevitLevel? cutOffLevel = null, - double slope = 0, - List? voids = null, - List? elements = null, - List? parameters = null - ) - { - this.outline = outline; - this.voids = voids ?? new(); - this.family = family; - this.type = type; - this.slope = slope; - this.parameters = parameters?.ToBase(); - this.level = level; - this.cutOffLevel = cutOffLevel; - this.elements = elements; - } - public RevitLevel? cutOffLevel { get; set; } public double? slope { get; set; } } diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitStair.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitStair.cs deleted file mode 100644 index 4a823708..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitStair.cs +++ /dev/null @@ -1,86 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitStair")] -public class RevitStair : Base, IDisplayValue> -{ - public string family { get; set; } - public string type { get; set; } - - [DetachProperty] - public Level level { get; set; } - - [DetachProperty] - public Level topLevel { get; set; } - public double riserHeight { get; set; } - public int risersNumber { get; set; } - public double treadDepth { get; set; } - public int treadsNumber { get; set; } - public double baseElevation { get; set; } - public double topElevation { get; set; } - public bool beginsWithRiser { get; set; } - public double height { get; set; } - public int numberOfStories { get; set; } - public Base parameters { get; set; } - public List runs { get; set; } - public List landings { get; set; } - public List supports { get; set; } - public string elementId { get; set; } - - public string units { get; set; } - - [DetachProperty] - public List displayValue { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Revit.RevitStairRun")] -public class RevitStairRun : Base -{ - public string family { get; set; } - public string type { get; set; } - public Polycurve path { get; set; } - public Polycurve outline { get; set; } - public double runWidth { get; set; } - public int risersNumber { get; set; } - public int treadsNumber { get; set; } - public double baseElevation { get; set; } - public double topElevation { get; set; } - public bool beginsWithRiser { get; set; } - public bool endsWithRiser { get; set; } - public double extensionBelowRiserBase { get; set; } - public double extensionBelowTreadBase { get; set; } - public double height { get; set; } - public string runStyle { get; set; } - public Base parameters { get; set; } - public string elementId { get; set; } - - public string units { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Revit.RevitStairLanding")] -public class RevitStairLanding : Base -{ - public string family { get; set; } - public string type { get; set; } - public bool isAutomaticLanding { get; set; } - public double baseElevation { get; set; } - public double thickness { get; set; } - public Polycurve outline { get; set; } - public Base parameters { get; set; } - public string elementId { get; set; } - - public string units { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Revit.RevitStairSupport")] -public class RevitStairSupport : Base -{ - public string family { get; set; } - public string type { get; set; } - public Base parameters { get; set; } - public string elementId { get; set; } - - public string units { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitToposolid.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitToposolid.cs deleted file mode 100644 index 1094b09d..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitToposolid.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitToposolid")] -public class RevitToposolid : Base, IDisplayValue> -{ - public RevitToposolid() { } - - [SchemaInfo("RevitToposolid", "Creates a Revit Toposolid", "Revit", "Architecture")] - public RevitToposolid( - Level level, - List profiles, - List? topPlanePoints = null, - [SchemaParamInfo("Any nested elements that this floor might have")] List? elements = null, - List? parameters = null - ) - { - this.profiles = profiles; - this.level = level; - this.points = topPlanePoints ?? new(); - this.elements = elements; - this.parameters = parameters?.ToBase(); - } - - public List profiles { get; set; } = new(); - - public List points { get; set; } = new(); - - [DetachProperty] - public List? elements { get; set; } - - [DetachProperty] - public List displayValue { get; set; } - - public string family { get; set; } - public string type { get; set; } - - [DetachProperty] - public Level level { get; set; } - public Base? parameters { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitWall.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitWall.cs index cd12d816..5c7d1860 100644 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitWall.cs +++ b/src/Speckle.Objects/BuiltElements/Revit/RevitWall.cs @@ -1,6 +1,3 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements.Revit; @@ -8,40 +5,8 @@ namespace Speckle.Objects.BuiltElements.Revit; [SpeckleType("Objects.BuiltElements.Revit.RevitWall")] public class RevitWall : Wall { - public RevitWall() { } - - public RevitWall( - string family, - string type, - ICurve baseLine, - Level level, - Level? topLevel, - double height, - string? units, - string? elementId, - double baseOffset = 0, - double topOffset = 0, - bool flipped = false, - bool structural = false, - IReadOnlyList? displayValue = null, - List? elements = null, - List? parameters = null - ) - : base(height, units, baseLine, level, displayValue, elements) - { - this.family = family; - this.type = type; - this.baseOffset = baseOffset; - this.topOffset = topOffset; - this.flipped = flipped; - this.structural = structural; - this.elementId = elementId; - this.topLevel = topLevel; - this.parameters = parameters?.ToBase(); - } - - public string family { get; set; } - public string type { get; set; } + public required string family { get; set; } + public required string type { get; set; } public double baseOffset { get; set; } public double topOffset { get; set; } public bool flipped { get; set; } @@ -57,200 +22,4 @@ public RevitWall( get => base.level; set => base.level = value; } - - #region Schema Info Constructors - - [SchemaInfo( - "RevitWall by curve and levels", - "Creates a Revit wall with a top and base level.", - "Revit", - "Architecture" - )] - public RevitWall( - string family, - string type, - [SchemaMainParam] ICurve baseLine, - Level level, - Level topLevel, - double baseOffset = 0, - double topOffset = 0, - bool flipped = false, - bool structural = false, - [SchemaParamInfo("Set in here any nested elements that this level might have.")] List? elements = null, - List? parameters = null - ) - : this( - family, - type, - baseLine, - level, - topLevel, - 0, - null, - null, - baseOffset, - topOffset, - flipped, - structural, - elements: elements, - parameters: parameters - ) { } - - [SchemaInfo("RevitWall by curve and height", "Creates an unconnected Revit wall.", "Revit", "Architecture")] - public RevitWall( - string family, - string type, - [SchemaMainParam] ICurve baseLine, - Level level, - double height, - double baseOffset = 0, - double topOffset = 0, - bool flipped = false, - bool structural = false, - [SchemaParamInfo("Set in here any nested elements that this wall might have.")] List? elements = null, - List? parameters = null - ) - : this( - family, - type, - baseLine, - level, - null, - height, - null, - null, - baseOffset, - topOffset, - flipped, - structural, - elements: elements, - parameters: parameters - ) { } - #endregion } - -[SpeckleType("Objects.BuiltElements.Revit.RevitFaceWall")] -public class RevitFaceWall : Wall -{ - public RevitFaceWall() { } - - [SchemaInfo("RevitWall by face", "Creates a Revit wall from a surface.", "Revit", "Architecture")] - public RevitFaceWall( - string family, - string type, - [SchemaParamInfo("Surface or single face Brep to use"), SchemaMainParam] Brep surface, - Level level, - LocationLine locationLine = LocationLine.Interior, - [SchemaParamInfo("Set in here any nested elements that this wall might have.")] List? elements = null, - List? parameters = null - ) - { - if (surface.Surfaces.Count == 0) - { - throw new ArgumentException("Cannot create a RevitWall with an empty BREP", nameof(surface)); - } - - if (surface.Surfaces.Count > 1) - { - throw new ArgumentException( - "The provided brep has more than 1 surface. Please deconstruct/explode it to create multiple instances", - nameof(surface) - ); - } - - this.family = family; - this.type = type; - brep = surface; - this.locationLine = locationLine; - this.level = level; - this.elements = elements; - this.parameters = parameters?.ToBase(); - } - - public string family { get; set; } - public string type { get; set; } - - public Brep brep { get; set; } - - public new Level? level - { - get => base.level; - set => base.level = value; - } - - public LocationLine locationLine { get; set; } - public Base? parameters { get; set; } - public string elementId { get; set; } -} - -[SpeckleType("Objects.BuiltElements.Revit.RevitProfileWall")] -public class RevitProfileWall : Wall -{ - public RevitProfileWall() { } - - [SchemaInfo("RevitWall by profile", "Creates a Revit wall from a profile.", "Revit", "Architecture")] - public RevitProfileWall( - string family, - string type, - [SchemaParamInfo("Profile to use"), SchemaMainParam] Polycurve profile, - Level level, - LocationLine locationLine = LocationLine.Interior, - bool structural = false, - [SchemaParamInfo("Set in here any nested elements that this wall might have.")] List? elements = null, - List? parameters = null - ) - { - this.family = family; - this.type = type; - this.profile = profile; - this.locationLine = locationLine; - this.structural = structural; - this.level = level; - this.elements = elements; - this.parameters = parameters?.ToBase(); - } - - public string family { get; set; } - public string type { get; set; } - public Polycurve profile { get; set; } - - [DetachProperty] - public new Level? level - { - get => base.level; - set => base.level = value; - } - - public LocationLine locationLine { get; set; } - public bool structural { get; set; } - public Base? parameters { get; set; } - public string elementId { get; set; } -} - -// [SchemaDescription("Not supported yet.")] -// [SchemaIgnore] -// public class RevitCurtainWall : Wall -// { -// // TODO -// // What props do/can curtain walls have? - grid, mullions, etc. -// -// [SchemaOptional] -// public bool flipped { get; set; } -// -// [SchemaOptional] -// public Base parameters { get; set; } -// -// [SchemaIgnore] -// public string elementId { get; set; } -// } -// -// [SchemaDescription("Not supported yet.")] -// [SchemaIgnore] -// public class RevitWallByPoint : Base -// { -// [SchemaOptional] -// public Base parameters { get; set; } -// -// [SchemaIgnore] -// public string elementId { get; set; } -// } diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitWire.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitWire.cs deleted file mode 100644 index 52a9b562..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitWire.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Speckle.Objects.BuiltElements.Revit.Interfaces; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitWire")] -public class RevitWire : Wire, IHasMEPConnectors -{ - public RevitWire() { } - - [SchemaInfo("RevitWire", "Creates a Revit wire from points and level", "Revit", "MEP")] - public RevitWire( - List constructionPoints, - string family, - string type, - Level level, - string wiringType = "Arc", - List? parameters = null - ) - { - this.constructionPoints = constructionPoints; - this.family = family; - this.type = type; - this.level = level; - this.wiringType = wiringType; - this.parameters = parameters?.ToBase(); - } - - public string family { get; set; } - public string type { get; set; } - public string wiringType { get; set; } - public List constructionPoints { get; set; } // used in constructor for revit native wires - public string system { get; set; } - - [DetachProperty] - public Level level { get; set; } - public Base? parameters { get; set; } - public string elementId { get; set; } - public List Connectors { get; set; } = new(); -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/RevitZone.cs b/src/Speckle.Objects/BuiltElements/Revit/RevitZone.cs deleted file mode 100644 index 2c4eba75..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/RevitZone.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.RevitZone")] -public class RevitZone : Zone -{ - public RevitZone() { } - - [DetachProperty] - public Level level { get; set; } - public string phaseName { get; set; } - public Base parameters { get; set; } - public string elementId { get; set; } - public bool isDefault { get; set; } - public string serviceType { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Revit/StructuralConnectionHandler.cs b/src/Speckle.Objects/BuiltElements/Revit/StructuralConnectionHandler.cs deleted file mode 100644 index 28a0e369..00000000 --- a/src/Speckle.Objects/BuiltElements/Revit/StructuralConnectionHandler.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.Revit; - -[SpeckleType("Objects.BuiltElements.Revit.StructuralConnectionHandler")] -public class StructuralConnectionHandler : Base, IDisplayValue> -{ - public string family { get; set; } - public string type { get; set; } - public Point basePoint { get; set; } - - [DetachProperty] - public List connectedElements { get; set; } - - [DetachProperty] - public List displayValue { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Roof.cs b/src/Speckle.Objects/BuiltElements/Roof.cs index 751cc233..190d86fd 100644 --- a/src/Speckle.Objects/BuiltElements/Roof.cs +++ b/src/Speckle.Objects/BuiltElements/Roof.cs @@ -1,5 +1,4 @@ using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements; @@ -7,16 +6,6 @@ namespace Speckle.Objects.BuiltElements; [SpeckleType("Objects.BuiltElements.Roof")] public class Roof : Base, IDisplayValue> { - public Roof() { } - - [SchemaDeprecated, SchemaInfo("Roof", "Creates a Speckle roof", "BIM", "Architecture")] - public Roof([SchemaMainParam] ICurve outline, List? voids = null, List? elements = null) - { - this.outline = outline; - this.voids = voids ?? new(); - this.elements = elements; - } - public ICurve outline { get; set; } public virtual Level? level { get; internal set; } public List voids { get; set; } = new(); diff --git a/src/Speckle.Objects/BuiltElements/Room.cs b/src/Speckle.Objects/BuiltElements/Room.cs index 6fdca529..399a26ad 100644 --- a/src/Speckle.Objects/BuiltElements/Room.cs +++ b/src/Speckle.Objects/BuiltElements/Room.cs @@ -1,7 +1,4 @@ -using Speckle.Objects.BuiltElements.Revit; using Speckle.Objects.Geometry; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements; @@ -11,39 +8,6 @@ public class Room : Base, IHasArea, IHasVolume, IDisplayValue> { public Room() { } - /// - /// SchemaBuilder constructor for a Room - /// - /// Assign units when using this constructor due to prop - [SchemaInfo("Room", "Creates a Speckle room", "BIM", "Architecture")] - public Room(string name, string number, Level level, [SchemaMainParam] Point basePoint) - { - this.name = name; - this.number = number; - this.level = level; - this.basePoint = basePoint; - } - - /// - /// SchemaBuilder constructor for a Room - /// - /// Assign units when using this constructor due to prop - [SchemaInfo("RevitRoom", "Creates a Revit room with parameters", "Revit", "Architecture")] - public Room( - string name, - string number, - Level level, - [SchemaMainParam] Point basePoint, - List? parameters = null - ) - { - this.name = name; - this.number = number; - this.level = level; - this.basePoint = basePoint; - this["parameters"] = parameters?.ToBase(); - } - public string name { get; set; } public string number { get; set; } public virtual Level? level { get; set; } diff --git a/src/Speckle.Objects/BuiltElements/Space.cs b/src/Speckle.Objects/BuiltElements/Space.cs deleted file mode 100644 index 724feb8a..00000000 --- a/src/Speckle.Objects/BuiltElements/Space.cs +++ /dev/null @@ -1,80 +0,0 @@ -using Speckle.Objects.BuiltElements.Revit; -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.Space")] -public class Space : Base, IHasArea, IHasVolume, IDisplayValue> -{ - public Space() { } - - [SchemaInfo("Space", "Creates a Speckle space", "BIM", "MEP")] - public Space(string name, string number, [SchemaMainParam] Point basePoint, Level level) - { - this.name = name; - this.number = number; - this.basePoint = basePoint; - this.level = level; - } - - [SchemaInfo( - "Space with top level and offset parameters", - "Creates a Speckle space with the specified top level and offsets", - "BIM", - "MEP" - )] - public Space( - string name, - string number, - [SchemaMainParam] Point basePoint, - Level level, - Level topLevel, - double topOffset, - double baseOffset - ) - { - this.name = name; - this.number = number; - this.basePoint = basePoint; - this.level = level; - this.topLevel = topLevel; - this.topOffset = topOffset; - this.baseOffset = baseOffset; - } - - public string name { get; set; } - public string number { get; set; } - public Point basePoint { get; set; } - - [DetachProperty] - public Level level { get; set; } - public double baseOffset { get; set; } - - [DetachProperty] - public Level topLevel { get; set; } // corresponds to UpperLimit property in Revit api - public double topOffset { get; set; } // corresponds to LimitOffset property in Revit api - public List voids { get; set; } = new(); - public ICurve outline { get; set; } - public string spaceType { get; set; } - - // add the zone object for better forward compatibility - public RevitZone? zone { get; set; } - - [Obsolete("Use zone property instead")] - public string zoneName { get; internal set; } - public string units { get; set; } - - public string roomId { get; set; } - - public string phaseName { get; set; } - - // additional properties to add: also include space separation lines here? - - [DetachProperty] - public List displayValue { get; set; } - - public double area { get; set; } - public double volume { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Station.cs b/src/Speckle.Objects/BuiltElements/Station.cs deleted file mode 100644 index 2ec00632..00000000 --- a/src/Speckle.Objects/BuiltElements/Station.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.Station")] -public class Station : Base -{ - public double number { get; set; } - public string type { get; set; } - public Point location { get; set; } - - public string units { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Structure.cs b/src/Speckle.Objects/BuiltElements/Structure.cs deleted file mode 100644 index 54626a0f..00000000 --- a/src/Speckle.Objects/BuiltElements/Structure.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.Structure")] -public class Structure : Base, IDisplayValue> -{ - public Point location { get; set; } - public List pipeIds { get; set; } - - public string units { get; set; } - - [DetachProperty] - public List displayValue { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/TeklaStructures/BeamPosition.cs b/src/Speckle.Objects/BuiltElements/TeklaStructures/BeamPosition.cs deleted file mode 100644 index cf93afa9..00000000 --- a/src/Speckle.Objects/BuiltElements/TeklaStructures/BeamPosition.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.TeklaStructures; - -[SpeckleType("Objects.BuiltElements.TeklaStructures.TeklaPosition")] -public class TeklaPosition : Base -{ - public TeklaDepthEnum Depth { get; set; } - public TeklaPlaneEnum Plane { get; set; } - public TeklaRotationEnum Rotation { get; set; } - public double depthOffset { get; set; } - public double planeOffset { get; set; } - public double rotationOffset { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/TeklaStructures/Bolts.cs b/src/Speckle.Objects/BuiltElements/TeklaStructures/Bolts.cs deleted file mode 100644 index 264ea0b9..00000000 --- a/src/Speckle.Objects/BuiltElements/TeklaStructures/Bolts.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.TeklaStructures; - -[SpeckleType("Objects.BuiltElements.TeklaStructures.Bolts")] -public class Bolts : Base -{ - [DetachProperty] - public List displayValue { get; set; } - - public Point firstPosition { get; set; } - public Point secondPosition { get; set; } - - public double length { get; set; } - public double boltSize { get; set; } - public double tolerance { get; set; } - public TeklaPosition position { get; set; } - public string boltStandard { get; set; } - public double cutLength { get; set; } - public List coordinates { get; set; } - public List boltedPartsIds { get; set; } = new(); // First guid is PartToBeBolted, second guid is PartToBoltTo, any others are OtherPartsToBolt -} - -[SpeckleType("Objects.BuiltElements.TeklaStructures.BoltsXY")] -public class BoltsXY : Bolts -{ - // Lists of XY positions of bolts for Tekla - public List xPosition { get; set; } - public List yPosition { get; set; } -} - -[SpeckleType("Objects.BuiltElements.TeklaStructures.BoltsArray")] -public class BoltsArray : Bolts -{ - // Lists of XY distances between bolts for Tekla - public List xDistance { get; set; } - public List yDistance { get; set; } -} - -[SpeckleType("Objects.BuiltElements.TeklaStructures.BoltsCircle")] -public class BoltsCircle : Bolts -{ - public int boltCount { get; set; } - public double diameter { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/TeklaStructures/Enums.cs b/src/Speckle.Objects/BuiltElements/TeklaStructures/Enums.cs deleted file mode 100644 index 9d755ea0..00000000 --- a/src/Speckle.Objects/BuiltElements/TeklaStructures/Enums.cs +++ /dev/null @@ -1,86 +0,0 @@ -namespace Speckle.Objects.BuiltElements.TeklaStructures; - -public enum TeklaBeamType -{ - Beam, - PolyBeam, - SpiralBeam, -} - -public enum TeklaChamferType -{ - none, - line, - rounding, - arc, - arc_point, - square, - square_parallel, - line_and_arc, -} - -public enum TeklaWeldType -{ - none, - edge_flange, - square_groove_butt, - bevel_groove_single_v_butt, - bevel_groove_single_bevel_butt, - single_v_butt_with_broad_root_face, - single_bevel_butt_with_broad_root_face, - u_groove_single_u_butt, - j_groove_j_butt, - bevel_backing, - fillet, - plug, - spot, - seam, - slot, - flare_bevel_groove, - flare_v_groove, - corner_flange, - partial_penetration_single_bevel_butt_plus_fillet, - partial_penetration_square_groove_plus_fillet, - melt_through, - steep_flanked_bevel_groove_single_v_butt, - steep_flanked_bevel_groove_single_bevel_butt, - edge, - iso_surfacing, - fold, - inclined, -} - -public enum TeklaWeldIntermittentType -{ - continuous, - chain_intermittent, - staggered_intermittent, -} - -public enum TeklaDepthEnum -{ - middle, - front, - behind, -} - -public enum TeklaPlaneEnum -{ - middle, - left, - right, -} - -public enum TeklaRotationEnum -{ - front, - top, - back, - below, -} - -public enum TeklaOpeningTypeEnum -{ - beam, - contour, -} diff --git a/src/Speckle.Objects/BuiltElements/TeklaStructures/Fitting.cs b/src/Speckle.Objects/BuiltElements/TeklaStructures/Fitting.cs deleted file mode 100644 index 0f634bb1..00000000 --- a/src/Speckle.Objects/BuiltElements/TeklaStructures/Fitting.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.TeklaStructures; - -[SpeckleType("Objects.BuiltElements.TeklaStructures.Fitting")] -public class Fitting : Plane -{ - public string hostID { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaBeam.cs b/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaBeam.cs deleted file mode 100644 index e43d85fd..00000000 --- a/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaBeam.cs +++ /dev/null @@ -1,61 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Materials; -using Speckle.Objects.Structural.Properties.Profiles; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.TeklaStructures; - -[SpeckleType("Objects.BuiltElements.TeklaStructures.TeklaBeam")] -public class TeklaBeam : Beam, IHasVolume, IHasArea -{ - public TeklaBeam() { } - - [SchemaInfo("TeklaBeam", "Creates a Tekla Structures beam by curve.", "Tekla", "Structure")] - public TeklaBeam([SchemaMainParam] ICurve baseLine, SectionProfile profile, StructuralMaterial material) - { - this.baseLine = baseLine; - this.profile = profile; - this.material = material; - } - - public string name { get; set; } - - [DetachProperty] - public SectionProfile profile { get; set; } - - [DetachProperty] - public StructuralMaterial material { get; set; } - - [DetachProperty] - public string finish { get; set; } - - [DetachProperty] - public string classNumber { get; set; } - - public Vector alignmentVector { get; set; } // This can be set to get proper rotation if coming from an application that doesn't have positioning - - [DetachProperty] - public TeklaPosition position { get; set; } - - public Base userProperties { get; set; } - - [DetachProperty] - public Base rebars { get; set; } - - public TeklaBeamType TeklaBeamType { get; set; } - public double area { get; set; } - public double volume { get; set; } -} - -[SpeckleType("Objects.BuiltElements.TeklaStructures.SpiralBeam")] -public class SpiralBeam : TeklaBeam -{ - public Point startPoint { get; set; } - public Point rotationAxisPt1 { get; set; } - public Point rotationAxisPt2 { get; set; } - public double totalRise { get; set; } - public double rotationAngle { get; set; } - public double twistAngleStart { get; set; } - public double twistAngleEnd { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaContourPlate.cs b/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaContourPlate.cs deleted file mode 100644 index ff2bd6e7..00000000 --- a/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaContourPlate.cs +++ /dev/null @@ -1,69 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Materials; -using Speckle.Objects.Structural.Properties.Profiles; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.TeklaStructures; - -[SpeckleType("Objects.BuiltElements.TeklaStructures.TeklaContourPlate")] -public class TeklaContourPlate : Area -{ - [SchemaInfo("ContourPlate", "Creates a TeklaStructures contour plate.", "Tekla", "Structure")] - public TeklaContourPlate( - SectionProfile profile, - Polyline outline, - string finish, - string classNumber, - string units, - StructuralMaterial? material = null, - TeklaPosition? position = null, - Base? rebars = null - ) - { - this.profile = profile; - this.outline = outline; - this.material = material; - this.finish = finish; - this.classNumber = classNumber; - this.position = position ?? new(); - this.rebars = rebars; - this.units = units; - } - - public TeklaContourPlate() { } - - [DetachProperty] - public SectionProfile profile { get; set; } - - [DetachProperty] - public StructuralMaterial? material { get; set; } - - [DetachProperty] - public string finish { get; set; } - - [DetachProperty] - public string classNumber { get; set; } - - [DetachProperty] - public TeklaPosition position { get; set; } = new(); - - [DetachProperty] - public Base? rebars { get; set; } - - public List contour { get; set; } // Use for ToNative to Tekla. Other programs can use Area.outline. -} - -[SpeckleType("Objects.BuiltElements.TeklaStructures.TeklaContourPoint")] -public class TeklaContourPoint : Point -{ - public TeklaContourPoint() { } - - public TeklaContourPoint(Point point) { } - - public TeklaChamferType chamferType { get; set; } - public double xDim { get; set; } - public double yDim { get; set; } - public double dz1 { get; set; } - public double dz2 { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaModel.cs b/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaModel.cs deleted file mode 100644 index 8368621c..00000000 --- a/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaModel.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.TeklaStructures; - -[SpeckleType("Objects.BuiltElements.TeklaStructures.TeklaModel")] -public class TeklaModel : Base -{ - [DetachProperty] - public List Beams { get; set; } - - [DetachProperty] - public List Rebars { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaOpening.cs b/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaOpening.cs deleted file mode 100644 index 11799199..00000000 --- a/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaOpening.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.TeklaStructures; - -[SpeckleType("Objects.BuiltElements.TeklaStructures.TeklaOpening")] -public class TeklaOpening : Opening -{ - public string openingHostId { get; set; } - public TeklaOpeningTypeEnum openingType { get; set; } -} - -[SpeckleType("Objects.BuiltElements.TeklaStructures.TeklaContourOpening")] -public class TeklaContourOpening : TeklaOpening -{ - public TeklaContourPlate cuttingPlate { get; set; } - public double thickness { get; set; } -} - -[SpeckleType("Objects.BuiltElements.TeklaStructures.TeklaBeamOpening")] -public class TeklaBeamOpening : TeklaOpening -{ - public TeklaBeam cuttingBeam { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaRebar.cs b/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaRebar.cs deleted file mode 100644 index 722b55f4..00000000 --- a/src/Speckle.Objects/BuiltElements/TeklaStructures/TeklaRebar.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Speckle.Objects.Structural.Materials; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.TeklaStructures; - -#region Obsolete -[Obsolete("Deprecated in 2.17: Create a TeklaRebarGroup class instead")] -[SpeckleType("Objects.BuiltElements.TeklaStructures.TeklaRebar")] -public class TeklaRebar : Rebar -{ - public string name { get; set; } - - [DetachProperty] - public Hook startHook { get; set; } - - [DetachProperty] - public Hook endHook { get; set; } - - public double classNumber { get; set; } - public string size { get; set; } - - [DetachProperty] - public StructuralMaterial material { get; set; } -} - -[Obsolete("Deprecated in 2.17: Use a RebarHook class instead")] -[SpeckleType("Objects.BuiltElements.TeklaStructures.Hook")] -public class Hook : Base -{ - public double angle { get; set; } - public double length { get; set; } - public double radius { get; set; } - public shape shape { get; set; } -} - -[Obsolete("Deprecated in 2.17: set starthook and endhook to null or refer to hook angle instead")] -[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "Obsolete")] -#pragma warning disable CS8981 // The type name only contains lower-cased ascii characters. Such names may become reserved for the language. -public enum shape -#pragma warning restore CS8981 // The type name only contains lower-cased ascii characters. Such names may become reserved for the language. -{ - NO_HOOK = 0, - HOOK_90_DEGREES = 1, - HOOK_135_DEGREES = 2, - HOOK_180_DEGREES = 3, - CUSTOM_HOOK = 4, -} -#endregion diff --git a/src/Speckle.Objects/BuiltElements/TeklaStructures/Welds.cs b/src/Speckle.Objects/BuiltElements/TeklaStructures/Welds.cs deleted file mode 100644 index 41555e34..00000000 --- a/src/Speckle.Objects/BuiltElements/TeklaStructures/Welds.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements.TeklaStructures; - -[SpeckleType("Objects.BuiltElements.TeklaStructures.Welds")] -public class Welds : Base -{ - [DetachProperty] - public List displayValue { get; set; } - - public string mainObjectId { get; set; } - public string secondaryObjectId { get; set; } - public double sizeAbove { get; set; } - public double sizeBelow { get; set; } - public double lengthAbove { get; set; } - public double lengthBelow { get; set; } - public double pitchAbove { get; set; } - public double pitchBelow { get; set; } - public double angleAbove { get; set; } // In degrees - public double angleBelow { get; set; } // In degrees - public TeklaWeldType typeAbove { get; set; } - public TeklaWeldType typeBelow { get; set; } - public TeklaWeldIntermittentType intermittentType { get; set; } -} - -[SpeckleType("Objects.BuiltElements.TeklaStructures.PolygonWelds")] -public class PolygonWelds : Welds -{ - public Polyline polyline { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/View.cs b/src/Speckle.Objects/BuiltElements/View.cs deleted file mode 100644 index 9c729ba5..00000000 --- a/src/Speckle.Objects/BuiltElements/View.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.View")] -public class View : Base -{ - public string name { get; set; } -} - -[SpeckleType("Objects.BuiltElements.View3D")] -public class View3D : View -{ - public Point origin { get; set; } - public Point target { get; set; } - public Vector upDirection { get; set; } - public Vector forwardDirection { get; set; } - public Box boundingBox { get; set; } // x is right, y is top of screen, z is towards viewer - public bool isOrthogonal { get; set; } - - public string units { get; set; } -} - -[SpeckleType("Objects.BuiltElements.View2D")] -public class View2D : View -{ - //public Point topLeft { get; set; } - //public Point bottomRight { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Wall.cs b/src/Speckle.Objects/BuiltElements/Wall.cs index 5135fe17..3105831b 100644 --- a/src/Speckle.Objects/BuiltElements/Wall.cs +++ b/src/Speckle.Objects/BuiltElements/Wall.cs @@ -1,5 +1,3 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.BuiltElements; @@ -7,25 +5,6 @@ namespace Speckle.Objects.BuiltElements; [SpeckleType("Objects.BuiltElements.Wall")] public class Wall : Base, IDisplayValue> { - public Wall() { } - - public Wall( - double height, - string? units, - ICurve baseLine, - Level? level = null, - IReadOnlyList? displayValue = null, - List? elements = null - ) - { - this.height = height; - this.units = units; - this.baseLine = baseLine; - this.level = level; - this.displayValue = ((IReadOnlyList?)displayValue) ?? new[] { (Base)baseLine }; - this.elements = elements; - } - public double height { get; set; } public string? units { get; set; } @@ -39,16 +18,4 @@ public Wall( [DetachProperty] public IReadOnlyList displayValue { get; set; } - - #region SchemaInfo Ctors - - [SchemaInfo("Wall", "Creates a Speckle wall", "BIM", "Architecture")] - public Wall( - double height, - [SchemaMainParam] ICurve baseLine, - [SchemaParamInfo("Any nested elements that this wall might have")] List? elements = null - ) - : this(height, null, baseLine, null, null, elements) { } - - #endregion } diff --git a/src/Speckle.Objects/BuiltElements/Wire.cs b/src/Speckle.Objects/BuiltElements/Wire.cs deleted file mode 100644 index 8800def1..00000000 --- a/src/Speckle.Objects/BuiltElements/Wire.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.Wire")] -public class Wire : Base -{ - public Wire() { } - - [SchemaInfo("Wire", "Creates a Speckle wire from curve segments and points", "BIM", "MEP")] - public Wire(List segments) - { - this.segments = segments; - } - - public List segments { get; set; } - - public string units { get; set; } -} diff --git a/src/Speckle.Objects/BuiltElements/Zone.cs b/src/Speckle.Objects/BuiltElements/Zone.cs deleted file mode 100644 index 160697bf..00000000 --- a/src/Speckle.Objects/BuiltElements/Zone.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.BuiltElements; - -[SpeckleType("Objects.BuiltElements.Zone")] -public class Zone : Base, IHasArea, IHasVolume -{ - public Zone() { } - - public Zone(string name) - { - this.name = name; - } - - public string name { get; set; } - public string units { get; set; } - - public List spaces { get; set; } - - // implicit measurements - public double area { get; set; } - public double volume { get; set; } - public double perimeter { get; set; } -} diff --git a/src/Speckle.Objects/Deprecated/LegacyV2.cs b/src/Speckle.Objects/Deprecated/LegacyV2.cs new file mode 100644 index 00000000..cac72d0b --- /dev/null +++ b/src/Speckle.Objects/Deprecated/LegacyV2.cs @@ -0,0 +1,16 @@ +using Speckle.Sdk.Models; + +namespace Speckle.Objects.Deprecated; + +[SpeckleType("Objects.Deprecated.LegacyV2")] +[DeprecatedSpeckleType("Objects.Other.BlockInstance")] +[DeprecatedSpeckleType("Objects.Other.Revit.RevitInstance")] +[DeprecatedSpeckleType("Objects.BuiltElements.View")] +[DeprecatedSpeckleType("Objects.Other.BlockDefinition")] +[DeprecatedSpeckleType("Objects.Other.DisplayStyle")] +[DeprecatedSpeckleType("Objects.Other.Material")] +[DeprecatedSpeckleType("Objects.Other.MaterialQuantity")] +[DeprecatedSpeckleType("Objects.Other.Revit.RevitMaterial")] +[DeprecatedSpeckleType("Objects.BuiltElements.Revit.Parameter")] +[DeprecatedSpeckleType("Objects.BuiltElements.Revit.Curve.ModelCurve")] +public class LegacyV2 : Base { } diff --git a/src/Speckle.Objects/GIS/GisFeature.cs b/src/Speckle.Objects/GIS/GisFeature.cs deleted file mode 100644 index df4e9490..00000000 --- a/src/Speckle.Objects/GIS/GisFeature.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.GIS; - -[SpeckleType("Objects.GIS.GisFeature")] -public class GisFeature : Base -{ - public GisFeature() - { - attributes = new Base(); - } - - public GisFeature(Base attributes) - { - this.attributes = attributes; - } - - public GisFeature(List geometry, Base attributes) - { - this.geometry = geometry; - this.attributes = attributes; - } - - public GisFeature(Base attributes, List displayValue) - { - this.attributes = attributes; - this.displayValue = displayValue; - } - - public GisFeature(List geometry, Base attributes, List displayValue) - { - this.geometry = geometry; - this.attributes = attributes; - this.displayValue = displayValue; - } - - [DetachProperty] - public List? geometry { get; set; } - - [DetachProperty] - public List? displayValue { get; set; } - public Base attributes { get; set; } -} diff --git a/src/Speckle.Objects/GIS/GisTopography.cs b/src/Speckle.Objects/GIS/GisTopography.cs deleted file mode 100644 index d111264b..00000000 --- a/src/Speckle.Objects/GIS/GisTopography.cs +++ /dev/null @@ -1,6 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.GIS; - -[SpeckleType("Objects.GIS.GisTopography")] -public class GisTopography : RasterElement { } diff --git a/src/Speckle.Objects/GIS/NonGeometryElement.cs b/src/Speckle.Objects/GIS/NonGeometryElement.cs deleted file mode 100644 index 346fc0ae..00000000 --- a/src/Speckle.Objects/GIS/NonGeometryElement.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.GIS; - -[Obsolete("NonGeometryElement was replaced by a more generic class, \"GisFeature\", which contains more information")] -[SpeckleType("Objects.GIS.NonGeometryElement")] -public class NonGeometryElement : Base -{ - public Base? attributes { get; set; } -} diff --git a/src/Speckle.Objects/GIS/PolygonElement.cs b/src/Speckle.Objects/GIS/PolygonElement.cs deleted file mode 100644 index 08ebed2d..00000000 --- a/src/Speckle.Objects/GIS/PolygonElement.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.GIS; - -[Obsolete("PolygonElement was replaced by a more generic class, \"GisFeature\", which contains more information")] -[SpeckleType("Objects.GIS.PolygonElement")] -public class PolygonElement : Base -{ - [DetachProperty] - public List geometry { get; set; } - public Base attributes { get; set; } -} diff --git a/src/Speckle.Objects/Geometry/Arc.cs b/src/Speckle.Objects/Geometry/Arc.cs index a5405559..2add9143 100644 --- a/src/Speckle.Objects/Geometry/Arc.cs +++ b/src/Speckle.Objects/Geometry/Arc.cs @@ -1,6 +1,6 @@ +using Speckle.Newtonsoft.Json; using Speckle.Objects.Other; using Speckle.Objects.Primitive; -using Speckle.Sdk; using Speckle.Sdk.Common; using Speckle.Sdk.Models; @@ -10,218 +10,78 @@ namespace Speckle.Objects.Geometry; /// Represents a sub-curve of a three-dimensional circle. /// [SpeckleType("Objects.Geometry.Arc")] -public class Arc : Base, IHasBoundingBox, ICurve, IHasArea, ITransformable +public class Arc : Base, IHasBoundingBox, ICurve, ITransformable { - /// - public Arc() { } - /// - /// Constructs a new using angle values. + /// Gets or sets the plane of the . + /// The plane origin is the center. + /// The plane normal indicates the handedness of the such that direction from to is counterclockwise. /// - /// The Plane where the arc will be drawn - /// The radius of the Arc - /// The angle formed between the start point and the X Axis of the plane - /// The angle formed between the end point and the X Axis of the plane - /// The total angle of the Arc in Radians - /// The object's units - /// The object's unique application ID - public Arc( - Plane plane, - double radius, - double startAngle, - double endAngle, - double angleRadians, - string units = Units.Meters, - string? applicationId = null - ) - { - this.plane = plane; - this.radius = radius; - this.startAngle = startAngle; - this.endAngle = endAngle; - this.angleRadians = angleRadians; - domain = - angleRadians > 0 - ? new Interval { start = 0, end = angleRadians } - : new Interval { start = angleRadians, end = 0 }; - this.applicationId = applicationId; - this.units = units; - } + public required Plane plane { get; set; } /// - /// Initialise an `Arc` using the arc angle and the start and end points. - /// The radius, midpoint, start angle, and end angle will be calculated. - /// For now, this assumes 2D arcs on the XY plane + /// The start of the /// - /// The start point of the arc - /// The end point of the arc - /// The arc angle - /// Units (defaults to "m") - /// ID given to the arc in the authoring programme (defaults to null) - public Arc( - Point startPoint, - Point endPoint, - double angleRadians, - string units = Units.Meters, - string? applicationId = null - ) - : this( - new Plane - { - origin = startPoint, - normal = new Vector(0, 0, 1, units), - xdir = new Vector(1, 0, 0, units), - ydir = new Vector(0, 1, 0, units), - units = units, - }, - startPoint, - endPoint, - angleRadians, - units, - applicationId - ) { } + public required Point startPoint { get; set; } /// - /// Initialise an `Arc` using a plane, the arc angle and the start and end points. - /// The radius, midpoint, start angle, and end angle will be calculated. + /// Gets or sets the point at 0.5 length. /// - /// The Plane where the arc will be drawn - /// The start point of the arc - /// The end point of the arc - /// The arc angle - /// Units (defaults to "m") - /// ID given to the arc in the authoring programme (defaults to null) - public Arc( - Plane plane, - Point startPoint, - Point endPoint, - double angleRadians, - string units = Units.Meters, - string? applicationId = null - ) - { - // don't be annoying - if (angleRadians > Math.PI * 2) - { - throw new SpeckleException("Can't create an arc with an angle greater than 2pi"); - } - - if (startPoint == endPoint) - { - throw new SpeckleException("Can't create an arc where the start and end points are the same"); - } - - this.units = units; - this.startPoint = startPoint; - this.endPoint = endPoint; - this.angleRadians = angleRadians; - domain = - angleRadians > 0 - ? new Interval { start = 0, end = angleRadians } - : new Interval { start = angleRadians, end = 0 }; - this.applicationId = applicationId; + public required Point midPoint { get; set; } - // find chord and chord angle which may differ from the arc angle - var chordMidpoint = Point.Midpoint(startPoint, endPoint); - var chordLength = Point.Distance(startPoint, endPoint); - var chordAngle = angleRadians; - if (chordAngle > Math.PI) - { - chordAngle -= Math.PI * 2; - } - else if (chordAngle < -Math.PI) - { - chordAngle += Math.PI * 2; - } - // use the law of cosines for an isosceles triangle to get the radius - radius = chordLength / Math.Sqrt(2 - 2 * Math.Cos(chordAngle)); - - // find the chord vector then calculate the perpendicular vector which points to the centre - // which can be used to find the circle centre point - int dir = chordAngle < 0 ? -1 : 1; - double centreToChord = Math.Sqrt(Math.Pow((double)radius, 2) - Math.Pow(chordLength * 0.5, 2)); - Vector perp = Vector.CrossProduct((endPoint - startPoint).ToVector(), plane.normal); - Point circleCentre = chordMidpoint + (perp.Unit() * centreToChord * -dir).ToPoint(); - plane.origin = circleCentre; - - // use the perpendicular vector in the other direction (from the centre to the arc) to find the arc midpoint - midPoint = - angleRadians > Math.PI - ? chordMidpoint + (perp.Unit() * ((double)radius + centreToChord) * -dir).ToPoint() - : chordMidpoint + (perp.Unit() * ((double)radius - centreToChord) * dir).ToPoint(); - - // find the start angle using trig (correcting for quadrant position) and add the arc angle to get the end angle - startAngle = Math.Tan((startPoint.y - circleCentre.y) / (startPoint.x - circleCentre.x)) % (2 * Math.PI); - if (startPoint.x > circleCentre.x && startPoint.y < circleCentre.y) // Q4 - { - startAngle *= -1; - } - else if (startPoint.x < circleCentre.x && startPoint.y < circleCentre.y) // Q3 - { - startAngle += Math.PI; - } - else if (startPoint.x < circleCentre.x && startPoint.y > circleCentre.y) // Q2 - { - startAngle = Math.PI - startAngle; - } - - endAngle = startAngle + angleRadians; - // Set the plane of this arc - this.plane = plane; - } + /// + /// The end of the + /// + public required Point endPoint { get; set; } /// /// The radius of the /// - public double? radius { get; set; } + public double radius => Point.Distance(plane.origin, startPoint); /// - /// The start angle of the based on it's + /// OBSOLETE - This is just here for backwards compatibility. /// + [JsonIgnore, Obsolete("start angle should be calculated from arc startpoint and plane if needed", true)] public double? startAngle { get; set; } /// - /// The end angle of the based on it's + /// OBSOLETE - This is just here for backwards compatibility. /// + [JsonIgnore, Obsolete("end angle should be calculated from arc endpoint and plane if needed", true)] public double? endAngle { get; set; } /// - /// The inner angle of the + /// OBSOLETE - This is just here for backwards compatibility. /// + [JsonIgnore, Obsolete("Refer to measure instead", true)] public double angleRadians { get; set; } /// - /// Gets or sets the plane of the . The plane origin is the center. + /// The measure of the in radians. + /// Calculated using the arc addition postulate using the . /// - public Plane plane { get; set; } + public double measure => + (2 * Math.Asin(Point.Distance(startPoint, midPoint) / (2 * radius))) + + (2 * Math.Asin(Point.Distance(midPoint, endPoint) / (2 * radius))); /// - /// The start of the + /// The units this object was specified in. /// - public Point startPoint { get; set; } + public required string units { get; set; } - /// - /// Gets or sets the point at 0.5 length. - /// - public Point midPoint { get; set; } + /// + public Interval domain { get; set; } = new() { start = 0, end = 0 }; /// - /// The end of the + /// The length of the /// - public Point endPoint { get; set; } + public double length => radius * measure; /// - /// The units this object was specified in. + /// OBSOLETE - This is just here for backwards compatibility. /// - public string units { get; set; } - - /// - public Interval domain { get; set; } = new() { start = 0, end = 0 }; - - /// - public double length { get; set; } - - /// + [JsonIgnore, Obsolete("Area property does not belong on an arc", true)] public double area { get; set; } /// @@ -234,11 +94,16 @@ public bool TransformTo(Transform transform, out Arc transformed) midPoint.TransformTo(transform, out Point transformedMidpoint); endPoint.TransformTo(transform, out Point transformedEndPoint); plane.TransformTo(transform, out Plane pln); - var arc = new Arc(pln, transformedStartPoint, transformedEndPoint, angleRadians, units) - { - midPoint = transformedMidpoint, - domain = domain, - }; + Arc arc = + new() + { + startPoint = transformedStartPoint, + endPoint = transformedEndPoint, + midPoint = transformedMidpoint, + plane = pln, + domain = domain, + units = units, + }; transformed = arc; return true; } @@ -259,13 +124,12 @@ public bool TransformTo(Transform transform, out ITransformable transformed) public List ToList() { var list = new List(); - list.Add(radius ?? 0); - list.Add(startAngle ?? 0); - list.Add(endAngle ?? 0); - list.Add(angleRadians); + list.Add(radius); + list.Add(0); // Backwards compatibility: start angle + list.Add(0); // Backwards compatibility: end angle + list.Add(measure); list.Add(domain?.start ?? 0); list.Add(domain?.end ?? 0); - list.AddRange(plane.ToList()); list.AddRange(startPoint.ToList()); list.AddRange(midPoint.ToList()); @@ -285,21 +149,19 @@ public List ToList() /// A new with the values assigned from the list. public static Arc FromList(List list) { - var arc = new Arc - { - radius = list[2], - startAngle = list[3], - endAngle = list[4], - angleRadians = list[5], - domain = new Interval { start = list[6], end = list[7] }, - units = Units.GetUnitFromEncoding(list[^1]), - plane = Plane.FromList(list.GetRange(8, 13)), - }; - arc.startPoint = Point.FromList(list.GetRange(21, 3), arc.units); - arc.midPoint = Point.FromList(list.GetRange(24, 3), arc.units); - arc.endPoint = Point.FromList(list.GetRange(27, 3), arc.units); - arc.plane.units = arc.units; + string units = Units.GetUnitFromEncoding(list[^1]); + Arc arc = + new() + { + domain = new Interval { start = list[6], end = list[7] }, + units = units, + plane = Plane.FromList(list.GetRange(8, 13)), + startPoint = Point.FromList(list.GetRange(21, 3), units), + midPoint = Point.FromList(list.GetRange(24, 3), units), + endPoint = Point.FromList(list.GetRange(27, 3), units), + }; + arc.plane.units = arc.units; return arc; } } diff --git a/src/Speckle.Objects/Geometry/Autocad/AutocadPolycurve.cs b/src/Speckle.Objects/Geometry/Autocad/AutocadPolycurve.cs index 7258dfd1..e2de3eed 100644 --- a/src/Speckle.Objects/Geometry/Autocad/AutocadPolycurve.cs +++ b/src/Speckle.Objects/Geometry/Autocad/AutocadPolycurve.cs @@ -14,11 +14,6 @@ namespace Speckle.Objects.Geometry.Autocad; [SpeckleType("Objects.Geometry.Autocad.AutocadPolycurve")] public class AutocadPolycurve : Polycurve { - /// - /// Constructs a new empty instance. - /// - public AutocadPolycurve() { } - /// /// Gets or sets the raw coordinates of the vertices. /// @@ -27,7 +22,7 @@ public AutocadPolycurve() { } /// For Polyline2d and Polyline3d types, these are xyz coordinates in the Global Coordinate System. fml. /// [DetachProperty, Chunkable(31250)] - public List value { get; set; } = new(); + public required List value { get; set; } /// /// The bulge factor at each vertex. Should be null for Polyline3d. @@ -38,24 +33,24 @@ public AutocadPolycurve() { } /// made negative if the arc goes clockwise from the start point to the endpoint. /// A bulge of 0 indicates a straight segment, and a bulge of 1 is a semicircle. /// - public List? bulges { get; set; } + public required List? bulges { get; set; } /// /// The tangent in radians at each vertex. Should be null for Polyline and Polyline3d. /// - public List? tangents { get; set; } + public required List? tangents { get; set; } /// /// The normal of the plane of the Autocad Polyline or Polyline2d. Should be null for Polyline3d. /// - public Vector? normal { get; set; } + public required Vector? normal { get; set; } /// /// The distance from the plane to the origin of the Autocad Polyline or Polyline2d. Should be null for Polyline3d. /// public double? elevation { get; set; } - public AutocadPolyType polyType { get; set; } + public required AutocadPolyType polyType { get; set; } } /// diff --git a/src/Speckle.Objects/Geometry/Box.cs b/src/Speckle.Objects/Geometry/Box.cs index f2af8df1..ea91cce6 100644 --- a/src/Speckle.Objects/Geometry/Box.cs +++ b/src/Speckle.Objects/Geometry/Box.cs @@ -1,3 +1,4 @@ +using Speckle.Newtonsoft.Json; using Speckle.Objects.Primitive; using Speckle.Sdk.Common; using Speckle.Sdk.Models; @@ -10,10 +11,17 @@ namespace Speckle.Objects.Geometry; [SpeckleType("Objects.Geometry.Box")] public class Box : Base, IHasVolume, IHasArea, IHasBoundingBox { + [JsonIgnore, Obsolete("Use plane property instead", true)] + public Plane basePlane + { + get => plane; + set => plane = value; + } + /// /// Gets or sets the plane that defines the orientation of the /// - public required Plane basePlane { get; set; } + public required Plane plane { get; set; } /// /// Gets or sets the that defines the min and max coordinate in the X direction @@ -39,11 +47,11 @@ public class Box : Base, IHasVolume, IHasArea, IHasBoundingBox public required string units { get; set; } /// - public double area { get; set; } + public double area => 2 * (xSize.Length * ySize.Length + xSize.Length * zSize.Length + ySize.Length * zSize.Length); - /// + [JsonIgnore, Obsolete("Boxs should not have a bounding box", true)] public Box? bbox { get; } /// - public double volume { get; set; } + public double volume => xSize.Length * ySize.Length * zSize.Length; } diff --git a/src/Speckle.Objects/Geometry/Circle.cs b/src/Speckle.Objects/Geometry/Circle.cs index 424b01fa..38f0160a 100644 --- a/src/Speckle.Objects/Geometry/Circle.cs +++ b/src/Speckle.Objects/Geometry/Circle.cs @@ -33,12 +33,12 @@ public class Circle : Base, ICurve, IHasArea, IHasBoundingBox public Interval domain { get; set; } = Interval.UnitInterval; /// - public double length { get; set; } + public double length => 2 * Math.PI * radius; //public Point center { get; set; } /// - public double area { get; set; } + public double area => Math.PI * radius * radius; /// public Box? bbox { get; set; } diff --git a/src/Speckle.Objects/Geometry/Extrusion.cs b/src/Speckle.Objects/Geometry/Extrusion.cs deleted file mode 100644 index 5dd2c617..00000000 --- a/src/Speckle.Objects/Geometry/Extrusion.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System.Diagnostics.CodeAnalysis; -using Speckle.Sdk.Common; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Geometry; - -[Obsolete("Unused")] -[SpeckleType("Objects.Geometry.Extrusion")] -[SuppressMessage("Design", "CA1051:Do not declare visible instance fields", Justification = "Obsolete")] -public class Extrusion : Base, IHasVolume, IHasArea, IHasBoundingBox -{ - [SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "Obsolete")] - public double? length; - - public Extrusion() { } - - public Extrusion(Base profile, double length, bool capped, string units = Units.Meters, string? applicationId = null) - { - this.profile = profile; - this.length = length; - this.capped = capped; - this.applicationId = applicationId; - this.units = units; - } - - public bool? capped { get; set; } - public Base profile { get; set; } - public Point pathStart { get; set; } - public Point pathEnd { get; set; } - public Base pathCurve { get; set; } - public Base pathTangent { get; set; } - public List profiles { get; set; } - - public string units { get; set; } - - public double area { get; set; } - - public Box? bbox { get; set; } - public double volume { get; set; } -} diff --git a/src/Speckle.Objects/Geometry/Line.cs b/src/Speckle.Objects/Geometry/Line.cs index 74648685..2fe90022 100644 --- a/src/Speckle.Objects/Geometry/Line.cs +++ b/src/Speckle.Objects/Geometry/Line.cs @@ -30,7 +30,12 @@ public Line(IList coordinates, string units, string? applicationId = nul this.applicationId = applicationId; } - public double area { get; set; } + /// + /// OBSOLETE - This is just here for backwards compatibility. + /// You should not use this for anything. + /// + [JsonIgnore, Obsolete("Area should not be on the line class", true)] + public double area => 0; public required string units { get; set; } diff --git a/src/Speckle.Objects/Geometry/Plane.cs b/src/Speckle.Objects/Geometry/Plane.cs index 739df0e2..2da4b1bf 100644 --- a/src/Speckle.Objects/Geometry/Plane.cs +++ b/src/Speckle.Objects/Geometry/Plane.cs @@ -5,7 +5,7 @@ namespace Speckle.Objects.Geometry; /// -/// A 3-dimensional Plane consisting of an origin , and 3 as it's X, Y and Z axis. +/// A 3-dimensional Plane consisting of an origin , and 3 as its X, Y and Z axis. /// [SpeckleType("Objects.Geometry.Plane")] public class Plane : Base, ITransformable diff --git a/src/Speckle.Objects/Geometry/Pointcloud.cs b/src/Speckle.Objects/Geometry/Pointcloud.cs index 5e2f4da4..cd53a018 100644 --- a/src/Speckle.Objects/Geometry/Pointcloud.cs +++ b/src/Speckle.Objects/Geometry/Pointcloud.cs @@ -1,7 +1,6 @@ using Speckle.Objects.Other; using Speckle.Sdk; using Speckle.Sdk.Common; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; namespace Speckle.Objects.Geometry; @@ -17,22 +16,11 @@ public class Pointcloud : Base, IHasBoundingBox, ITransformable /// public Pointcloud() { } - /// Flat list of x,y,z coordinates - /// Optional list of colors - /// Optional list of sizes - [SchemaInfo(nameof(Pointcloud), "Create a point cloud object", "Objects", "Geometry")] - public Pointcloud(List points, List? colors = null, List? sizes = null) - { - this.points = points; - this.colors = colors ?? new(); - this.sizes = sizes ?? new(); - } - /// /// Gets or sets the list of points of this , stored as a flat list of coordinates [x1,y1,z1,x2,y2,...] /// [DetachProperty, Chunkable(31250)] - public List points { get; set; } = new(); + public required List points { get; set; } = new(); /// /// Gets or sets the list of colors of this 's points., stored as ARGB s. diff --git a/src/Speckle.Objects/Interfaces.cs b/src/Speckle.Objects/Interfaces.cs index 8610ad4c..04a78e5c 100644 --- a/src/Speckle.Objects/Interfaces.cs +++ b/src/Speckle.Objects/Interfaces.cs @@ -103,7 +103,7 @@ public interface IGisFeature : ISpeckleObject /// /// objects that represent conceptual / abstract / mathematically derived geometry /// can use to be used in case the object lacks a natively displayable form. -/// (e.g , , ) +/// (e.g , ) /// /// /// Type of display value. @@ -118,17 +118,4 @@ public interface IDisplayValue : ISpeckleObject /// T displayValue { get; } } - -/// -/// Represents a calculated object for civil disciplines -/// -public interface ICivilCalculatedObject : ISpeckleObject -{ - /// - /// for this calculated object. - /// - List codes { get; set; } -} - - #endregion diff --git a/src/Speckle.Objects/Organization/DataTable.cs b/src/Speckle.Objects/Organization/DataTable.cs deleted file mode 100644 index e79a6d92..00000000 --- a/src/Speckle.Objects/Organization/DataTable.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Organization; - -[SpeckleType("Objects.Organization.DataTable")] -public class DataTable : Base -{ - public DataTable() { } - - public int columnCount => columnMetadata.Count; - public int rowCount => rowMetadata.Count; - public int headerRowIndex { get; set; } - public string name { get; set; } - public List rowMetadata { get; set; } = new List(); - public List columnMetadata { get; set; } = new List(); - public List> data { get; set; } = new List>(); - - public void AddRow(Base metadata, int index = -1, params object[] objects) - { - if (objects.Length != columnCount) - { - throw new ArgumentException( - $"\"AddRow\" method was passed {objects.Length} objects, but the DataTable has {columnCount} columns. Partial and extended table rows are not accepted by the DataTable object." - ); - } - - if (index < 0 || index >= data.Count) - { - data.Add(objects.ToList()); - rowMetadata.Add(metadata); - } - else - { - data.Insert(index, objects.ToList()); - rowMetadata.Insert(index, metadata); - } - } - - public void DefineColumn(Base metadata) - { - columnMetadata.Add(metadata); - } -} diff --git a/src/Speckle.Objects/Organization/Model.cs b/src/Speckle.Objects/Organization/Model.cs deleted file mode 100644 index 5bdf6bb0..00000000 --- a/src/Speckle.Objects/Organization/Model.cs +++ /dev/null @@ -1,73 +0,0 @@ -using Speckle.Objects.Other; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Organization; - -/// -/// Basic model info class -/// It contains general information about the model and can be extended or subclassed to include more application-specific -/// information. -/// -[SpeckleType("Objects.Organization.ModelInfo")] -public class ModelInfo : Base -{ - /// - /// The name of the model. - /// - public string name { get; set; } - - /// - /// The identifying number of the model. - /// - public string number { get; set; } - - // TODO: not sure about adding a typed `elements` list here? prob should let ppl add whatever named categories here? -} - -// TODO: not quite sure about this name? -/// -/// Extended to contain additional properties applicable to AEC projects. -/// -[SpeckleType("Objects.Organization.BIMModelInfo")] -public class BIMModelInfo : ModelInfo -{ - /// - /// The name of the client - /// - public string clientName { get; set; } - - /// - /// The name of the building - /// - public string buildingName { get; set; } - - /// - /// The status or phase of the model. - /// - public string status { get; set; } - - /// - /// The address of the model. - /// - public string address { get; set; } - - /// - /// The name of the site location as a string. - /// - public string siteName { get; set; } - - /// - /// The latitude of the site location in radians. - /// - public double latitude { get; set; } - - /// - /// The longitude of the site location in radians. - /// - public double longitude { get; set; } - - /// - /// A list of origin locations within this model as a list of s - /// - public List locations { get; set; } -} diff --git a/src/Speckle.Objects/Other/Block.cs b/src/Speckle.Objects/Other/Block.cs deleted file mode 100644 index 135654ae..00000000 --- a/src/Speckle.Objects/Other/Block.cs +++ /dev/null @@ -1,53 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Common; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; -using Speckle.Sdk.Models.Instances; - -namespace Speckle.Objects.Other; - -/// -/// Block definition class -/// -[SpeckleType("Objects.Other.BlockDefinition")] -[Obsolete($"See {nameof(InstanceDefinitionProxy)}")] -public class BlockDefinition : Base -{ - public BlockDefinition() { } - - [SchemaInfo("Block Definition", "A Speckle Block definition")] - public BlockDefinition(string name, List geometry, Point? basePoint = null) - { - this.name = name; - this.basePoint = basePoint ?? new(0, 0, 0, Units.None); - this.geometry = geometry; - } - - public string name { get; set; } - - /// - /// The definition base point of the block - /// - public Point basePoint { get; set; } = new(0, 0, 0, Units.None); - - [DetachProperty] - public List geometry { get; set; } - - public string units { get; set; } = Units.None; - - /// - /// Returns the translation transform of the base point to the internal origin [0,0,0] - /// - /// - public Transform GetBasePointTransform() - { - var translation = new Vector(-basePoint.x, -basePoint.y, -basePoint.z, basePoint.units ?? Units.None); - var transform = new Transform( - new Vector(1, 0, 0, Units.None), - new Vector(0, 1, 0, Units.None), - new Vector(1, 0, 0, Units.None), - translation - ); - return transform; - } -} diff --git a/src/Speckle.Objects/Other/Civil/CivilDataField.cs b/src/Speckle.Objects/Other/Civil/CivilDataField.cs deleted file mode 100644 index 706b79df..00000000 --- a/src/Speckle.Objects/Other/Civil/CivilDataField.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Other.Civil; - -[SpeckleType("Objects.Other.Civil.CivilDataField")] -public class CivilDataField : DataField -{ - public CivilDataField() { } - - public CivilDataField( - string name, - string type, - object? value, - string? units = null, - string? context = null, - string? displayName = null - ) - { - this.name = name; - this.type = type; - this.value = value; - this.units = units; - this.context = context; - this.displayName = displayName; - } - - /// - /// The context type of the Civil3D part - /// - public string? context { get; set; } - - public string? displayName { get; set; } -} diff --git a/src/Speckle.Objects/Other/DataField.cs b/src/Speckle.Objects/Other/DataField.cs deleted file mode 100644 index ed55d821..00000000 --- a/src/Speckle.Objects/Other/DataField.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Other; - -/// -/// Generic class for a data field -/// -[SpeckleType("Objects.Other.DataField")] -public class DataField : Base -{ - public DataField() { } - - public DataField(string name, string type, object? value, string? units = null) - { - this.name = name; - this.type = type; - this.value = value; - this.units = units; - } - - public string name { get; set; } - - public string type { get; set; } - - public object? value { get; set; } - - public string? units { get; set; } -} diff --git a/src/Speckle.Objects/Other/Dimension.cs b/src/Speckle.Objects/Other/Dimension.cs deleted file mode 100644 index b5b2f5e3..00000000 --- a/src/Speckle.Objects/Other/Dimension.cs +++ /dev/null @@ -1,100 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Other; - -/// -/// Dimension class -/// -[SpeckleType("Objects.Other.Dimension")] -public class Dimension : Base, IDisplayValue> -{ - /// - /// The measurement of the dimension. - /// - public double measurement { get; set; } - - /// - /// The text of the dimension, without any formatting - /// - public string value { get; set; } - - /// - /// The text of the dimension, with rtf formatting - /// - public string richText { get; set; } - - /// - /// The position of the dimension - /// - public Point position { get; set; } - - /// - /// The position of the text of the dimension - /// - public Point textPosition { get; set; } - - public string units { get; set; } - - /// - /// Curves representing the annotation - /// - public List displayValue { get; set; } = new(); -} - -/// -/// Dimension class measuring a distance -/// -[SpeckleType("Objects.Other.DistanceDimension")] -public class DistanceDimension : Dimension -{ - /// - /// The unitized normal of the dimension. - /// - public Vector direction { get; set; } - - /// - /// Indicates if this dimension is an ordinate dimension - /// - /// Ordinate dimensions (measuring distance between two points exclusively along the x or y axis) - /// are in practice drawn with different conventions than linear dimensions, and are treated as a special subset of them. - public bool isOrdinate { get; set; } - - /// - /// The objects being measured. - /// - /// - /// Distance measurements are between two points - /// - public List measured { get; set; } -} - -/// -/// Dimension class measuring a length -/// -[SpeckleType("Objects.Other.LengthDimension")] -public class LengthDimension : Dimension -{ - /// - /// The objects being measured. - /// - /// - /// For length dimensions, this is a curve - /// - public ICurve measured { get; set; } -} - -/// -/// Dimension class measuring an angle -/// -[SpeckleType("Objects.Other.AngleDimension")] -public class AngleDimension : Dimension -{ - /// - /// The objects being measured. - /// - /// - /// For angle dimensions, this is two lines - /// - public List measured { get; set; } -} diff --git a/src/Speckle.Objects/Other/DisplayStyle.cs b/src/Speckle.Objects/Other/DisplayStyle.cs deleted file mode 100644 index c285b683..00000000 --- a/src/Speckle.Objects/Other/DisplayStyle.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Drawing; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Other; - -/// -/// Minimal display style class. Developed primarily for display styles in Rhino and AutoCAD. -/// Rhino object attributes uses OpenNURBS definition for linetypes and lineweights -/// -[SpeckleType("Objects.Other.DisplayStyle")] -public class DisplayStyle : Base -{ - public string name { get; set; } - public int color { get; set; } = Color.LightGray.ToArgb(); // opacity assumed from a value - public string linetype { get; set; } - - /// - /// The plot weight in the style units - /// - /// A value of 0 indicates a default weight, and -1 indicates an invisible line - public double lineweight { get; set; } - - public string units { get; set; } -} diff --git a/src/Speckle.Objects/Other/Hatch.cs b/src/Speckle.Objects/Other/Hatch.cs deleted file mode 100644 index 8426ef5d..00000000 --- a/src/Speckle.Objects/Other/Hatch.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Other; - -[SpeckleType("Objects.Other.Hatch")] -public class Hatch : Base -{ - [Obsolete("Use Loops instead")] - public List curves { get; set; } - - public List loops { get; set; } - public string pattern { get; set; } - public double scale { get; set; } = 1; - public double rotation { get; set; } // relative angle -} - -/// -/// Represents a Hatch Loop from a 's curve. -/// -[SpeckleType("Objects.Other.HatchLoop")] -public class HatchLoop : Base -{ - public HatchLoop() { } - - public HatchLoop(ICurve curve, HatchLoopType type) - { - Curve = curve; - Type = type; - } - - public ICurve Curve { get; set; } - public HatchLoopType Type { get; set; } -} - -/// -/// Represents the type of a loop in a 's curves. -/// -public enum HatchLoopType -{ - Unknown, - Outer, - Inner, -} diff --git a/src/Speckle.Objects/Other/Instance.cs b/src/Speckle.Objects/Other/Instance.cs deleted file mode 100644 index 31dca63a..00000000 --- a/src/Speckle.Objects/Other/Instance.cs +++ /dev/null @@ -1,163 +0,0 @@ -using Speckle.Newtonsoft.Json; -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; -using Speckle.Sdk.Models.GraphTraversal; - -namespace Speckle.Objects.Other; - -public abstract class Instance : Base -{ - protected Instance(Transform transform) - { - this.transform = transform ?? new Transform(); - } - - protected Instance() { } - - /// - /// The column-dominant 4x4 transform of this instance. - /// - /// - /// Indicates transform from internal origin [0,0,0] - /// - public Transform transform { get; set; } - - public abstract Base definition { get; internal set; } - - /// - /// The units of this Instance, should be the same as the instance transform units - /// - public string units { get; set; } - - // helper method that scans an Instance for all transformable geometry and nested instances - protected virtual IEnumerable GetTransformableGeometry() - { - var displayValueRule = TraversalRule - .NewTraversalRule() - .When(DefaultTraversal.HasDisplayValue) - .ContinueTraversing(_ => DefaultTraversal.DisplayValueAndElementsPropAliases); - - var instanceRule = TraversalRule - .NewTraversalRule() - .When(b => b is Instance instance && instance != null) - .ContinueTraversing(DefaultTraversal.None); - - var traversal = new GraphTraversal(instanceRule, displayValueRule, DefaultTraversal.DefaultRule); - - return traversal - .Traverse(definition) - .Select(tc => tc.Current) - .Where(b => b is ITransformable || b is Instance) - .Where(b => b != null); - } - - [SchemaComputed("transformedGeometry")] - public virtual IEnumerable GetTransformedGeometry() - { - return GetTransformableGeometry() - .SelectMany(b => - { - switch (b) - { - case Instance i: - return i.GetTransformedGeometry() - .Select(b => - { - b.TransformTo(transform, out var tranformed); - return tranformed; - }); - case ITransformable bt: - var res = bt.TransformTo(transform, out var transformed); - return res ? new List { transformed } : new(); - default: - return new List(); - } - }) - .Where(b => b != null); - } -} - -/// -/// Generic instance class -/// -public abstract class Instance : Instance - where T : Base -{ - protected Instance(T definition, Transform transform) - : base(transform) - { - typedDefinition = definition; - } - - protected Instance() - : base(new Transform()) { } - - [JsonIgnore] - public T typedDefinition { get; set; } - - [DetachProperty] - public override Base definition - { - get => typedDefinition; - internal set - { - if (value is T type) - { - typedDefinition = type; - } - } - } -} - -/// -/// Block instance class -/// -[SpeckleType("Objects.Other.BlockInstance")] -public class BlockInstance : Instance -{ - public BlockInstance() { } - - [SchemaInfo("Block Instance", "A Speckle Block Instance")] - public BlockInstance(BlockDefinition blockDefinition, Transform transform) - : base(blockDefinition, transform) - { - // OLD: TODO: need to verify - // Add base translation to transform. This assumes the transform is based on the world origin, - // whereas the instance transform assumes it contains the basePoint translation already. - //this.transform = transform * blockDefinition.GetBasePointTransform(); - } - - [DetachProperty, Obsolete("Use definition property", true), JsonIgnore] - public BlockDefinition blockDefinition - { - get => typedDefinition; - set => typedDefinition = value; - } - - protected override IEnumerable GetTransformableGeometry() - { - return typedDefinition.geometry; - } - - /// - /// Returns a plane representing the insertion point and orientation of this Block instance. - /// - /// This method will skip scaling. If you need scaling, we recommend using the transform instead. - /// A Plane on the insertion point of this Block Instance, with the correct 3-axis rotations. - [SchemaComputed("insertionPlane")] - public Plane GetInsertionPlane() - { - // TODO: UPDATE! - var plane = new Plane() - { - origin = typedDefinition.basePoint ?? new Point(0, 0, 0, units), - normal = new Vector(0, 0, 1, units), - xdir = new Vector(1, 0, 0, units), - ydir = new Vector(0, 1, 0, units), - units = units, - }; - plane.TransformTo(transform, out Plane tPlane); - return tPlane; - } -} diff --git a/src/Speckle.Objects/Other/MappedBlockWrapper.cs b/src/Speckle.Objects/Other/MappedBlockWrapper.cs deleted file mode 100644 index 26a47d21..00000000 --- a/src/Speckle.Objects/Other/MappedBlockWrapper.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Speckle.Objects.BuiltElements.Revit; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Other; - -[SpeckleType("Objects.Other.MappedBlockWrapper")] -public class MappedBlockWrapper : Base -{ - public string category { get; set; } = RevitCategory.GenericModel.ToString(); - public string? nameOverride { get; set; } - public BlockInstance instance { get; set; } - - public MappedBlockWrapper() { } - - public MappedBlockWrapper(BlockInstance instance, RevitCategory category) - { - this.instance = instance; - this.category = category.ToString(); - } -} diff --git a/src/Speckle.Objects/Other/Material.cs b/src/Speckle.Objects/Other/Material.cs deleted file mode 100644 index de98844a..00000000 --- a/src/Speckle.Objects/Other/Material.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Other; - -/// -/// Generic class for materials containing generic parameters -/// -[SpeckleType("Objects.Other.Material")] -public class Material : Base -{ - public Material() { } - - [SchemaInfo("RevitMaterial", "Creates a Speckle material", "BIM", "Architecture")] - public Material(string name) - { - this.name = name; - } - - public string name { get; set; } -} diff --git a/src/Speckle.Objects/Other/MaterialQuantity.cs b/src/Speckle.Objects/Other/MaterialQuantity.cs deleted file mode 100644 index 900468f7..00000000 --- a/src/Speckle.Objects/Other/MaterialQuantity.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Other; - -[SpeckleType("Objects.Other.MaterialQuantity")] -public class MaterialQuantity : Base -{ - public MaterialQuantity() { } - - [SchemaInfo("MaterialQuantity", "Creates the quantity of a material")] - public MaterialQuantity(Material m, double volume, double area, string units) - { - material = m; - this.volume = volume; - this.area = area; - this.units = units; - } - - [DetachProperty] - public Material material { get; set; } - - public double volume { get; set; } - - /// - /// Area of the material on a element - /// - public double area { get; set; } - - /// - /// UnitMeasure of the quantity,e.g meters implies squaremeters for area and cubicmeters for the volume - /// - public string units { get; set; } -} diff --git a/src/Speckle.Objects/Other/RenderMaterial.cs b/src/Speckle.Objects/Other/RenderMaterial.cs index 2bfd6a46..b114399a 100644 --- a/src/Speckle.Objects/Other/RenderMaterial.cs +++ b/src/Speckle.Objects/Other/RenderMaterial.cs @@ -1,6 +1,5 @@ using System.Drawing; using Speckle.Newtonsoft.Json; -using Speckle.Sdk.Host; using Speckle.Sdk.Models; using Speckle.Sdk.Models.Proxies; @@ -17,33 +16,13 @@ namespace Speckle.Objects.Other; [SpeckleType("Objects.Other.RenderMaterial")] public class RenderMaterial : Base { - public RenderMaterial() { } - - [SchemaInfo("RenderMaterial", "Creates a render material.", "BIM", "Other")] - public RenderMaterial( - double opacity = 1, - double metalness = 0, - double roughness = 1, - Color? diffuse = null, - Color? emissive = null - ) - { - this.opacity = opacity; - this.metalness = metalness; - this.roughness = roughness; - this.diffuse = diffuse.HasValue ? diffuse.Value.ToArgb() : Color.LightGray.ToArgb(); - this.emissive = emissive.HasValue ? emissive.Value.ToArgb() : Color.Black.ToArgb(); - } - - public string name { get; set; } + public required string name { get; set; } public double opacity { get; set; } = 1; public double metalness { get; set; } public double roughness { get; set; } = 1; - [SchemaIgnore] - public int diffuse { get; set; } = Color.LightGray.ToArgb(); + public required int diffuse { get; set; } = Color.LightGray.ToArgb(); - [SchemaIgnore] public int emissive { get; set; } = Color.Black.ToArgb(); [JsonIgnore] diff --git a/src/Speckle.Objects/Other/Revit/RevitInstance.cs b/src/Speckle.Objects/Other/Revit/RevitInstance.cs deleted file mode 100644 index c05d45a7..00000000 --- a/src/Speckle.Objects/Other/Revit/RevitInstance.cs +++ /dev/null @@ -1,71 +0,0 @@ -using Speckle.Objects.BuiltElements; -using Speckle.Objects.BuiltElements.Revit; -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Other.Revit; - -[SpeckleType("Objects.Other.Revit.RevitInstance")] -public class RevitInstance : Instance -{ - [DetachProperty] - public Level level { get; set; } - public bool facingFlipped { get; set; } - public bool handFlipped { get; set; } - public bool mirrored { get; set; } - public Base parameters { get; set; } - public string elementId { get; set; } - - protected override IEnumerable GetTransformableGeometry() - { - var allChildren = typedDefinition.elements ?? new List(); // TODO: this is a bug, should be copying elements list instead of using the reference - if (typedDefinition.displayValue.Count != 0) - { - allChildren.AddRange(typedDefinition.displayValue); - } - - return allChildren; - } - - [SchemaComputed("transformedGeometry")] - public override IEnumerable GetTransformedGeometry() - { - var transformed = base.GetTransformedGeometry().ToList(); - - // add any dynamically attached elements on this instance - if ((this["elements"] ?? this["@elements"]) is List elements) - { - foreach (var element in elements) - { - if (((Base)element)["displayValue"] is List display) - { - transformed.AddRange(display.Cast()); - } - } - } - - return transformed; - } - - /// - /// Returns a plane representing the insertion point and orientation of this revit instance. - /// - /// This method will skip scaling. If you need scaling, we recommend using the transform instead. - /// A Plane on the insertion point of this Block Instance, with the correct 3-axis rotations. - [SchemaComputed("insertionPlane")] - public Plane GetInsertionPlane() - { - // TODO: Check for Revit in GH/DYN - var plane = new Plane() - { - origin = new Point(0, 0, 0, units), - normal = new Vector(0, 0, 1, units), - xdir = new Vector(1, 0, 0, units), - ydir = new Vector(0, 1, 0, units), - units = units, - }; - plane.TransformTo(transform, out Plane tPlane); - return tPlane; - } -} diff --git a/src/Speckle.Objects/Other/Revit/RevitMaterial.cs b/src/Speckle.Objects/Other/Revit/RevitMaterial.cs deleted file mode 100644 index e8d120b8..00000000 --- a/src/Speckle.Objects/Other/Revit/RevitMaterial.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Speckle.Objects.BuiltElements.Revit; -using Speckle.Objects.Utils; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Other.Revit; - -/// -/// Material in Revit defininf all revit properties from Autodesk.Revit.DB.Material -/// -[SpeckleType("Objects.Other.Revit.RevitMaterial")] -public class RevitMaterial : Material -{ - public RevitMaterial() { } - - [SchemaInfo("RevitMaterial", "Creates a Speckle material", "Revit", "Architecture")] - public RevitMaterial( - string name, - string category, - string materialclass, - int shiny, - int smooth, - int transparent, - List? parameters = null - ) - { - this.parameters = parameters?.ToBase(); - this.name = name; - materialCategory = category; - materialClass = materialclass; - shininess = shiny; - smoothness = smooth; - transparency = transparent; - } - - public string materialCategory { get; set; } - public string materialClass { get; set; } - - public int shininess { get; set; } - public int smoothness { get; set; } - public int transparency { get; set; } - - public Base? parameters { get; set; } -} diff --git a/src/Speckle.Objects/Other/Text.cs b/src/Speckle.Objects/Other/Text.cs deleted file mode 100644 index efeb4c24..00000000 --- a/src/Speckle.Objects/Other/Text.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Other; - -/// -/// Text class for Rhino and AutoCAD -/// -[SpeckleType("Objects.Other.Text")] -public class Text : Base, IDisplayValue> -{ - public required Plane plane { get; set; } // origin should be center - public double rotation { get; set; } // using radians - public required string value { get; set; } // text without RTF - public string? richText { get; set; } - public double height { get; set; } - public required string units { get; set; } - public required List displayValue { get; set; } -} diff --git a/src/Speckle.Objects/Other/Transform.cs b/src/Speckle.Objects/Other/Transform.cs index 45180498..327118c0 100644 --- a/src/Speckle.Objects/Other/Transform.cs +++ b/src/Speckle.Objects/Other/Transform.cs @@ -1,10 +1,6 @@ using Speckle.DoubleNumerics; -using Speckle.Newtonsoft.Json; -using Speckle.Objects.Geometry; -using Speckle.Sdk; using Speckle.Sdk.Common; using Speckle.Sdk.Models; -using Vector = Speckle.Objects.Geometry.Vector; namespace Speckle.Objects.Other; @@ -14,86 +10,6 @@ namespace Speckle.Objects.Other; [SpeckleType("Objects.Other.Transform")] public class Transform : Base { - public Transform() { } - - /// - /// Construct a transform from a row-based double array of size 16 - /// - /// - /// - /// - public Transform(double[] value, string units = Units.None) - { - if (value.Length != 16) - { - throw new ArgumentException( - $"{nameof(Transform)}.{nameof(value)} array is malformed: expected length to be 16", - nameof(value) - ); - } - - matrix = CreateMatrix(value); - this.units = units; - } - - /// - /// Construct a transform from a row-based float array of size 16 - /// - /// - /// - /// - public Transform(float[] value, string units = Units.None) - { - if (value.Length != 16) - { - throw new SpeckleException($"{nameof(Transform)}.{nameof(value)} array is malformed: expected length to be 16"); - } - - matrix = CreateMatrix(value); - this.units = units; - } - - /// - /// Construct a transform from a 4x4 matrix and translation units - /// - /// - /// - public Transform(Matrix4x4 matrix, string units = Units.None) - { - this.matrix = matrix; - this.units = units; - } - - /// - /// Construct a transform given the x, y, and z bases and the translation vector - /// - /// - /// - /// - /// - public Transform(Vector x, Vector y, Vector z, Vector translation) - { - matrix = new Matrix4x4( - x.x, - y.x, - z.x, - translation.x, - x.y, - y.y, - z.y, - translation.y, - x.z, - y.z, - z.z, - translation.z, - 0f, - 0f, - 0f, - 1f - ); - units = translation.units; - } - /// /// The column-based 4x4 transform matrix /// @@ -101,87 +17,12 @@ public Transform(Vector x, Vector y, Vector z, Vector translation) /// Graphics based apps typically use column-based matrices, where the last column defines translation. /// Modelling apps may use row-based matrices, where the last row defines translation. Transpose if so. /// - public Matrix4x4 matrix { get; set; } = Matrix4x4.Identity; + public required Matrix4x4 matrix { get; set; } = Matrix4x4.Identity; /// /// Units for translation /// - public string units { get; set; } = Units.None; - - /// - /// Decomposes matrix into its scaling, rotation, and translation components - /// - /// - /// - /// - /// True if successful, false otherwise - public void Decompose(out Vector3 scale, out Quaternion rotation, out Vector4 translation) - { - // translation - translation = new Vector4(matrix.M14, matrix.M24, matrix.M34, matrix.M44); - - // scale - // this should account for non-uniform scaling - Vector4 basis4dX = new(matrix.M11, matrix.M21, matrix.M31, matrix.M41); - Vector4 basis4dY = new(matrix.M12, matrix.M22, matrix.M32, matrix.M42); - Vector4 basis4dZ = new(matrix.M13, matrix.M23, matrix.M33, matrix.M43); - - // Check for mirroring - Vector3 basisX = new(matrix.M11, matrix.M21, matrix.M31); - Vector3 basisY = new(matrix.M12, matrix.M22, matrix.M32); - Vector3 basisZ = new(matrix.M13, matrix.M23, matrix.M33); - // Negative determinant means flip on Z. - // TODO: Add tests and figure out exactly why this is. Jedd and myself have some theories but it would be nice to document this properly - double determinant = Vector3.Dot(Vector3.Cross(basisX, basisY), basisZ) < 0 ? -1 : 1; - - // Compute the scale, but only multiply the Z scale by the determinant to flag negative scaling on Z axis (see todo above) - scale = new Vector3(basis4dX.Length(), basis4dY.Length(), basis4dZ.Length() * determinant); - - // rotation - // this is using a z-up convention for basis vectors - var up = new Vector3(matrix.M13, matrix.M23, matrix.M33); - var forward = new Vector3(matrix.M12, matrix.M22, matrix.M32); - rotation = LookRotation(forward, up); - } - - private static Quaternion LookRotation(Vector3 forward, Vector3 up) - { - Vector3 vector = new(forward.X / forward.Length(), forward.Y / forward.Length(), forward.Z / forward.Length()); - Vector3 vector2 = Vector3.Cross(up, forward); - Vector3 vector3 = Vector3.Cross(vector, vector2); - var m00 = vector2.X; - var m01 = vector2.Y; - var m02 = vector2.Z; - var m10 = vector3.X; - var m11 = vector3.Y; - var m12 = vector3.Z; - var m20 = vector.X; - var m21 = vector.Y; - var m22 = vector.Z; - - var num8 = m00 + m11 + m22; - if (num8 > 0d) - { - var num = Math.Sqrt(num8 + 1d); - num = 0.5d / num; - return new Quaternion((m12 - m21) * num, (m20 - m02) * num, (m01 - m10) * num, num * 0.5d); - } - if (m00 >= m11 && m00 >= m22) - { - var num7 = Math.Sqrt(1d + m00 - m11 - m22); - var num4 = 0.5d / num7; - return new Quaternion(0.5d * num7, (m01 + m10) * num4, (m02 + m20) * num4, (m12 - m21) * num4); - } - if (m11 > m22) - { - var num6 = Math.Sqrt(1d + m11 - m00 - m22); - var num3 = 0.5d / num6; - return new Quaternion((m10 + m01) * num3, 0.5d * num6, (m21 + m12) * num3, (m20 - m02) * num3); - } - var num5 = Math.Sqrt(1d + m22 - m00 - m11); - var num2 = 0.5d / num5; - return new Quaternion((m20 + m02) * num2, (m21 + m12) * num2, 0.5d * num5, (m01 - m10) * num2); - } + public required string units { get; set; } /// /// Converts this transform to the input units @@ -219,55 +60,6 @@ public double[] ConvertToUnits(string newUnits) }; } - public Transform Inverse() - { - if (Matrix4x4.Invert(matrix, out var transformed)) - { - return new Transform(transformed); - } - throw new SpeckleException("Could not create inverse transform"); - } - - /// - /// Returns the matrix that results from multiplying two matrices together. - /// - /// The first transform - /// The second transform - /// A transform matrix with the units of the first transform - public static Transform operator *(Transform t1, Transform t2) - { - var convertedTransform = CreateMatrix(t2.ConvertToUnits(t1.units)); - var newMatrix = t1.matrix * convertedTransform; - return new Transform(newMatrix, t1.units); - } - - /// - /// Returns the double array of the transform matrix - /// - /// - public double[] ToArray() - { - return new double[] - { - matrix.M11, - matrix.M12, - matrix.M13, - matrix.M14, - matrix.M21, - matrix.M22, - matrix.M23, - matrix.M24, - matrix.M31, - matrix.M32, - matrix.M33, - matrix.M34, - matrix.M41, - matrix.M42, - matrix.M43, - matrix.M44, - }; - } - // Creates a matrix4x4 from a double array internal static Matrix4x4 CreateMatrix(double[] value) { @@ -314,72 +106,30 @@ internal static Matrix4x4 CreateMatrix(float[] value) ); } - #region obsolete - - [JsonIgnore, Obsolete("Use the matrix property", true)] - [System.Diagnostics.CodeAnalysis.SuppressMessage( - "Performance", - "CA1819:Properties should not return arrays", - Justification = "Obsolete" - )] - public double[] value - { - get => ToArray(); - set => matrix = CreateMatrix(value); - } - - [JsonIgnore, Obsolete("Use Decompose method", true)] - public double rotationZ + /// + /// Returns the double array of the transform matrix + /// + /// + public double[] ToArray() { - get + return new double[] { - Decompose(out _, out Quaternion rotation, out _); - return Math.Acos(rotation.W) * 2; - } + matrix.M11, + matrix.M12, + matrix.M13, + matrix.M14, + matrix.M21, + matrix.M22, + matrix.M23, + matrix.M24, + matrix.M31, + matrix.M32, + matrix.M33, + matrix.M34, + matrix.M41, + matrix.M42, + matrix.M43, + matrix.M44, + }; } - - /// - /// Transform a flat list of doubles representing points - /// - [Obsolete("Use transform method in Point class", true)] - public List ApplyToPoints(List points) => throw new NotImplementedException(); - - /// - /// Transform a flat list of speckle Points - /// - [Obsolete("Use transform method in Point class", true)] - public List ApplyToPoints(List points) => throw new NotImplementedException(); - - /// - /// Transform a single speckle Point - /// - [Obsolete("Use transform method in Point class", true)] - public Point? ApplyToPoint(Point point) => throw new NotImplementedException(); - - /// - /// Transform a list of three doubles representing a point - /// - [Obsolete("Use transform method in Point class", true)] - public List ApplyToPoint(List point) => throw new NotImplementedException(); - - /// - /// Transform a single speckle Vector - /// - [Obsolete("Use transform method in Vector class", true)] - public Vector ApplyToVector(Vector vector) => throw new NotImplementedException(); - - /// - /// Transform a list of three doubles representing a vector - /// - [Obsolete("Use transform method in Vector class", true)] - public List ApplyToVector(List vector) => throw new NotImplementedException(); - - /// - /// Transform a flat list of ICurves. Note that if any of the ICurves does not implement `ITransformable`, - /// it will not be returned. - /// - [Obsolete("Use transform method in Curve class", true)] - public List ApplyToCurves(List curves, out bool success) => throw new NotImplementedException(); - - #endregion } diff --git a/src/Speckle.Objects/Primitive/Interval2d.cs b/src/Speckle.Objects/Primitive/Interval2d.cs deleted file mode 100644 index 1cd42796..00000000 --- a/src/Speckle.Objects/Primitive/Interval2d.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Diagnostics.CodeAnalysis; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Primitive; - -[SpeckleType("Objects.Primitive.Interval2d")] -public class Interval2d : Base -{ - public Interval2d() { } - - [SetsRequiredMembers] - public Interval2d(double start_u, double end_u, double start_v, double end_v) - { - u = new Interval { start = start_u, end = end_u }; - v = new Interval { start = start_v, end = end_v }; - } - - public required Interval u { get; set; } - public required Interval v { get; set; } -} diff --git a/src/Speckle.Objects/Speckle.Objects.csproj b/src/Speckle.Objects/Speckle.Objects.csproj index 9c7c52e7..aeddfb0e 100644 --- a/src/Speckle.Objects/Speckle.Objects.csproj +++ b/src/Speckle.Objects/Speckle.Objects.csproj @@ -22,7 +22,7 @@ $(NoWarn); - IDE0060;CA1034;CA1819;CA1708;CA1008;CA2225;CA1024; + CA1819;CA1008;CA2225; diff --git a/src/Speckle.Objects/Structural/Analysis/Model.cs b/src/Speckle.Objects/Structural/Analysis/Model.cs deleted file mode 100644 index 89a4d80f..00000000 --- a/src/Speckle.Objects/Structural/Analysis/Model.cs +++ /dev/null @@ -1,63 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Analysis; - -[SpeckleType("Objects.Structural.Analysis.Model")] -public class Model : Base -{ - public Model() { } - - /// - /// SchemaBuilder constructor for a structural model object - /// - /// - /// - /// - /// - /// - /// - [SchemaInfo("Model", "Creates a Speckle structural model object", "Structural", "Analysis")] - public Model( - ModelInfo? specs = null, - List? nodes = null, - List? elements = null, - List? loads = null, - List? restraints = null, - List? properties = null, - List? materials = null - ) - { - this.specs = specs; - this.nodes = nodes; - this.elements = elements; - this.loads = loads; - this.restraints = restraints; - this.properties = properties; - this.materials = materials; - } - - public ModelInfo? specs { get; set; } //container for model and project specifications - - [DetachProperty, Chunkable(5000)] - public List? nodes { get; set; } //nodes list - - [DetachProperty, Chunkable(5000)] - public List? elements { get; set; } //element (or member) list - - [DetachProperty, Chunkable(5000)] - public List? loads { get; set; } //loads list - - [DetachProperty, Chunkable(5000)] - public List? restraints { get; set; } //supports list - - [DetachProperty, Chunkable(5000)] - public List? properties { get; set; } //properties list - - [DetachProperty, Chunkable(5000)] - public List? materials { get; set; } //materials list - - // add "other" - ex. assemblies, grid lines, grid planes, storeys etc? alignment/paths? - - public string? layerDescription { get; set; } //design layer, analysis layer -} diff --git a/src/Speckle.Objects/Structural/Analysis/ModelInfo.cs b/src/Speckle.Objects/Structural/Analysis/ModelInfo.cs deleted file mode 100644 index efe2990a..00000000 --- a/src/Speckle.Objects/Structural/Analysis/ModelInfo.cs +++ /dev/null @@ -1,53 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Analysis; - -[SpeckleType("Objects.Structural.Analysis.ModelInfo")] -public class ModelInfo : Base //titles -{ - public ModelInfo() { } - - /// - /// SchemaBuilder constructor for a model specifications (containing general model and project info) object - /// - /// - /// - /// - /// - /// - /// Initials that identify the creator of the model - /// - [SchemaInfo( - "ModelInfo", - "Creates a Speckle object which describes basic model and project information for a structural model", - "Structural", - "Analysis" - )] - public ModelInfo( - string? name = null, - string? description = null, - string? projectNumber = null, - string? projectName = null, - ModelSettings? settings = null, - string? engInitials = null, - string? application = null - ) - { - this.name = name; - this.description = description; - this.projectNumber = projectNumber; - this.projectName = projectName; - this.settings = settings; - initials = engInitials; - this.application = application; - } - - public string? name { get; set; } //title - public string? description { get; set; } //subtitle - public string? projectNumber { get; set; } //could a project info object be a potential upstream change, as addition to default Speckle Kit? - public string? projectName { get; set; } - public ModelSettings? settings { get; set; } - public string? initials { get; set; } //engineer initials - public string? application { get; set; } //ex. GSA, Tekla (reference Applications class?) -} diff --git a/src/Speckle.Objects/Structural/Analysis/ModelSettings.cs b/src/Speckle.Objects/Structural/Analysis/ModelSettings.cs deleted file mode 100644 index af18344a..00000000 --- a/src/Speckle.Objects/Structural/Analysis/ModelSettings.cs +++ /dev/null @@ -1,49 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Analysis; - -/// -/// Codes and standards references, model units, design settings, analysis settings, precision and tolerances -/// -[SpeckleType("Objects.Structural.Analysis.ModelSettings")] -public class ModelSettings : Base -{ - public ModelSettings() { } - - /// - /// SchemaBuilder constructor for a model settings object - /// - /// - /// - /// - /// - [SchemaInfo( - "ModelSettings", - "Creates a Speckle object which describes design and analysis settings for the structural model", - "Structural", - "Analysis" - )] - public ModelSettings( - ModelUnits? modelUnits = null, - string? steelCode = null, - string? concreteCode = null, - double coincidenceTolerance = 10 - ) - { - this.modelUnits = modelUnits ?? new ModelUnits(UnitsType.Metric); - this.steelCode = steelCode; - this.concreteCode = concreteCode; - this.coincidenceTolerance = coincidenceTolerance; - } - - /// - /// Units object containing units information for key structural model quantities - /// - [DetachProperty] - public ModelUnits modelUnits { get; set; } - - public string? steelCode { get; set; } //could be enum - public string? concreteCode { get; set; } //could be enum - public double coincidenceTolerance { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Analysis/ModelUnits.cs b/src/Speckle.Objects/Structural/Analysis/ModelUnits.cs deleted file mode 100644 index 05c24b8d..00000000 --- a/src/Speckle.Objects/Structural/Analysis/ModelUnits.cs +++ /dev/null @@ -1,108 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Analysis; - -[SpeckleType("Objects.Structural.Analysis.ModelUnits")] -public class ModelUnits : Base -{ - public ModelUnits() { } - - [SchemaInfo( - "ModelUnits", - "Creates a Speckle object which specifies the units associated with the model", - "Structural", - "Analysis" - )] - public ModelUnits([SchemaParamInfo("Select a set of default units based on the unit system")] UnitsType unitsType) - { - if (unitsType == UnitsType.Metric) - { - length = "m"; - sections = "m"; - displacements = "m"; - stress = "Pa"; - force = "N"; - mass = "kg"; - time = "s"; - temperature = "K"; - velocity = "m/s"; - acceleration = "m/s2"; - energy = "J"; - angle = "deg"; - } - if (unitsType == UnitsType.Imperial) - { - length = "ft"; - sections = "in"; - displacements = "in"; - stress = "kip/in2"; - force = "kip"; - mass = "lb"; - time = "s"; - temperature = "F"; - velocity = "ft/s"; - acceleration = "ft/s2"; - energy = "ft.lbf"; - angle = "deg"; - } - } - - [SchemaInfo( - "ModelUnits (custom)", - "Creates a Speckle object which specifies the units associated with the model", - "Structural", - "Analysis" - )] - public ModelUnits( - [SchemaParamInfo("Used for length and length derived units such as area")] string length = "m", - [SchemaParamInfo("Used for cross-sectional properties")] string sections = "m", - [SchemaParamInfo("Used for displacements and cross-sectional dimensions")] string displacements = "m", - [SchemaParamInfo( - "Used for stress (distinct from force and length) and stress related quantities like the elastic modulus" - )] - string stress = "Pa", - [SchemaParamInfo("Used for force and force derived units such as moment, etc., but not for stress")] - string force = "N", - [SchemaParamInfo("Used for mass and mass derived units such as inertia")] string mass = "kg", - [SchemaParamInfo("Used for time and time derived units, such as frequency")] string time = "s", - [SchemaParamInfo("Used for temperature and temperature derived units such as coefficients of expansion")] - string temperature = "K", - [SchemaParamInfo("Used for velocity and velocity derived units")] string velocity = "m/s", - [SchemaParamInfo( - "Used for acceleration and acceleration derived units (considered as distinct from length and time units)" - )] - string acceleration = "m/s2", - [SchemaParamInfo("Used for energy and energy derived units (considered as distinct from force and length units)")] - string energy = "J", - [SchemaParamInfo("To allow selection between degrees and radians for angle measures")] string angle = "deg" - ) - { - this.length = length; - this.sections = sections; - this.displacements = displacements; - this.stress = stress; - this.force = force; - this.mass = mass; - this.time = time; - this.temperature = temperature; - this.velocity = velocity; - this.acceleration = acceleration; - this.energy = energy; - } - - // use enums instead of strings - public string length { get; set; } // m, cm, mm, ft, in - public string sections { get; set; } //m, cm, mm, ft, in - public string displacements { get; set; } // m, cm, mm, ft, in - public string stress { get; set; } //Pa, kPa, MPa, GPa, N/m², N/mm², kip/in², psi, psf, ksi - public string force { get; set; } //N, kN, MN, lbf, kip, tf - public string mass { get; set; } //kg, t, kt, g, lb, Ton, slug, kip.s²/in, kip.s²/ft, lbf.s²/in, lbf.s²/ft, kip - public string time { get; set; } // s, ms, min, h, d - public string temperature { get; set; } // °C, K, °F - public string velocity { get; set; } //m/s, cm/s, mm/s, ft/s, in/s, km/h, mph - public string acceleration { get; set; } //m/s², cm/s², mm/s², ft/s², in/s², g, %g, milli-g, Gal - public string energy { get; set; } //J, KJ, MJ, GJ, kWh, in.lbf, ft.lbf, cal, Btu - public string angle { get; set; } //deg, rad - public string strain { get; set; } //ε, %ε, mε, με -} diff --git a/src/Speckle.Objects/Structural/Analysis/UnitTypes.cs b/src/Speckle.Objects/Structural/Analysis/UnitTypes.cs deleted file mode 100644 index 70082e5e..00000000 --- a/src/Speckle.Objects/Structural/Analysis/UnitTypes.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Speckle.Objects.Structural.Analysis; - -public enum UnitsType -{ - Metric, - Imperial, -} diff --git a/src/Speckle.Objects/Structural/Axis.cs b/src/Speckle.Objects/Structural/Axis.cs deleted file mode 100644 index 679c23e3..00000000 --- a/src/Speckle.Objects/Structural/Axis.cs +++ /dev/null @@ -1,16 +0,0 @@ -namespace Speckle.Objects.Structural; - -public enum AxisType -{ - Cartesian, - Cylindrical, - Spherical, -} - -public enum LoadAxisType -{ - Global, - Local, // local element axes - DeformedLocal // element local axis that is embedded in the element as it deforms - , -} diff --git a/src/Speckle.Objects/Structural/CSI/Analysis/CSIStories.cs b/src/Speckle.Objects/Structural/CSI/Analysis/CSIStories.cs deleted file mode 100644 index 6ef3a7d0..00000000 --- a/src/Speckle.Objects/Structural/CSI/Analysis/CSIStories.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Analysis; - -[SpeckleType("Objects.Structural.CSI.Analysis.CSIStories")] -public class CSIStories : Base -{ - public double BaseElevation { get; set; } - public int NumberStories { get; set; } - - [DetachProperty] - public List CSIStory { get; set; } -} - -[SpeckleType("Objects.Structural.CSI.Analysis.CSIStorey")] -public class CSIStorey : Storey -{ - public CSIStorey( - string name, - double elevation, - double storeyHeight, - bool isMasterStory, - string similarToStory, - bool spliceAbove, - double spliceHeight - ) - { - this.name = name; - this.elevation = elevation; - this.storeyHeight = storeyHeight; - IsMasterStory = isMasterStory; - SimilarToStory = similarToStory; - SpliceAbove = spliceAbove; - SpliceHeight = spliceHeight; - Color = 0; - } - - public CSIStorey() { } - - public double storeyHeight { get; set; } - public bool IsMasterStory { get; set; } - public string SimilarToStory { get; set; } - public bool SpliceAbove { get; set; } - - public double SpliceHeight { get; set; } - public int Color { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Analysis/ETABSAnalysis.cs b/src/Speckle.Objects/Structural/CSI/Analysis/ETABSAnalysis.cs deleted file mode 100644 index 0d54d69e..00000000 --- a/src/Speckle.Objects/Structural/CSI/Analysis/ETABSAnalysis.cs +++ /dev/null @@ -1,99 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Analysis; - -[SpeckleType("Objects.Structural.CSI.Analysis.CSIAnalysis")] -public class CSIAnalysis : Base -{ - public ActiveDOFs activeDOFs { get; set; } - public FloorMeshSettings floorMeshSettings { get; set; } -} - -[SpeckleType("Objects.Structural.CSI.Analysis.ActiveDOFs")] -public class ActiveDOFs : Base -{ - public ActiveDOFs() { } - - public ActiveDOFs(bool UX, bool UY, bool UZ, bool RX, bool RY, bool RZ) - { - this.UX = UX; - this.UY = UY; - this.UZ = UZ; - this.RX = RX; - this.RY = RY; - this.RZ = RZ; - } - - public bool UX { get; set; } - public bool UY { get; set; } - public bool UZ { get; set; } - public bool RX { get; set; } - public bool RY { get; set; } - public bool RZ { get; set; } -} - -[SpeckleType("Objects.Structural.CSI.Analysis.FloorMeshSettings")] -public class FloorMeshSettings : Base -{ - public FloorMeshSettings() { } - - public FloorMeshSettings(MeshOption meshOption, double maximumMeshSize) - { - this.meshOption = meshOption; - this.maximumMeshSize = maximumMeshSize; - } - - public MeshOption meshOption { get; set; } - public double maximumMeshSize { get; set; } -} - -[SpeckleType("Objects.Structural.CSI.Analysis.WallMeshSettings")] -public class WallMeshSettings : Base -{ - public WallMeshSettings() { } - - public WallMeshSettings(double maximumMeshSize) - { - this.maximumMeshSize = maximumMeshSize; - } - - public double maximumMeshSize { get; set; } -} - -[SpeckleType("Objects.Structural.CSI.Analysis.CrackingAnalysisOptions")] -public class CrackingAnalysisOptions : Base -{ - public CrackingAnalysisOptions() { } - - public CrackingAnalysisOptions(string reinforcementSource, double minTensionRatio, double minCompressionRatio) - { - this.reinforcementSource = reinforcementSource; - this.minTensionRatio = minTensionRatio; - this.minCompressionRatio = minCompressionRatio; - } - - public string reinforcementSource { get; set; } - public double minTensionRatio { get; set; } - public double minCompressionRatio { get; set; } -} - -[SpeckleType("Objects.Structural.CSI.Analysis.SAPFireOptions")] -public class SAPFireOptions : Base -{ - public SAPFireOptions() { } - - public SAPFireOptions(SolverOption solverOption, AnalysisProcess analysisProcess) - { - this.solverOption = solverOption; - this.analysisProcess = analysisProcess; - } - - public SolverOption solverOption { get; set; } - public AnalysisProcess analysisProcess { get; set; } -} - -public enum MeshOption { } - -public enum SolverOption { } - -public enum AnalysisProcess { } diff --git a/src/Speckle.Objects/Structural/CSI/Analysis/ETABSAreaType.cs b/src/Speckle.Objects/Structural/CSI/Analysis/ETABSAreaType.cs deleted file mode 100644 index 74fe9ec6..00000000 --- a/src/Speckle.Objects/Structural/CSI/Analysis/ETABSAreaType.cs +++ /dev/null @@ -1,37 +0,0 @@ -namespace Speckle.Objects.Structural.CSI.Analysis; - -public enum CSIPropertyType2D -{ - Deck, - Slab, - Shell, - Wall, -} - -public enum SlabType -{ - Slab, - Drop, - Ribbed, - Waffle, - Mat, - Footing, - Null, -} - -public enum ShellType -{ - ShellThin, - ShellThick, - Membrane, - Layered, - Null, -} - -public enum DeckType -{ - Filled, - Unfilled, - SolidSlab, - Null, -} diff --git a/src/Speckle.Objects/Structural/CSI/Analysis/ETABSLoadingType.cs b/src/Speckle.Objects/Structural/CSI/Analysis/ETABSLoadingType.cs deleted file mode 100644 index 79d4fcb9..00000000 --- a/src/Speckle.Objects/Structural/CSI/Analysis/ETABSLoadingType.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Speckle.Objects.Structural.CSI.Analysis; - -public enum WindPressureType -{ - Windward, - other, -} diff --git a/src/Speckle.Objects/Structural/CSI/Geometry/CSIElement1D.cs b/src/Speckle.Objects/Structural/CSI/Geometry/CSIElement1D.cs deleted file mode 100644 index 690bbb14..00000000 --- a/src/Speckle.Objects/Structural/CSI/Geometry/CSIElement1D.cs +++ /dev/null @@ -1,125 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.CSI.Properties; -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Properties; -using Speckle.Objects.Structural.Results; -using Speckle.Sdk.Common; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Geometry; - -[SpeckleType("Objects.Structural.CSI.Geometry.CSIElement1D")] -public class CSIElement1D : Element1D -{ - /// - /// SchemaBuilder constructor for structural 1D element (based on local axis) - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - [SchemaInfo("Element1D (from local axis)", "Creates a Speckle CSI 1D element (from local axis)", "CSI", "Geometry")] - public CSIElement1D( - Line baseLine, - Property1D property, - ElementType1D type, - string? name = null, - [SchemaParamInfo("If null, restraint condition defaults to unreleased (fully fixed translations and rotations)")] - Restraint? end1Releases = null, - [SchemaParamInfo("If null, restraint condition defaults to unreleased (fully fixed translations and rotations)")] - Restraint? end2Releases = null, - [SchemaParamInfo("If null, defaults to no offsets")] Vector? end1Offset = null, - [SchemaParamInfo("If null, defaults to no offsets")] Vector? end2Offset = null, - Plane? localAxis = null, - CSILinearSpring? CSILinearSpring = null, - [SchemaParamInfo("an Array of 8 values referring to the modifiers as seen in CSI in order")] - double[]? Modifier = null, - DesignProcedure DesignProcedure = DesignProcedure.NoDesign - ) - { - this.baseLine = baseLine; - this.property = property; - this.type = type; - this.name = name; - this.end1Releases = end1Releases ?? new Restraint("FFFFFF"); - this.end2Releases = end2Releases ?? new Restraint("FFFFFF"); - this.end1Offset = end1Offset ?? new Vector(0, 0, 0, Units.Meters); //Defaulting to meters here was probably not intentional - this.end2Offset = end2Offset ?? new Vector(0, 0, 0, Units.Meters); //Defaulting to meters here was probably not intentional - this.localAxis = localAxis; - this.CSILinearSpring = CSILinearSpring; - this.DesignProcedure = DesignProcedure; - Modifiers = Modifier; - } - - /// - /// SchemaBuilder constructor for structural 1D element (based on orientation node and angle) - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - [SchemaInfo( - "Element1D (from orientation node and angle)", - "Creates a Speckle CSI 1D element (from orientation node and angle)", - "CSI", - "Geometry" - )] - public CSIElement1D( - Line baseLine, - Property1D property, - ElementType1D type, - string? name = null, - [SchemaParamInfo("If null, restraint condition defaults to unreleased (fully fixed translations and rotations)")] - Restraint? end1Releases = null, - [SchemaParamInfo("If null, restraint condition defaults to unreleased (fully fixed translations and rotations)")] - Restraint? end2Releases = null, - [SchemaParamInfo("If null, defaults to no offsets")] Vector? end1Offset = null, - [SchemaParamInfo("If null, defaults to no offsets")] Vector? end2Offset = null, - Node? orientationNode = null, - double orientationAngle = 0, - CSILinearSpring? CSILinearSpring = null, - [SchemaParamInfo("an Array of 8 values referring to the modifiers as seen in CSI in order")] - double[]? Modifier = null, - DesignProcedure DesignProcedure = DesignProcedure.NoDesign - ) - { - this.baseLine = baseLine; - this.property = property; - this.type = type; - this.name = name; - this.end1Releases = end1Releases ?? new Restraint("FFFFFF"); - this.end2Releases = end2Releases ?? new Restraint("FFFFFF"); - this.end1Offset = end1Offset ?? new Vector(0, 0, 0, units: Units.Meters); //Defaulting to meters here was probably not intentional, but previously was being done in the Vector's ctor - this.end2Offset = end2Offset ?? new Vector(0, 0, 0, units: Units.Meters); //Defaulting to meters here was probably not intentional, but previously was being done in the Vector's ctor - this.orientationNode = orientationNode; - this.orientationAngle = orientationAngle; - this.CSILinearSpring = CSILinearSpring; - this.DesignProcedure = DesignProcedure; - Modifiers = Modifier; - } - - public CSIElement1D() { } - - [DetachProperty] - public CSILinearSpring? CSILinearSpring { get; set; } - - public string PierAssignment { get; set; } - public string SpandrelAssignment { get; set; } - public double[]? Modifiers { get; set; } - public DesignProcedure DesignProcedure { get; set; } - - [DetachProperty] - public AnalyticalResults? AnalysisResults { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Geometry/CSIElement2D.cs b/src/Speckle.Objects/Structural/CSI/Geometry/CSIElement2D.cs deleted file mode 100644 index 8cf5dcc0..00000000 --- a/src/Speckle.Objects/Structural/CSI/Geometry/CSIElement2D.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Speckle.Objects.Structural.CSI.Properties; -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Properties; -using Speckle.Objects.Structural.Results; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Geometry; - -[SpeckleType("Objects.Structural.CSI.Geometry.CSIElement2D")] -public class CSIElement2D : Element2D -{ - [SchemaInfo( - "Element2D", - "Creates a Speckle CSI 2D element (based on a list of edge ie. external, geometry defining nodes)", - "CSI", - "Geometry" - )] - public CSIElement2D( - List nodes, - Property2D property, - double offset = 0, - double orientationAngle = 0, - double[]? modifiers = null, - CSIAreaSpring? CSIAreaSpring = null, - CSIDiaphragm? CSIDiaphragm = null - ) - { - topology = nodes; - this.property = property; - this.offset = offset; - this.orientationAngle = orientationAngle; - DiaphragmAssignment = CSIDiaphragm?.name; - this.CSIAreaSpring = CSIAreaSpring; - this.modifiers = modifiers; - } - - public CSIElement2D() { } - - [DetachProperty] - public CSIAreaSpring? CSIAreaSpring { get; set; } - - public string? DiaphragmAssignment { get; set; } - public string? PierAssignment { get; set; } - public string? SpandrelAssignment { get; set; } - public double[]? modifiers { get; set; } - public bool Opening { get; set; } - - [DetachProperty] - public AnalyticalResults? AnalysisResults { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Geometry/CSIGridLines.cs b/src/Speckle.Objects/Structural/CSI/Geometry/CSIGridLines.cs deleted file mode 100644 index fb480d44..00000000 --- a/src/Speckle.Objects/Structural/CSI/Geometry/CSIGridLines.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Speckle.Objects.BuiltElements; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Geometry; - -[SpeckleType("Objects.Structural.CSI.Geometry.CSIGridLines")] -public class CSIGridLines : Base -{ - public double Xo { get; set; } - public double Yo { get; set; } - public double Rz { get; set; } - public string GridSystemType { get; set; } - - [DetachProperty] - public List gridLines { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Geometry/CSINode.cs b/src/Speckle.Objects/Structural/CSI/Geometry/CSINode.cs deleted file mode 100644 index c7e746cd..00000000 --- a/src/Speckle.Objects/Structural/CSI/Geometry/CSINode.cs +++ /dev/null @@ -1,71 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.CSI.Properties; -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Properties; -using Speckle.Objects.Structural.Results; -using Speckle.Sdk.Common; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Geometry; - -[SpeckleType("Objects.Structural.CSI.Geometry.CSINode")] -public class CSINode : Node -{ - [SchemaInfo( - "Node with properties", - "Creates a Speckle CSI node with spring, mass and/or damper properties", - "CSI", - "Geometry" - )] - public CSINode( - Point basePoint, - string? name = null, - [SchemaParamInfo("If null, restraint condition defaults to free/fully released")] Restraint? restraint = null, - [SchemaParamInfo( - "If null, axis defaults to world xy (z axis defines the vertical direction, positive direction is up)" - )] - Axis? constraintAxis = null, - CSISpringProperty? springProperty = null, - PropertyMass? massProperty = null, - PropertyDamper? damperProperty = null, - CSIDiaphragm? CSIDiaphragm = null, - DiaphragmOption DiaphragmOption = DiaphragmOption.FromShellObject - ) - { - this.basePoint = basePoint; - this.name = name; - this.restraint = restraint ?? new Restraint("RRRRRR"); - this.constraintAxis = - constraintAxis - ?? new Axis( - "Global", - AxisType.Cartesian, - new Plane - { - origin = new Point(0, 0, 0, units: Units.Meters), - normal = new Vector(0, 0, 1, units: Units.Meters), - xdir = new Vector(1, 0, 0, units: Units.Meters), - ydir = new Vector(0, 1, 0, units: Units.Meters), - units = Units.Meters, //Not sure if defaulting to meters is correct, but it was what we were doing previously inside Plane's ctor - } - ); - CSISpringProperty = springProperty; - this.massProperty = massProperty; - this.damperProperty = damperProperty; - DiaphragmAssignment = CSIDiaphragm?.name; - this.DiaphragmOption = DiaphragmOption; - } - - public CSINode() { } - - [DetachProperty] - public CSISpringProperty? CSISpringProperty { get; set; } - - public string? DiaphragmAssignment { get; set; } - - public DiaphragmOption DiaphragmOption { get; set; } - - [DetachProperty] - public AnalyticalResults? AnalysisResults { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Geometry/CSIPier.cs b/src/Speckle.Objects/Structural/CSI/Geometry/CSIPier.cs deleted file mode 100644 index 4a5f9def..00000000 --- a/src/Speckle.Objects/Structural/CSI/Geometry/CSIPier.cs +++ /dev/null @@ -1,66 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Geometry; - -[SpeckleType("Objects.Structural.CSI.Geometry.CSIPier")] -public class CSIPier : Base -{ - public CSIPier( - string name, - int numberStories, - string[] storyName, - double[] axisAngle, - int[] numAreaObjs, - int[] numLineObjs, - double[] widthBot, - double[] thicknessBot, - double[] widthTop, - double[] thicknessTop, - string[] matProp, - double[] centerofGravityBotX, - double[] centerofGravityBotY, - double[] centerofGravityBotZ, - double[] centerofGravityTopX, - double[] centerofGravityTopY, - double[] centerofGravityTopZ - ) - { - this.name = name; - this.numberStories = numberStories; - this.storyName = storyName; - this.axisAngle = axisAngle; - this.numAreaObjs = numAreaObjs; - this.numLineObjs = numLineObjs; - this.widthBot = widthBot; - this.thicknessBot = thicknessBot; - this.widthTop = widthTop; - this.thicknessTop = thicknessTop; - this.matProp = matProp; - this.centerofGravityBotX = centerofGravityBotX; - this.centerofGravityBotY = centerofGravityBotY; - this.centerofGravityBotZ = centerofGravityBotZ; - this.centerofGravityTopX = centerofGravityTopX; - this.centerofGravityTopY = centerofGravityTopY; - this.centerofGravityTopZ = centerofGravityTopZ; - } - - public CSIPier() { } - - public string name { get; set; } - public int numberStories { get; set; } - public string[] storyName { get; set; } - public double[] axisAngle { get; set; } - public int[] numAreaObjs { get; set; } - public int[] numLineObjs { get; set; } - public double[] widthBot { get; set; } - public double[] thicknessBot { get; set; } - public double[] widthTop { get; set; } - public double[] thicknessTop { get; set; } - public string[] matProp { get; set; } - public double[] centerofGravityBotX { get; set; } - public double[] centerofGravityBotY { get; set; } - public double[] centerofGravityBotZ { get; set; } - public double[] centerofGravityTopX { get; set; } - public double[] centerofGravityTopY { get; set; } - public double[] centerofGravityTopZ { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Geometry/CSISpandrel.cs b/src/Speckle.Objects/Structural/CSI/Geometry/CSISpandrel.cs deleted file mode 100644 index 55b00b50..00000000 --- a/src/Speckle.Objects/Structural/CSI/Geometry/CSISpandrel.cs +++ /dev/null @@ -1,69 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Geometry; - -[SpeckleType("Objects.Structural.CSI.Geometry.CSISpandrel")] -public class CSISpandrel : Base -{ - public CSISpandrel( - string name, - bool multistory, - int numberStories, - string[] storyName, - int[] numAreaObjs, - int[] numLineObjs, - double[] length, - double[] depthLeft, - double[] thickLeft, - double[] depthRight, - double[] thickRight, - string[] matProp, - double[] centerofGravityLeftX, - double[] centerofGravityLeftY, - double[] centerofGravityLeftZ, - double[] centerofGravityRightX, - double[] centerofGravityRightY, - double[] centerofGravityRightZ - ) - { - this.name = name; - this.multistory = multistory; - this.numberStories = numberStories; - this.storyName = storyName; - this.numAreaObjs = numAreaObjs; - this.numLineObjs = numLineObjs; - this.length = length; - this.depthLeft = depthLeft; - this.thickLeft = thickLeft; - this.depthRight = depthRight; - this.thickRight = thickRight; - this.matProp = matProp; - this.centerofGravityLeftX = centerofGravityLeftX; - this.centerofGravityLeftY = centerofGravityLeftY; - this.centerofGravityLeftZ = centerofGravityLeftZ; - this.centerofGravityRightX = centerofGravityRightX; - this.centerofGravityRightY = centerofGravityRightY; - this.centerofGravityRightZ = centerofGravityRightZ; - } - - public CSISpandrel() { } - - public string name { get; set; } - public bool multistory { get; set; } - public int numberStories { get; set; } - public string[] storyName { get; set; } - public int[] numAreaObjs { get; set; } - public int[] numLineObjs { get; set; } - public double[] length { get; set; } - public double[] depthLeft { get; set; } - public double[] thickLeft { get; set; } - public double[] depthRight { get; set; } - public double[] thickRight { get; set; } - public string[] matProp { get; set; } - public double[] centerofGravityLeftX { get; set; } - public double[] centerofGravityLeftY { get; set; } - public double[] centerofGravityLeftZ { get; set; } - public double[] centerofGravityRightX { get; set; } - public double[] centerofGravityRightY { get; set; } - public double[] centerofGravityRightZ { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Geometry/CSITendon.cs b/src/Speckle.Objects/Structural/CSI/Geometry/CSITendon.cs deleted file mode 100644 index 82eb3a04..00000000 --- a/src/Speckle.Objects/Structural/CSI/Geometry/CSITendon.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.CSI.Properties; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Geometry; - -[SpeckleType("Objects.Structural.CSI.Geometry.CSITendon")] -public class CSITendon : CSIElement1D -{ - public CSITendon(string name, Polycurve polycurve, CSITendonProperty CSITendonProperty) - { - this.name = name; - this.polycurve = polycurve; - this.CSITendonProperty = CSITendonProperty; - } - - public CSITendon() { } - - public Polycurve polycurve { get; set; } - - [DetachProperty] - public CSITendonProperty CSITendonProperty { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Loading/CSIWindLoading.cs b/src/Speckle.Objects/Structural/CSI/Loading/CSIWindLoading.cs deleted file mode 100644 index 4091ea0e..00000000 --- a/src/Speckle.Objects/Structural/CSI/Loading/CSIWindLoading.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Speckle.Objects.Structural.CSI.Analysis; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Loading; - -[SpeckleType("Objects.Structural.CSI.Loading.CSIWindLoadingFace")] -public class CSIWindLoadingFace : LoadFace -{ - public double Cp { get; set; } - - public WindPressureType WindPressureType { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Materials/CSIConcrete.cs b/src/Speckle.Objects/Structural/CSI/Materials/CSIConcrete.cs deleted file mode 100644 index 3501e9d1..00000000 --- a/src/Speckle.Objects/Structural/CSI/Materials/CSIConcrete.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Speckle.Objects.Structural.Materials; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Materials; - -[SpeckleType("Objects.Structural.CSI.Materials.CSIConcrete")] -public class CSIConcrete : Concrete -{ - public int SSHysType { get; set; } - public int SSType { get; set; } - - public double finalSlope { get; set; } - - public double frictionAngle { get; set; } - public double dialationalAngle { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Materials/CSIRebar.cs b/src/Speckle.Objects/Structural/CSI/Materials/CSIRebar.cs deleted file mode 100644 index 622b53bd..00000000 --- a/src/Speckle.Objects/Structural/CSI/Materials/CSIRebar.cs +++ /dev/null @@ -1,7 +0,0 @@ -using Speckle.Objects.Structural.Materials; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Materials; - -[SpeckleType("Objects.Structural.CSI.Materials.CSIRebar")] -public class CSIRebar : StructuralMaterial { } diff --git a/src/Speckle.Objects/Structural/CSI/Materials/CSISteel.cs b/src/Speckle.Objects/Structural/CSI/Materials/CSISteel.cs deleted file mode 100644 index a915c36b..00000000 --- a/src/Speckle.Objects/Structural/CSI/Materials/CSISteel.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Speckle.Objects.Structural.Materials; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Materials; - -[SpeckleType("Objects.Structural.CSI.Materials.CSISteel")] -public class CSISteel : Steel -{ - public int SSHysType { get; set; } - public int SSType { get; set; } - public double EFy { get; set; } - public double EFu { get; set; } - public double strainAtMaxStress { get; set; } - public double strainAtHardening { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Properties/CSIDiaphragm.cs b/src/Speckle.Objects/Structural/CSI/Properties/CSIDiaphragm.cs deleted file mode 100644 index 13abbff5..00000000 --- a/src/Speckle.Objects/Structural/CSI/Properties/CSIDiaphragm.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Properties; - -[SpeckleType("Objects.Structural.CSI.Properties.CSIDiaphragm")] -public class CSIDiaphragm : Base -{ - [SchemaInfo("CSI Diaphragm", "Create an CSI Diaphragm", "CSI", "Properties")] - public CSIDiaphragm(string name, bool semiRigid) - { - this.name = name; - SemiRigid = semiRigid; - } - - public CSIDiaphragm() { } - - public string name { get; set; } - public bool SemiRigid { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Properties/CSILinkProperty.cs b/src/Speckle.Objects/Structural/CSI/Properties/CSILinkProperty.cs deleted file mode 100644 index e53848ee..00000000 --- a/src/Speckle.Objects/Structural/CSI/Properties/CSILinkProperty.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Properties; - -[SpeckleType("Objects.Structural.CSI.Properties.CSILinkProperty")] -public class CSILinkProperty : Property1D -{ - [SchemaInfo("CSILink", "Create an CSI Link Property", "CSI", "Properties")] - public CSILinkProperty( - string name, - double mass, - double weight, - double rotationalInertia1, - double rotationalInertia2, - double rotationalInertia3, - double m2PdeltaEnd1, - double mP2deltaEnd2, - double mP3deltaEnd1, - double mP3deltaEnd2 - ) - { - this.name = name; - this.mass = mass; - this.weight = weight; - this.rotationalInertia1 = rotationalInertia1; - this.rotationalInertia2 = rotationalInertia2; - this.rotationalInertia3 = rotationalInertia3; - M2PdeltaEnd1 = m2PdeltaEnd1; - MP2deltaEnd2 = mP2deltaEnd2; - MP3deltaEnd1 = mP3deltaEnd1; - MP3deltaEnd2 = mP3deltaEnd2; - } - - public CSILinkProperty() { } - - public double mass { get; set; } - public double weight { get; set; } - public double rotationalInertia1 { get; set; } - public double rotationalInertia2 { get; set; } - public double rotationalInertia3 { get; set; } - public double M2PdeltaEnd1 { get; set; } - public double MP2deltaEnd2 { get; set; } - public double MP3deltaEnd1 { get; set; } - public double MP3deltaEnd2 { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Properties/CSIProperty2D.cs b/src/Speckle.Objects/Structural/CSI/Properties/CSIProperty2D.cs deleted file mode 100644 index 4f2dbfce..00000000 --- a/src/Speckle.Objects/Structural/CSI/Properties/CSIProperty2D.cs +++ /dev/null @@ -1,274 +0,0 @@ -using Speckle.Objects.Structural.CSI.Analysis; -using Speckle.Objects.Structural.Materials; -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Properties; - -[SpeckleType("Objects.Structural.CSI.Properties.CSIOpening")] -public class CSIOpening : Property2D -{ - [SchemaInfo("Opening", "Create an CSI Opening", "CSI", "Properties")] - public CSIOpening(bool isOpening) - { - this.isOpening = isOpening; - } - - public CSIOpening() { } - - public bool isOpening { get; set; } -} - -[SpeckleType("Objects.Structural.CSI.Properties.CSIProperty2D")] -public class CSIProperty2D : Property2D -{ - public CSIPropertyType2D type2D { get; set; } - public SlabType slabType { get; set; } - public DeckType deckType { get; set; } - public ShellType shellType { get; set; } - - [SpeckleType("Objects.Structural.CSI.Properties.CSIProperty2D+WaffleSlab")] - public class WaffleSlab : CSIProperty2D - { - public WaffleSlab() { } - - [SchemaInfo("WaffleSlab", "Create an CSI Waffle Slab", "CSI", "Properties")] - public WaffleSlab( - string PropertyName, - ShellType shell, - StructuralMaterial ConcreteMaterial, - double Thickness, - double overAllDepth, - double stemWidthBot, - double stemWidthTop, - double ribSpacingDir1, - double ribSpacingDir2 - ) - { - type2D = CSIPropertyType2D.Slab; - slabType = SlabType.Waffle; - deckType = DeckType.Null; - - name = PropertyName; - shellType = shell; - material = ConcreteMaterial; - thickness = Thickness; - - OverAllDepth = overAllDepth; - StemWidthBot = stemWidthBot; - StemWidthTop = stemWidthTop; - RibSpacingDir1 = ribSpacingDir1; - RibSpacingDir2 = ribSpacingDir2; - } - - public double OverAllDepth { get; set; } - public double StemWidthBot { get; set; } - public double StemWidthTop { get; set; } - public double RibSpacingDir1 { get; set; } - public double RibSpacingDir2 { get; set; } - - //[SchemaInfo("WaffleSlab","Define a WaffleSlab Area Property")] - } - - [SpeckleType("Objects.Structural.CSI.Properties.CSIProperty2D+RibbedSlab")] - public class RibbedSlab : CSIProperty2D - { - public RibbedSlab() { } - - [SchemaInfo("RibbedSlab", "Create an CSI Ribbed Slab", "CSI", "Properties")] - public RibbedSlab( - string PropertyName, - ShellType shell, - StructuralMaterial ConcreteMaterial, - double Thickness, - double overAllDepth, - double stemWidthBot, - double stemWidthTop, - double ribSpacing, - int ribsParallelTo - ) - { - type2D = CSIPropertyType2D.Slab; - slabType = SlabType.Ribbed; - deckType = DeckType.Null; - - name = PropertyName; - shellType = shell; - material = ConcreteMaterial; - thickness = Thickness; - - OverAllDepth = overAllDepth; - StemWidthBot = stemWidthBot; - StemWidthTop = stemWidthTop; - RibSpacing = ribSpacing; - RibsParallelTo = ribsParallelTo; - } - - public double OverAllDepth { get; set; } - public double StemWidthBot { get; set; } - public double StemWidthTop { get; set; } - public double RibSpacing { get; set; } - public int RibsParallelTo { get; set; } - } - - [SpeckleType("Objects.Structural.CSI.Properties.CSIProperty2D+Slab")] - public class Slab : CSIProperty2D - { - public Slab() { } - - [SchemaInfo("Slab", "Create an CSI Slab", "CSI", "Properties")] - public Slab(string PropertyName, ShellType shell, StructuralMaterial ConcreteMaterial, double Thickness) - { - type2D = CSIPropertyType2D.Slab; - slabType = SlabType.Slab; - deckType = DeckType.Null; - - name = PropertyName; - shellType = shell; - material = ConcreteMaterial; - thickness = Thickness; - } - } - - [SpeckleType("Objects.Structural.CSI.Properties.CSIProperty2D+DeckFilled")] - public class DeckFilled : CSIProperty2D - { - public DeckFilled() { } - - [SchemaInfo("DeckFilled", "Create an CSI Filled Deck", "CSI", "Properties")] - public DeckFilled( - string PropertyName, - ShellType shell, - StructuralMaterial ConcreteMaterial, - double DeckThickness, - double slabDepth, - double shearStudDia, - double shearStudFu, - double shearStudHt, - double ribDepth, - double ribWidthTop, - double ribWidthBot, - double ribSpacing, - double shearThickness, - double unitWeight - ) - { - type2D = CSIPropertyType2D.Deck; - slabType = SlabType.Null; - deckType = DeckType.Filled; - - name = PropertyName; - shellType = shell; - material = ConcreteMaterial; - thickness = DeckThickness; - - SlabDepth = slabDepth; - ShearStudDia = shearStudDia; - ShearStudFu = shearStudFu; - ShearStudHt = shearStudHt; - RibDepth = ribDepth; - RibWidthTop = ribWidthTop; - RibWidthBot = ribWidthBot; - RibSpacing = ribSpacing; - ShearThickness = shearThickness; - UnitWeight = unitWeight; - } - - public double SlabDepth { get; set; } - public double ShearStudDia { get; set; } - public double ShearStudFu { get; set; } - public double ShearStudHt { get; set; } - public double RibDepth { get; set; } - public double RibWidthTop { get; set; } - public double RibWidthBot { get; set; } - public double RibSpacing { get; set; } - public double ShearThickness { get; set; } - public double UnitWeight { get; set; } - } - - [SpeckleType("Objects.Structural.CSI.Properties.CSIProperty2D+DeckUnFilled")] - public class DeckUnFilled : CSIProperty2D - { - [SchemaInfo("DeckUnFilled", "Create an CSI UnFilled Deck", "CSI", "Properties")] - public DeckUnFilled( - string PropertyName, - ShellType shell, - StructuralMaterial Material, - double DeckThickness, - double slabDepth, - double ribDepth, - double ribWidthTop, - double ribWidthBot, - double ribSpacing, - double shearThickness, - double unitWeight - ) - { - type2D = CSIPropertyType2D.Deck; - slabType = SlabType.Null; - deckType = DeckType.Unfilled; - - name = PropertyName; - shellType = shell; - material = Material; - thickness = DeckThickness; - - SlabDepth = slabDepth; - RibDepth = ribDepth; - RibWidthTop = ribWidthTop; - RibWidthBot = ribWidthBot; - RibSpacing = ribSpacing; - ShearThickness = shearThickness; - UnitWeight = unitWeight; - } - - public DeckUnFilled() { } - - public double SlabDepth { get; set; } - public double RibDepth { get; set; } - public double RibWidthTop { get; set; } - public double RibWidthBot { get; set; } - public double RibSpacing { get; set; } - public double ShearThickness { get; set; } - public double UnitWeight { get; set; } - } - - [SpeckleType("Objects.Structural.CSI.Properties.CSIProperty2D+DeckSlab")] - public class DeckSlab : CSIProperty2D - { - [SchemaInfo("DeckSlab", "Create an CSI Slab Deck", "CSI", "Properties")] - public DeckSlab( - string PropertyName, - ShellType shell, - StructuralMaterial ConcreteMaterial, - double DeckThickness, - double slabDepth, - double shearStudDia, - double shearStudFu, - double shearStudHt - ) - { - type2D = CSIPropertyType2D.Deck; - slabType = SlabType.Null; - deckType = DeckType.SolidSlab; - - name = PropertyName; - shellType = shell; - material = ConcreteMaterial; - thickness = DeckThickness; - - SlabDepth = slabDepth; - ShearStudDia = shearStudDia; - ShearStudFu = shearStudFu; - ShearStudHt = shearStudHt; - } - - public DeckSlab() { } - - public double SlabDepth { get; set; } - public double ShearStudDia { get; set; } - public double ShearStudFu { get; set; } - public double ShearStudHt { get; set; } - } -} diff --git a/src/Speckle.Objects/Structural/CSI/Properties/CSISpringProperty.cs b/src/Speckle.Objects/Structural/CSI/Properties/CSISpringProperty.cs deleted file mode 100644 index 184896c1..00000000 --- a/src/Speckle.Objects/Structural/CSI/Properties/CSISpringProperty.cs +++ /dev/null @@ -1,107 +0,0 @@ -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Properties; - -[SpeckleType("Objects.Structural.CSI.Properties.CSISpringProperty")] -public class CSISpringProperty : PropertySpring -{ - public CSISpringProperty() { } - - [SchemaInfo("PointSpring from Link", "Create an CSI PointSpring from Link", "CSI", "Properties")] - public CSISpringProperty( - string name, - string cYs, - double StiffnessX, - double StiffnessY, - double StiffnessZ, - double StiffnessXX, - double StiffnezzYY, - double StiffnessZZ - ) - { - this.name = name; - springOption = SpringOption.Link; - stiffnessX = StiffnessX; - stiffnessY = StiffnessY; - stiffnessZ = StiffnessZ; - stiffnessXX = StiffnessXX; - stiffnessYY = StiffnezzYY; - stiffnessZZ = StiffnessZZ; - CYs = cYs; - } - - [SchemaInfo("PointSpring from Soil Profile", "Create an CSI PointSpring from Soil Profile", "CSI", "Properties")] - public CSISpringProperty(string name, string soilProfile, string footing, double period) - { - this.name = name; - springOption = SpringOption.SoilProfileFooting; - SoilProfile = soilProfile; - this.footing = footing; - this.period = period; - } - - public SpringOption springOption { get; set; } - public string CYs { get; set; } - public string SoilProfile { get; set; } - public string footing { get; set; } - public double period { get; set; } -} - -[SpeckleType("Objects.Structural.CSI.Properties.CSILinearSpring")] -public class CSILinearSpring : PropertySpring -{ - public CSILinearSpring() { } - - [SchemaInfo("LinearSpring", "Create an CSI LinearSpring", "CSI", "Properties")] - public CSILinearSpring( - string name, - double StiffnessX, - double StiffnessY, - double StiffnessZ, - double StiffnessXX, - NonLinearOptions linearOption1, - NonLinearOptions linearOption2, - string? applicationID = null - ) - { - this.name = name; - stiffnessX = StiffnessX; - stiffnessY = StiffnessY; - stiffnessZ = StiffnessZ; - stiffnessXX = StiffnessXX; - LinearOption1 = linearOption1; - LinearOption2 = linearOption2; - applicationId = applicationID; - } - - public NonLinearOptions LinearOption1 { get; set; } - public NonLinearOptions LinearOption2 { get; set; } -} - -[SpeckleType("Objects.Structural.CSI.Properties.CSIAreaSpring")] -public class CSIAreaSpring : PropertySpring -{ - public CSIAreaSpring() { } - - [SchemaInfo("LinearSpring", "Create an CSI AreaSpring", "CSI", "Properties")] - public CSIAreaSpring( - string name, - double StiffnessX, - double StiffnessY, - double StiffnessZ, - NonLinearOptions linearOption3, - string? applicationID = null - ) - { - this.name = name; - stiffnessX = StiffnessX; - stiffnessY = StiffnessY; - stiffnessZ = StiffnessZ; - LinearOption3 = linearOption3; - applicationId = applicationID; - } - - public NonLinearOptions LinearOption3 { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Properties/CSITendonProperty.cs b/src/Speckle.Objects/Structural/CSI/Properties/CSITendonProperty.cs deleted file mode 100644 index 0fd0fee7..00000000 --- a/src/Speckle.Objects/Structural/CSI/Properties/CSITendonProperty.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.CSI.Properties; - -[SpeckleType("Objects.Structural.CSI.Properties.CSITendonProperty")] -public class CSITendonProperty : Property1D -{ - public ModelingOption modelingOption { get; set; } - public double Area { get; set; } -} diff --git a/src/Speckle.Objects/Structural/CSI/Properties/ETABSProperty.cs b/src/Speckle.Objects/Structural/CSI/Properties/ETABSProperty.cs deleted file mode 100644 index 73fb9708..00000000 --- a/src/Speckle.Objects/Structural/CSI/Properties/ETABSProperty.cs +++ /dev/null @@ -1,38 +0,0 @@ -namespace Speckle.Objects.Structural.CSI.Properties; - -public enum DiaphragmOption -{ - Disconnect, - FromShellObject, - DefinedDiaphragm, -} - -public enum NonLinearOptions -{ - Linear, - CompressionOnly, - TensionOnly, -} - -public enum SpringOption -{ - Link, - SoilProfileFooting, -} - -public enum ModelingOption -{ - Loads, - Elements, -} - -public enum DesignProcedure -{ - ProgramDetermined, - SteelFrameDesign, - ConcreteFrameDesign, - CompositeBeamDesign, - SteelJoistDesign, - NoDesign, - CompositeColumnDesign, -} diff --git a/src/Speckle.Objects/Structural/GSA/Analysis/GSAAnalysisCase.cs b/src/Speckle.Objects/Structural/GSA/Analysis/GSAAnalysisCase.cs deleted file mode 100644 index 46fc3041..00000000 --- a/src/Speckle.Objects/Structural/GSA/Analysis/GSAAnalysisCase.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Analysis; - -[SpeckleType("Objects.Structural.GSA.Analysis.GSAAnalysisCase")] -public class GSAAnalysisCase : Base -{ - public GSAAnalysisCase() { } - - [SchemaInfo("GSAAnalysisCase", "Creates a Speckle structural analysis case for GSA", "GSA", "Analysis")] - public GSAAnalysisCase( - int nativeId, - string name, - GSATask task, - [SchemaParamInfo("A list of load cases")] List loadCases, - [SchemaParamInfo("A list of load factors (to be mapped to provided load cases)")] List loadFactors - ) - { - if (loadCases.Count != loadFactors.Count) - { - throw new ArgumentException("Number of load cases provided does not match number of load factors provided"); - } - - this.nativeId = nativeId; - this.name = name; - this.task = task; - this.loadCases = loadCases; - this.loadFactors = loadFactors; - } - - public int nativeId { get; set; } - public string name { get; set; } - - [DetachProperty] - public GSATask task { get; set; } //task reference - - [DetachProperty] - public List loadCases { get; set; } - - public List loadFactors { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Analysis/GSAStage.cs b/src/Speckle.Objects/Structural/GSA/Analysis/GSAStage.cs deleted file mode 100644 index 38cc2b29..00000000 --- a/src/Speckle.Objects/Structural/GSA/Analysis/GSAStage.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Analysis; - -[SpeckleType("Objects.Structural.GSA.Analysis.GSAStage")] -public class GSAStage : Base -{ - public GSAStage() { } - - [SchemaInfo("GSAStage", "Creates a Speckle structural analysis stage for GSA", "GSA", "Analysis")] - public GSAStage( - int nativeId, - string name, - string colour, - List elements, - double creepFactor, - int stageTime, - List lockedElements - ) - { - this.nativeId = nativeId; - this.name = name; - this.colour = colour; - this.elements = elements; - this.creepFactor = creepFactor; - this.stageTime = stageTime; - this.lockedElements = lockedElements; - } - - public int nativeId { get; set; } - public string name { get; set; } - public string colour { get; set; } - - [DetachProperty, Chunkable(5000)] - public List elements { get; set; } - - public double creepFactor { get; set; } //Phi - public int stageTime { get; set; } //number of days - - [DetachProperty, Chunkable(5000)] - public List lockedElements { get; set; } //elements not part of the current analysis stage -} diff --git a/src/Speckle.Objects/Structural/GSA/Analysis/GSATask.cs b/src/Speckle.Objects/Structural/GSA/Analysis/GSATask.cs deleted file mode 100644 index 6bd4dc6f..00000000 --- a/src/Speckle.Objects/Structural/GSA/Analysis/GSATask.cs +++ /dev/null @@ -1,54 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Analysis; - -[SpeckleType("Objects.Structural.GSA.Analysis.GSATask")] -public class GSATask : Base -{ - public GSATask() { } - - [SchemaInfo("GSAAnalysisTask", "Creates a Speckle structural analysis task for GSA", "GSA", "Analysis")] - public GSATask(int nativeId, string name) - { - this.nativeId = nativeId; - this.name = name; - } - - public int nativeId { get; set; } //equiv to num - public string name { get; set; } - public string stage { get; set; } - public string solver { get; set; } - public SolutionType solutionType { get; set; } - public int modeParameter1 { get; set; } //start mode - public int modeParameter2 { get; set; } //number of modes - public int numIterations { get; set; } - public string PDeltaOption { get; set; } - public string PDeltaCase { get; set; } - public string PrestressCase { get; set; } - public string resultSyntax { get; set; } - public PruningOption prune { get; set; } -} - -public enum SolutionType -{ - Undefined, //no solution specified - Static, - Modal, - Ritz, - Buckling, - StaticPDelta, - ModalPDelta, - RitzPDelta, - Mass, - Stability, - StabilityPDelta, - BucklingNonLinear, - Influence, -} - -public enum PruningOption -{ - None, - Influence, -} diff --git a/src/Speckle.Objects/Structural/GSA/Bridge/GSAAlignment.cs b/src/Speckle.Objects/Structural/GSA/Bridge/GSAAlignment.cs deleted file mode 100644 index 96d6e3be..00000000 --- a/src/Speckle.Objects/Structural/GSA/Bridge/GSAAlignment.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Speckle.Objects.Structural.GSA.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Bridge; - -[SpeckleType("Objects.Structural.GSA.Bridge.GSAAlignment")] -public class GSAAlignment : Base -{ - public GSAAlignment() { } - - [SchemaInfo( - "GSAAlignment", - "Creates a Speckle structural alignment for GSA (as a setting out feature for bridge models)", - "GSA", - "Bridge" - )] - public GSAAlignment( - int nativeId, - string name, - GSAGridSurface gridSurface, - List chainage, - List curvature - ) - { - this.nativeId = nativeId; - this.name = name; - this.gridSurface = gridSurface; - this.chainage = chainage; - this.curvature = curvature; - } - - public int nativeId { get; set; } - public string name { get; set; } - - [DetachProperty] - public GSAGridSurface gridSurface { get; set; } - - public List chainage { get; set; } - public List curvature { get; set; } - - public int GetNumAlignmentPoints() - { - return chainage.Count + curvature.Count; - } -} diff --git a/src/Speckle.Objects/Structural/GSA/Bridge/GSAInfluence.cs b/src/Speckle.Objects/Structural/GSA/Bridge/GSAInfluence.cs deleted file mode 100644 index f178c09b..00000000 --- a/src/Speckle.Objects/Structural/GSA/Bridge/GSAInfluence.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Bridge; - -[SpeckleType("Objects.Structural.GSA.Bridge.GSAInfluence")] -public class GSAInfluence : Base -{ - public GSAInfluence() { } - - public GSAInfluence(int nativeId, string name, double factor, InfluenceType type, LoadDirection direction) - { - this.nativeId = nativeId; - this.name = name; - this.factor = factor; - this.type = type; - this.direction = direction; - } - - public int nativeId { get; set; } - public string name { get; set; } - public double factor { get; set; } - public InfluenceType type { get; set; } - public LoadDirection direction { get; set; } -} - -public enum InfluenceType -{ - NotSet = 0, - FORCE, - DISPLACEMENT, -} diff --git a/src/Speckle.Objects/Structural/GSA/Bridge/GSAInfluenceBeam.cs b/src/Speckle.Objects/Structural/GSA/Bridge/GSAInfluenceBeam.cs deleted file mode 100644 index f0bbf2a3..00000000 --- a/src/Speckle.Objects/Structural/GSA/Bridge/GSAInfluenceBeam.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Speckle.Objects.Structural.GSA.Geometry; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Bridge; - -[SpeckleType("Objects.Structural.GSA.Bridge.GSAInfluenceBeam")] -public class GSAInfluenceBeam : GSAInfluence -{ - public GSAInfluenceBeam() { } - - [SchemaInfo( - "GSAInfluenceBeam", - "Creates a Speckle structural beam influence effect for GSA (for an influence analysis)", - "GSA", - "Bridge" - )] - public GSAInfluenceBeam( - int nativeId, - string name, - double factor, - InfluenceType type, - LoadDirection direction, - GSAElement1D element, - double position - ) - { - this.nativeId = nativeId; - this.name = name; - this.factor = factor; - this.type = type; - this.direction = direction; - this.element = element; - this.position = position; - } - - [DetachProperty] - public GSAElement1D element { get; set; } - - public double position { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Bridge/GSAInfluenceNode.cs b/src/Speckle.Objects/Structural/GSA/Bridge/GSAInfluenceNode.cs deleted file mode 100644 index 2b79964b..00000000 --- a/src/Speckle.Objects/Structural/GSA/Bridge/GSAInfluenceNode.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Bridge; - -[SpeckleType("Objects.Structural.GSA.Bridge.GSAInfluenceNode")] -public class GSAInfluenceNode : GSAInfluence -{ - public GSAInfluenceNode() { } - - [SchemaInfo( - "GSAInfluenceBeam", - "Creates a Speckle structural node influence effect for GSA (for an influence analysis)", - "GSA", - "Bridge" - )] - public GSAInfluenceNode( - int nativeId, - string name, - double factor, - InfluenceType type, - LoadDirection direction, - Node node, - Axis axis - ) - { - this.nativeId = nativeId; - this.name = name; - this.factor = factor; - this.type = type; - this.direction = direction; - this.node = node; - this.axis = axis; - } - - [DetachProperty] - public Node node { get; set; } - - [DetachProperty] - public Axis axis { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Bridge/GSAPath.cs b/src/Speckle.Objects/Structural/GSA/Bridge/GSAPath.cs deleted file mode 100644 index 6f864fde..00000000 --- a/src/Speckle.Objects/Structural/GSA/Bridge/GSAPath.cs +++ /dev/null @@ -1,63 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Bridge; - -[SpeckleType("Objects.Structural.GSA.Bridge.GSAPath")] -public class GSAPath : Base -{ - public GSAPath() { } - - [SchemaInfo( - "GSAPath", - "Creates a Speckle structural path for GSA (a path defines traffic lines along a bridge relative to an alignments, for influence analysis)", - "GSA", - "Bridge" - )] - public GSAPath( - int nativeId, - string name, - PathType type, - int group, - GSAAlignment alignment, - double left, - double right, - double factor, - int numMarkedLanes - ) - { - this.nativeId = nativeId; - this.name = name; - this.type = type; - this.group = group; - this.alignment = alignment; - this.left = left; - this.right = right; - this.factor = factor; - this.numMarkedLanes = numMarkedLanes; - } - - public int nativeId { get; set; } - public string name { get; set; } - public PathType type { get; set; } - public int group { get; set; } - - [DetachProperty] - public GSAAlignment alignment { get; set; } - - public double left { get; set; } //left / centre offset - public double right { get; set; } //right offset / gauge - public double factor { get; set; } //left factor - public int numMarkedLanes { get; set; } -} - -public enum PathType -{ - NotSet = 0, - LANE, - FOOTWAY, - TRACK, - VEHICLE, - CWAY_1WAY, - CWAY_2WAY, -} diff --git a/src/Speckle.Objects/Structural/GSA/Bridge/GSAUserVehicle.cs b/src/Speckle.Objects/Structural/GSA/Bridge/GSAUserVehicle.cs deleted file mode 100644 index 59fa1ef2..00000000 --- a/src/Speckle.Objects/Structural/GSA/Bridge/GSAUserVehicle.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Bridge; - -[SpeckleType("Objects.Structural.GSA.Bridge.GSAUserVehicle")] -public class GSAUserVehicle : Base -{ - public GSAUserVehicle() { } - - [SchemaInfo( - "GSAUserVehicle", - "Creates a Speckle structural user-defined vehicle (as a pattern of loading based on axle and wheel positions, for influence analysis) for GSA", - "GSA", - "Bridge" - )] - public GSAUserVehicle( - int nativeId, - string name, - double width, - List axlePositions, - List axleOffsets, - List axleLeft, - List axleRight - ) - { - this.nativeId = nativeId; - this.name = name; - this.width = width; - this.axlePositions = axlePositions; - this.axleOffsets = axleOffsets; - this.axleLeft = axleLeft; - this.axleRight = axleRight; - } - - public int nativeId { get; set; } - public string name { get; set; } - public double width { get; set; } //vehicle width - public List axlePositions { get; set; } - public List axleOffsets { get; set; } // offset from centreline - public List axleLeft { get; set; } //load on left side - public List axleRight { get; set; } //load on right side -} diff --git a/src/Speckle.Objects/Structural/GSA/Geometry/GSAAssembly.cs b/src/Speckle.Objects/Structural/GSA/Geometry/GSAAssembly.cs deleted file mode 100644 index a0f57570..00000000 --- a/src/Speckle.Objects/Structural/GSA/Geometry/GSAAssembly.cs +++ /dev/null @@ -1,67 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Geometry; - -[SpeckleType("Objects.Structural.GSA.Geometry.GSAAssembly")] -public class GSAAssembly : Base -{ - public GSAAssembly() { } - - [SchemaInfo( - "GSAAssembly", - "Creates a Speckle structural assembly (ie. a way to define an entity that is formed from a collection of elements or members) for GSA", - "GSA", - "Bridge" - )] - public GSAAssembly( - int nativeId, - string name, - List entities, - GSANode end1Node, - GSANode end2Node, - GSANode orientationNode, - double sizeY, - double sizeZ, - string curveType, - int curveOrder, - string pointDefinition, - List points - ) - { - this.nativeId = nativeId; - this.name = name; - this.entities = entities; - this.end1Node = end1Node; - this.end2Node = end2Node; - this.orientationNode = orientationNode; - this.sizeY = sizeY; - this.sizeZ = sizeZ; - this.curveType = curveType; - this.curveOrder = curveOrder; - this.pointDefinition = pointDefinition; - this.points = points; - } - - public int nativeId { get; set; } //equiv to num record of gwa keyword - public string name { get; set; } - - [DetachProperty, Chunkable(5000)] - public List entities { get; set; } //nodes, elements, members - - [DetachProperty] - public GSANode end1Node { get; set; } - - [DetachProperty] - public GSANode end2Node { get; set; } - - [DetachProperty] - public GSANode orientationNode { get; set; } - - public double sizeY { get; set; } - public double sizeZ { get; set; } - public string curveType { get; set; } // enum? circular or lagrange sufficient? - public int curveOrder { get; set; } - public string pointDefinition { get; set; } // enum as well? points and spacing to start? || points and storeys to be supported - public List points { get; set; } // or make this Base type to accomdate storey list and explicit range? or add sep property for those cases? -} diff --git a/src/Speckle.Objects/Structural/GSA/Geometry/GSAElement1D.cs b/src/Speckle.Objects/Structural/GSA/Geometry/GSAElement1D.cs deleted file mode 100644 index 5b213e5b..00000000 --- a/src/Speckle.Objects/Structural/GSA/Geometry/GSAElement1D.cs +++ /dev/null @@ -1,84 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Common; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Geometry; - -[SpeckleType("Objects.Structural.GSA.Geometry.GSAElement1D")] -public class GSAElement1D : Element1D -{ - public GSAElement1D() { } - - [SchemaInfo( - "GSAElement1D (from local axis)", - "Creates a Speckle structural 1D element for GSA (from local axis)", - "GSA", - "Geometry" - )] - public GSAElement1D( - int nativeId, - Line baseLine, - Property1D property, - ElementType1D type, - [SchemaParamInfo("If null, restraint condition defaults to unreleased (fully fixed translations and rotations)")] - Restraint? end1Releases = null, - [SchemaParamInfo("If null, restraint condition defaults to unreleased (fully fixed translations and rotations)")] - Restraint? end2Releases = null, - [SchemaParamInfo("If null, defaults to no offsets")] Vector? end1Offset = null, - [SchemaParamInfo("If null, defaults to no offsets")] Vector? end2Offset = null, - Plane? localAxis = null - ) - { - this.nativeId = nativeId; - this.baseLine = baseLine; - this.property = property; - this.type = type; - this.end1Releases = end1Releases ?? new Restraint("FFFFFF"); - this.end2Releases = end2Releases ?? new Restraint("FFFFFF"); - this.end1Offset = end1Offset ?? new Vector(0, 0, 0, units = Units.Meters); //Defaulting to meters here was probably not intentional, but previously was being done in the Vector's ctor - this.end2Offset = end2Offset ?? new Vector(0, 0, 0, units = Units.Meters); //Defaulting to meters here was probably not intentional, but previously was being done in the Vector's ctor - this.localAxis = localAxis; - } - - [SchemaInfo( - "GSAElement1D (from orientation node and angle)", - "Creates a Speckle structural 1D element for GSA (from orientation node and angle)", - "GSA", - "Geometry" - )] - public GSAElement1D( - int nativeId, - Line baseLine, - Property1D property, - ElementType1D type, - [SchemaParamInfo("If null, restraint condition defaults to unreleased (fully fixed translations and rotations)")] - Restraint? end1Releases = null, - [SchemaParamInfo("If null, restraint condition defaults to unreleased (fully fixed translations and rotations)")] - Restraint? end2Releases = null, - [SchemaParamInfo("If null, defaults to no offsets")] Vector? end1Offset = null, - [SchemaParamInfo("If null, defaults to no offsets")] Vector? end2Offset = null, - Node? orientationNode = null, - double orientationAngle = 0 - ) - { - this.nativeId = nativeId; - this.baseLine = baseLine; - this.property = property; - this.type = type; - this.end1Releases = end1Releases ?? new Restraint("FFFFFF"); - this.end2Releases = end2Releases ?? new Restraint("FFFFFF"); - this.end1Offset = end1Offset ?? new Vector(0, 0, 0, Units.Meters); //Defaulting to meters here was probably not intentional, but previously was being done in the Vector's ctor - this.end2Offset = end2Offset ?? new Vector(0, 0, 0, Units.Meters); //Defaulting to meters here was probably not intentional, but previously was being done in the Vector's ctor - this.orientationNode = orientationNode; - this.orientationAngle = orientationAngle; - } - - public int nativeId { get; set; } //equiv to num record of gwa keyword - public int group { get; set; } - public string colour { get; set; } - public string action { get; set; } - public bool isDummy { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Geometry/GSAElement2D.cs b/src/Speckle.Objects/Structural/GSA/Geometry/GSAElement2D.cs deleted file mode 100644 index 5797e2f1..00000000 --- a/src/Speckle.Objects/Structural/GSA/Geometry/GSAElement2D.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Geometry; - -[SpeckleType("Objects.Structural.GSA.Geometry.GSAElement2D")] -public class GSAElement2D : Element2D -{ - public GSAElement2D() { } - - [SchemaInfo("GSAElement2D", "Creates a Speckle structural 2D element for GSA", "GSA", "Geometry")] - public GSAElement2D( - int nativeId, - List nodes, - Property2D property, - ElementType2D type, - string? name = null, - double offset = 0, - double orientationAngle = 0, - int group = 0, - string colour = "NO_RGB", - bool isDummy = false - ) - { - this.nativeId = nativeId; - topology = nodes; - this.property = property; - this.type = type; - this.name = name ?? ""; - this.nativeId = nativeId; - this.offset = offset; - this.orientationAngle = orientationAngle; - this.group = group; - this.colour = colour; - this.isDummy = isDummy; - } - - public int nativeId { get; set; } - public int group { get; set; } - public string colour { get; set; } - public bool isDummy { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Geometry/GSAElement3D.cs b/src/Speckle.Objects/Structural/GSA/Geometry/GSAElement3D.cs deleted file mode 100644 index b01e225e..00000000 --- a/src/Speckle.Objects/Structural/GSA/Geometry/GSAElement3D.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Geometry; - -[SpeckleType("Objects.Structural.GSA.Geometry.GSAElement3D")] -public class GSAElement3D : Element3D -{ - public GSAElement3D() { } - - [SchemaInfo("GSAElement3D", "Creates a Speckle structural 3D element for GSA", "GSA", "Geometry")] - public GSAElement3D( - int nativeId, - Mesh baseMesh, - Property3D property, - ElementType3D type, - string? name = null, - double orientationAngle = 0, - int group = 0, - string colour = "NO_RGB", - bool isDummy = false - ) - { - this.nativeId = nativeId; - this.baseMesh = baseMesh; - this.property = property; - this.type = type; - this.name = name ?? ""; - this.orientationAngle = orientationAngle; - this.group = group; - this.colour = colour; - this.isDummy = isDummy; - } - - public int nativeId { get; set; } - public int group { get; set; } - public string colour { get; set; } - public bool isDummy { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Geometry/GSAGeneralisedRestraint.cs b/src/Speckle.Objects/Structural/GSA/Geometry/GSAGeneralisedRestraint.cs deleted file mode 100644 index e862d3e7..00000000 --- a/src/Speckle.Objects/Structural/GSA/Geometry/GSAGeneralisedRestraint.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.GSA.Analysis; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Geometry; - -[SpeckleType("Objects.Structural.GSA.Geometry.GSAGeneralisedRestraint")] -public class GSAGeneralisedRestraint : Base -{ - public GSAGeneralisedRestraint() { } - - [SchemaInfo( - "GSAGeneralisedRestraint", - "Creates a Speckle structural generalised restraint (a set of restraint conditions to be applied to a list of nodes) for GSA", - "GSA", - "Geometry" - )] - public GSAGeneralisedRestraint( - int nativeId, - string name, - Restraint restraint, - List nodes, - List stages - ) - { - this.nativeId = nativeId; - this.name = name; - this.restraint = restraint; - this.nodes = nodes; - this.stages = stages; - } - - public int nativeId { get; set; } - public string name { get; set; } - - [DetachProperty] - public Restraint restraint { get; set; } - - [DetachProperty, Chunkable(5000)] - public List nodes { get; set; } - - [DetachProperty] - public List stages { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Geometry/GSAGridLine.cs b/src/Speckle.Objects/Structural/GSA/Geometry/GSAGridLine.cs deleted file mode 100644 index 38b08c41..00000000 --- a/src/Speckle.Objects/Structural/GSA/Geometry/GSAGridLine.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Speckle.Objects.BuiltElements; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Geometry; - -[SpeckleType("Objects.Structural.GSA.Geometry.GSAGridLine")] -public class GSAGridLine : GridLine -{ - public GSAGridLine() { } - - [SchemaInfo("GSAGridLine", "Creates a Speckle structural grid line for GSA", "GSA", "Geometry")] - public GSAGridLine(int nativeId, string name, ICurve line) - { - this.nativeId = nativeId; - label = name; - baseLine = line; - } - - public int nativeId { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Geometry/GSAGridPlane.cs b/src/Speckle.Objects/Structural/GSA/Geometry/GSAGridPlane.cs deleted file mode 100644 index 96b485c3..00000000 --- a/src/Speckle.Objects/Structural/GSA/Geometry/GSAGridPlane.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Geometry; - -[SpeckleType("Objects.Structural.GSA.Geometry.GSAGridPlane")] -public class GSAGridPlane : Storey -{ - public GSAGridPlane() { } - - [SchemaInfo("GSAGridPlane", "Creates a Speckle structural grid plane for GSA", "GSA", "Geometry")] - public GSAGridPlane(int nativeId, string name, Axis axis, double elevation) - { - this.nativeId = nativeId; - this.name = name; - this.axis = axis; - this.elevation = elevation; // the height of the grid plane above the origin (of the specified axis) - } - - public int nativeId { get; set; } - - [DetachProperty] - public Axis axis { get; set; } - - public double? toleranceBelow { get; set; } - public double? toleranceAbove { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Geometry/GSAGridSurface.cs b/src/Speckle.Objects/Structural/GSA/Geometry/GSAGridSurface.cs deleted file mode 100644 index cb70591e..00000000 --- a/src/Speckle.Objects/Structural/GSA/Geometry/GSAGridSurface.cs +++ /dev/null @@ -1,62 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Geometry; - -[SpeckleType("Objects.Structural.GSA.Geometry.GSAGridSurface")] -public class GSAGridSurface : Base -{ - public GSAGridSurface() { } - - [SchemaInfo("GSAGridSurface", "Creates a Speckle structural grid surface for GSA", "GSA", "Geometry")] - public GSAGridSurface( - string name, - int nativeId, - GSAGridPlane gridPlane, - double tolerance, - double spanDirection, - LoadExpansion loadExpansion, - GridSurfaceSpanType span, - List elements - ) - { - this.name = name; - this.nativeId = nativeId; - this.gridPlane = gridPlane; - this.tolerance = tolerance; - this.spanDirection = spanDirection; - this.loadExpansion = loadExpansion; - this.span = span; - this.elements = elements; - } - - public string name { get; set; } - public int nativeId { get; set; } - - [DetachProperty] - public GSAGridPlane gridPlane { get; set; } - - public double tolerance { get; set; } - public double spanDirection { get; set; } - public LoadExpansion loadExpansion { get; set; } - public GridSurfaceSpanType span { get; set; } - - [DetachProperty, Chunkable(5000)] - public List elements { get; set; } -} - -public enum GridSurfaceSpanType -{ - NotSet = 0, - OneWay, - TwoWay, -} - -public enum LoadExpansion -{ - NotSet = 0, - Legacy = 1, - PlaneAspect = 2, - PlaneSmooth = 3, - PlaneCorner = 4, -} diff --git a/src/Speckle.Objects/Structural/GSA/Geometry/GSAMember1D.cs b/src/Speckle.Objects/Structural/GSA/Geometry/GSAMember1D.cs deleted file mode 100644 index 2dbd15e6..00000000 --- a/src/Speckle.Objects/Structural/GSA/Geometry/GSAMember1D.cs +++ /dev/null @@ -1,80 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Geometry; - -[SpeckleType("Objects.Structural.GSA.Geometry.GSAMember1D")] -public class GSAMember1D : Element1D -{ - public GSAMember1D() { } - - [SchemaInfo( - "GSAMember1D (from local axis)", - "Creates a Speckle structural 1D member for GSA (from local axis)", - "GSA", - "Geometry" - )] - public GSAMember1D( - int nativeId, - Line baseLine, - Property1D property, - ElementType1D type, - Restraint end1Releases, - Restraint end2Releases, - Vector end1Offset, - Vector end2Offset, - Plane localAxis - ) - { - this.nativeId = nativeId; - this.baseLine = baseLine; - this.property = property; - this.type = type; - this.end1Releases = end1Releases; - this.end2Releases = end2Releases; - this.end1Offset = end1Offset; - this.end2Offset = end2Offset; - this.localAxis = localAxis; - } - - [SchemaInfo( - "GSAMember1D (from orientation node and angle)", - "Creates a Speckle structural 1D member for GSA (from orientation node and angle)", - "GSA", - "Geometry" - )] - public GSAMember1D( - int nativeId, - Line baseLine, - Property1D property, - ElementType1D type, - Restraint end1Releases, - Restraint end2Releases, - Vector end1Offset, - Vector end2Offset, - GSANode orientationNode, - double orientationAngle - ) - { - this.nativeId = nativeId; - this.baseLine = baseLine; - this.property = property; - this.type = type; - this.end1Releases = end1Releases; - this.end2Releases = end2Releases; - this.end1Offset = end1Offset; - this.end2Offset = end2Offset; - this.orientationNode = orientationNode; - this.orientationAngle = orientationAngle; - } - - public int nativeId { get; set; } - public int group { get; set; } - public string colour { get; set; } - public bool isDummy { get; set; } - public bool intersectsWithOthers { get; set; } - public double targetMeshSize { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Geometry/GSAMember2D.cs b/src/Speckle.Objects/Structural/GSA/Geometry/GSAMember2D.cs deleted file mode 100644 index 8027d8c1..00000000 --- a/src/Speckle.Objects/Structural/GSA/Geometry/GSAMember2D.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Geometry; - -[SpeckleType("Objects.Structural.GSA.Geometry.GSAMember2D")] -public class GSAMember2D : Element2D -{ - public GSAMember2D() { } - - [SchemaInfo("GSAMember2D", "Creates a Speckle structural 2D member for GSA", "GSA", "Geometry")] - public GSAMember2D( - [SchemaParamInfo( - "An ordered list of nodes which represents the perimeter of a member (ie. order of points should based on valid polyline)" - )] - List perimeter, - Property2D property, - ElementType2D type, - [SchemaParamInfo( - "A list of ordered lists of nodes representing the voids within a member (ie. order of points should be based on valid polyline)" - )] - List>? voids = null, - double offset = 0, - double orientationAngle = 0 - ) - { - topology = perimeter; //needs to be ordered properly (ie. matching the point order of a valid polyline) - this.property = property; - this.type = type; - this.voids = voids; //needs to be ordered properly (ie. matching the point order of a valid polyline) - this.offset = offset; - this.orientationAngle = orientationAngle; - } - - public int nativeId { get; set; } - public int group { get; set; } - public string colour { get; set; } - public bool isDummy { get; set; } - public bool intersectsWithOthers { get; set; } - public double targetMeshSize { get; set; } - public List>? voids { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Geometry/GSANode.cs b/src/Speckle.Objects/Structural/GSA/Geometry/GSANode.cs deleted file mode 100644 index 0fb011f6..00000000 --- a/src/Speckle.Objects/Structural/GSA/Geometry/GSANode.cs +++ /dev/null @@ -1,68 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Common; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Geometry; - -[SpeckleType("Objects.Structural.GSA.Geometry.GSANode")] -public class GSANode : Node -{ - public GSANode() { } - - /// - /// SchemaBuilder constructor for a GSA node - /// - /// - /// - /// - /// - /// - /// - /// - [SchemaInfo("GSANode", "Creates a Speckle structural node for GSA", "GSA", "Geometry")] - public GSANode( - int nativeId, - Point basePoint, - Restraint restraint, - Axis? constraintAxis = null, - PropertySpring? springProperty = null, - PropertyMass? massProperty = null, - PropertyDamper? damperProperty = null, - double localElementSize = 0, - string colour = "NO_RGB" - ) - { - this.nativeId = nativeId; - this.basePoint = basePoint; - this.restraint = restraint; - this.constraintAxis = - constraintAxis == null - ? new Axis( - "Global", - AxisType.Cartesian, - new Plane() - { - origin = new Point(0, 0, 0, units: Units.Meters), //Defaulting to meters here was probably not intentional, but previously was being done in the Vector's ctor - normal = new Vector(0, 0, 1, units: Units.Meters), //Defaulting to meters here was probably not intentional, but previously was being done in the Vector's ctor - xdir = new Vector(1, 0, 0, units: Units.Meters), //Defaulting to meters here was probably not intentional, but previously was being done in the Vector's ctor - ydir = new Vector(0, 1, 0, units: Units.Meters), //Defaulting to meters here was probably not intentional, but previously was being done in the Vector's ctor - units = - Units.Meters //Not sure if defaulting to meters is correct, but it was what we were doing previously inside Plane's ctor - , - } - ) - : constraintAxis; - this.springProperty = springProperty; - this.massProperty = massProperty; - this.damperProperty = damperProperty; - this.localElementSize = localElementSize; - this.colour = colour; - } - - public int nativeId { get; set; } - public double localElementSize { get; set; } - public string colour { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Geometry/GSARigidConstraint.cs b/src/Speckle.Objects/Structural/GSA/Geometry/GSARigidConstraint.cs deleted file mode 100644 index 7c2a544d..00000000 --- a/src/Speckle.Objects/Structural/GSA/Geometry/GSARigidConstraint.cs +++ /dev/null @@ -1,88 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.GSA.Analysis; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Geometry; - -[SpeckleType("Objects.Structural.GSA.Geometry.GSARigidConstraint")] -public class GSARigidConstraint : Base -{ - public GSARigidConstraint() { } - - [SchemaInfo( - "GSARigidConstraint", - "Creates a Speckle structural rigid restraint (a set of nodes constrained to move as a rigid body) for GSA", - "GSA", - "Geometry" - )] - public GSARigidConstraint( - string name, - int nativeId, - Node primaryNode, - List constrainedNodes, - Base parentMember, - List stages, - LinkageType type, - Dictionary> constraintCondition - ) - { - this.name = name; - this.nativeId = nativeId; - this.primaryNode = primaryNode; - this.constrainedNodes = constrainedNodes; - this.parentMember = parentMember; - this.stages = stages; - this.type = type; - this.constraintCondition = constraintCondition; - } - - public string name { get; set; } - public int nativeId { get; set; } - - [DetachProperty] - public Node primaryNode { get; set; } - - [DetachProperty, Chunkable(5000)] - public List constrainedNodes { get; set; } - - [DetachProperty] - public Base parentMember { get; set; } - - [DetachProperty] - public List stages { get; set; } - - public LinkageType type { get; set; } - public Dictionary> constraintCondition { get; set; } -} - -public enum AxisDirection6 -{ - NotSet = 0, - X, - Y, - Z, - XX, - YY, - ZZ, -} - -public enum LinkageType -{ - NotSet = 0, - ALL, - XY_PLANE, - YZ_PLANE, - ZX_PLANE, - XY_PLATE, - YZ_PLATE, - ZX_PLATE, - PIN, - XY_PLANE_PIN, - YZ_PLANE_PIN, - ZX_PLANE_PIN, - XY_PLATE_PIN, - YZ_PLATE_PIN, - ZX_PLATE_PIN, - Custom, -} diff --git a/src/Speckle.Objects/Structural/GSA/Geometry/GSAStorey.cs b/src/Speckle.Objects/Structural/GSA/Geometry/GSAStorey.cs deleted file mode 100644 index 0369673c..00000000 --- a/src/Speckle.Objects/Structural/GSA/Geometry/GSAStorey.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Geometry; - -[SpeckleType("Objects.Structural.GSA.Geometry.GSAStorey")] -public class GSAStorey : Storey -{ - public GSAStorey() { } - - [SchemaInfo( - "GSAStorey", - "Creates a Speckle structural storey (to describe floor levels/storeys in the structural model) for GSA", - "GSA", - "Geometry" - )] - public GSAStorey(int nativeId, string name, Axis axis, double elevation, double toleranceBelow, double toleranceAbove) - { - this.nativeId = nativeId; - this.name = name; - this.axis = axis; - this.elevation = elevation; - this.toleranceBelow = toleranceBelow; - this.toleranceAbove = toleranceAbove; - } - - public int nativeId { get; set; } - - [DetachProperty] - public Axis axis { get; set; } - - public double toleranceBelow { get; set; } - public double toleranceAbove { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadBeam.cs b/src/Speckle.Objects/Structural/GSA/Loading/GSALoadBeam.cs deleted file mode 100644 index 8b1f229c..00000000 --- a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadBeam.cs +++ /dev/null @@ -1,79 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Loading; - -[SpeckleType("Objects.Structural.GSA.Loading.GSALoadBeam")] -public class GSALoadBeam : LoadBeam -{ - public GSALoadBeam() { } - - [SchemaInfo("GSALoadBeam", "Creates a Speckle structural beam (1D elem/member) load for GSA", "GSA", "Loading")] - public GSALoadBeam( - int nativeId, - LoadCase loadCase, - List elements, - BeamLoadType loadType, - LoadDirection direction, - LoadAxisType loadAxisType = LoadAxisType.Global, - [SchemaParamInfo( - "A list that represents load magnitude (number of values varies based on load type - Point: 1, Uniform: 1, Linear: 2, Patch: 2, Tri-linear:2)" - )] - List? values = null, - [SchemaParamInfo( - "A list that represents load locations (number of values varies based on load type - Point: 1, Uniform: null, Linear: null, Patch: 2, Tri-linear: 2)" - )] - List? positions = null, - bool isProjected = false - ) - { - this.nativeId = nativeId; - this.loadCase = loadCase; - this.elements = elements; - this.loadType = loadType; - this.direction = direction; - this.loadAxisType = loadAxisType; - this.values = values; - this.positions = positions; - this.isProjected = isProjected; - } - - [SchemaInfo( - "GSALoadBeam (user-defined axis)", - "Creates a Speckle structural beam (1D elem/member) load (specified for a user-defined axis) for GSA", - "GSA", - "Loading" - )] - public GSALoadBeam( - int nativeId, - LoadCase loadCase, - List elements, - BeamLoadType loadType, - LoadDirection direction, - Axis loadAxis, - [SchemaParamInfo( - "A list that represents load magnitude (number of values varies based on load type - Point: 1, Uniform: 1, Linear: 2, Patch: 2, Tri-linear:2)" - )] - List? values = null, - [SchemaParamInfo( - "A list that represents load locations (number of values varies based on load type - Point: 1, Uniform: null, Linear: null, Patch: 2, Tri-linear: 2)" - )] - List? positions = null, - bool isProjected = false - ) - { - this.nativeId = nativeId; - this.loadCase = loadCase; - this.elements = elements; - this.loadType = loadType; - this.direction = direction; - this.values = values; - this.positions = positions; - this.isProjected = isProjected; - this.nativeId = nativeId; - } - - public int nativeId { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadCase.cs b/src/Speckle.Objects/Structural/GSA/Loading/GSALoadCase.cs deleted file mode 100644 index e41f03bb..00000000 --- a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadCase.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Loading; - -[SpeckleType("Objects.Structural.GSA.Loading.GSALoadCase")] -public class GSALoadCase : LoadCase -{ - public GSALoadCase() { } - - [SchemaInfo("GSALoadCase", "Creates a Speckle structural load case for GSA", "GSA", "Loading")] - public GSALoadCase( - int nativeId, - string name, - LoadType loadType, - LoadDirection2D loadDirection, - string? source = null, - ActionType actionType = ActionType.None, - string? description = null, - string? include = null, - bool bridge = false - ) - { - this.nativeId = nativeId; - this.name = name; - this.loadType = loadType; - group = source ?? ""; - this.actionType = actionType; - this.description = description ?? ""; - direction = loadDirection; - this.include = include ?? ""; - this.bridge = bridge; - } - - public int nativeId { get; set; } - public LoadDirection2D direction { get; set; } - public string include { get; set; } - public bool bridge { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadCombination.cs b/src/Speckle.Objects/Structural/GSA/Loading/GSALoadCombination.cs deleted file mode 100644 index a9897e91..00000000 --- a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadCombination.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Loading; - -[SpeckleType("Objects.Structural.GSA.Loading.GSALoadCombination")] -public class GSALoadCombination : LoadCombination -{ - public GSALoadCombination() { } - - [SchemaInfo("GSALoadCombination", "Creates a Speckle load combination for GSA", "GSA", "Loading")] - public GSALoadCombination( - int nativeId, - string name, - [SchemaParamInfo("A list of load cases")] List loadCases, - [SchemaParamInfo("A list of load factors (to be mapped to provided load cases)")] List loadFactors - ) - { - this.nativeId = nativeId; - this.name = name; - - if (loadCases.Count != loadFactors.Count) - { - throw new ArgumentException("Number of load cases provided does not match number of load factors provided"); - } - - this.loadFactors = loadFactors; - this.loadCases = loadCases; - this.nativeId = nativeId; - } - - public int nativeId { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadFace.cs b/src/Speckle.Objects/Structural/GSA/Loading/GSALoadFace.cs deleted file mode 100644 index c5be4878..00000000 --- a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadFace.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Loading; - -[SpeckleType("Objects.Structural.GSA.Loading.GSALoadFace")] -public class GSALoadFace : LoadFace -{ - public GSALoadFace() { } - - [SchemaInfo("GSALoadFace", "Creates a Speckle structural face (2D elem/member) load for GSA", "GSA", "Loading")] - public GSALoadFace( - int nativeId, - LoadCase loadCase, - List elements, - FaceLoadType loadType, - LoadDirection2D direction, - LoadAxisType loadAxisType = LoadAxisType.Global, - [SchemaParamInfo( - "A list that represents load magnitude (number of values varies based on load type - Uniform: 1, Variable: 4 (corner nodes), Point: 1)" - )] - List? values = null, - [SchemaParamInfo( - "A list that represents load locations (number of values varies based on load type - Uniform: null, Variable: null, Point: 2)" - )] - List? positions = null, - bool isProjected = false - ) - { - this.nativeId = nativeId; - this.loadCase = loadCase; - this.elements = elements; - this.loadType = loadType; - this.direction = direction; - this.loadAxisType = loadAxisType; - this.values = values; - this.positions = positions; - this.isProjected = isProjected; - } - - public int nativeId { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGravity.cs b/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGravity.cs deleted file mode 100644 index 63e35749..00000000 --- a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGravity.cs +++ /dev/null @@ -1,74 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Common; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Loading; - -[SpeckleType("Objects.Structural.GSA.Loading.GSALoadGravity")] -public class GSALoadGravity : LoadGravity -{ - public GSALoadGravity() { } - - [SchemaInfo( - "GSALoadGravity", - "Creates a Speckle structural gravity load (applied to all nodes and elements) for GSA", - "GSA", - "Loading" - )] - public GSALoadGravity(int nativeId, string name, LoadCase loadCase, Vector? gravityFactors = null) - { - this.nativeId = nativeId; - this.name = name; - this.loadCase = loadCase; - this.gravityFactors = gravityFactors ?? new Vector(0, 0, -1, Units.Meters); //Defaulting to meters here was probably not intentional, but previously was being done in the Vector's ctor - } - - [SchemaInfo( - "GSALoadGravity (specified elements)", - "Creates a Speckle structural gravity load (applied to specified elements) for GSA", - "GSA", - "Loading" - )] - public GSALoadGravity( - int nativeId, - string name, - LoadCase loadCase, - List elements, - Vector? gravityFactors = null - ) - { - this.nativeId = nativeId; - this.name = name; - this.elements = elements; - this.loadCase = loadCase; - this.gravityFactors = gravityFactors ?? new Vector(0, 0, -1, Units.Meters); //Defaulting to meters here was probably not intentional, but previously was being done in the Vector's ctor - } - - [SchemaInfo( - "GSALoadGravity (specified elements and nodes)", - "Creates a Speckle structural gravity load (applied to specified nodes and elements) for GSA", - "GSA", - "Loading" - )] - public GSALoadGravity( - int nativeId, - string name, - LoadCase loadCase, - List elements, - List nodes, - Vector? gravityFactors = null, - string? nativedId = null - ) - { - this.nativeId = nativeId; - this.name = name; - this.elements = elements; - this.nodes = nodes; - this.loadCase = loadCase; - this.gravityFactors = gravityFactors ?? new Vector(0, 0, -1, Units.Meters); //Defaulting to meters here was probably not intentional, but previously was being done in the Vector's ctor - } - - public int nativeId { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGrid.cs b/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGrid.cs deleted file mode 100644 index c886d45a..00000000 --- a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGrid.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.GSA.Geometry; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Loading; - -[SpeckleType("Objects.Structural.GSA.Loading.GSALoadGrid")] -public abstract class GSALoadGrid : Load -{ - protected GSALoadGrid() { } - - protected GSALoadGrid(int nativeId, GSAGridSurface gridSurface, Axis loadAxis, LoadDirection2D direction) - { - this.nativeId = nativeId; - this.gridSurface = gridSurface; - this.loadAxis = loadAxis; - this.direction = direction; - } - - public int nativeId { get; set; } - public GSAGridSurface gridSurface { get; set; } - public Axis loadAxis { get; set; } - public LoadDirection2D direction { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGridArea.cs b/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGridArea.cs deleted file mode 100644 index 0a7f0ff6..00000000 --- a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGridArea.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.GSA.Geometry; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Loading; - -[SpeckleType("Objects.Structural.GSA.Loading.GSALoadGridArea")] -public class GSALoadGridArea : GSALoadGrid -{ - public GSALoadGridArea() { } - - public GSALoadGridArea( - int nativeId, - GSAGridSurface gridSurface, - Axis loadAxis, - LoadDirection2D direction, - Polyline polyline, - bool isProjected, - double value - ) - { - this.nativeId = nativeId; - this.gridSurface = gridSurface; - this.loadAxis = loadAxis; - this.direction = direction; - this.polyline = polyline; - this.isProjected = isProjected; - this.value = value; - } - - public Polyline polyline { get; set; } - public bool isProjected { get; set; } - public double value { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGridLine.cs b/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGridLine.cs deleted file mode 100644 index 9157b4e1..00000000 --- a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGridLine.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.GSA.Geometry; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Loading; - -[SpeckleType("Objects.Structural.GSA.Loading.GSALoadGridLine")] -public class GSALoadGridLine : GSALoadGrid -{ - public GSALoadGridLine() { } - - public GSALoadGridLine( - int nativeId, - GSAGridSurface gridSurface, - Axis loadAxis, - LoadDirection2D direction, - Polyline polyline, - bool isProjected, - List values - ) - { - this.nativeId = nativeId; - this.gridSurface = gridSurface; - this.loadAxis = loadAxis; - this.direction = direction; - this.polyline = polyline; - this.isProjected = isProjected; - this.values = values; - } - - public Polyline polyline { get; set; } - public bool isProjected { get; set; } - public List values { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGridPoint.cs b/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGridPoint.cs deleted file mode 100644 index 623fe839..00000000 --- a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadGridPoint.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.GSA.Geometry; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Loading; - -[SpeckleType("Objects.Structural.GSA.Loading.GSALoadGridPoint")] -public class GSALoadGridPoint : GSALoadGrid -{ - public GSALoadGridPoint() { } - - public GSALoadGridPoint( - int nativeId, - GSAGridSurface gridSurface, - Axis loadAxis, - LoadDirection2D direction, - Point position, - double value - ) - { - this.nativeId = nativeId; - this.gridSurface = gridSurface; - this.loadAxis = loadAxis; - this.direction = direction; - this.position = position; - this.value = value; - } - - public Point position { get; set; } - public double value { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadNode.cs b/src/Speckle.Objects/Structural/GSA/Loading/GSALoadNode.cs deleted file mode 100644 index a2efb316..00000000 --- a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadNode.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.GSA.Geometry; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Loading; - -[SpeckleType("Objects.Structural.GSA.Loading.GSALoadNode")] -public class GSALoadNode : LoadNode -{ - public GSALoadNode() { } - - [SchemaInfo("GSALoadNode", "Creates a Speckle node load for GSA", "GSA", "Loading")] - public GSALoadNode( - int nativeId, - string name, - LoadCase loadCase, - List nodes, - LoadDirection direction, - double value - ) - { - this.nativeId = nativeId; - this.name = name; - this.loadCase = loadCase; - List baseNodes = nodes.ConvertAll(x => (Node)x); - this.nodes = baseNodes; - this.direction = direction; - this.value = value; - } - - [SchemaInfo( - "GSALoadNode (user-defined axis)", - "Creates a Speckle node load (user-defined axis) for GSA", - "GSA", - "Loading" - )] - public GSALoadNode( - int nativeId, - string name, - LoadCase loadCase, - List nodes, - Axis loadAxis, - LoadDirection direction, - double value - ) - { - this.nativeId = nativeId; - this.name = name; - this.loadCase = loadCase; - this.nodes = nodes; - this.loadAxis = loadAxis; - this.direction = direction; - this.value = value; - } - - public int nativeId { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadThermal2d.cs b/src/Speckle.Objects/Structural/GSA/Loading/GSALoadThermal2d.cs deleted file mode 100644 index ce7229f8..00000000 --- a/src/Speckle.Objects/Structural/GSA/Loading/GSALoadThermal2d.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Loading; - -[SpeckleType("Objects.Structural.GSA.Loading.GSALoadThermal2d")] -public class GSALoadThermal2d : Load -{ - public GSALoadThermal2d() { } - - public GSALoadThermal2d(int nativeId, List elements, Thermal2dLoadType type, List values) - { - this.nativeId = nativeId; - this.elements = elements; - this.type = type; - this.values = values; - } - - public int nativeId { get; set; } - - [DetachProperty, Chunkable(5000)] - public List elements { get; set; } - - public Thermal2dLoadType type { get; set; } - public List values { get; set; } -} - -public enum Thermal2dLoadType -{ - NotSet = 0, - Uniform, - Gradient, - General, -} diff --git a/src/Speckle.Objects/Structural/GSA/Loading/GSAPolyline.cs b/src/Speckle.Objects/Structural/GSA/Loading/GSAPolyline.cs deleted file mode 100644 index 3a10c1b6..00000000 --- a/src/Speckle.Objects/Structural/GSA/Loading/GSAPolyline.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.GSA.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Loading; - -[SpeckleType("Objects.Structural.GSA.Loading.GSAPolyline")] -public class GSAPolyline : Polyline -{ - public GSAPolyline() { } - - [SchemaInfo("GSAPolyline", "Creates a Speckle structural polyline for GSA", "GSA", "Geometry")] - public GSAPolyline( - string name, - int nativeId, - IEnumerable coordinatesArray, - string colour, - GSAGridPlane gridPlane - ) - { - this.name = name; - this.nativeId = nativeId; - value = coordinatesArray.ToList(); - this.colour = colour; - this.gridPlane = gridPlane; - } - - public string name { get; set; } - public int nativeId { get; set; } - public string colour { get; set; } - - [DetachProperty] - public GSAGridPlane gridPlane { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Materials/GSAConcrete.cs b/src/Speckle.Objects/Structural/GSA/Materials/GSAConcrete.cs deleted file mode 100644 index edfc08a5..00000000 --- a/src/Speckle.Objects/Structural/GSA/Materials/GSAConcrete.cs +++ /dev/null @@ -1,90 +0,0 @@ -using Speckle.Objects.Structural.Materials; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Materials; - -[SpeckleType("Objects.Structural.GSA.Materials.GSAConcrete")] -public class GSAConcrete : Concrete -{ - public GSAConcrete() { } - - [SchemaInfo("GSAConcrete", "Creates a Speckle structural concrete material for GSA", "GSA", "Materials")] - public GSAConcrete( - int nativeId, - string name, - string? grade = null, - string? designCode = null, - string? codeYear = null, - double elasticModulus = 0, - double compressiveStrength = 0, - double tensileStrength = 0, - double flexuralStrength = 0, - double maxCompressiveStrain = 0, - double maxTensileStrain = 0, - double maxAggregateSize = 0, - bool lightweight = false, - double poissonsRatio = 0, - double shearModulus = 0, - double density = 0, - double alpha = 0, - double dampingRatio = 0, - double cost = 0, - string colour = "NO_RGB" - ) - { - this.nativeId = nativeId; - this.name = name; - this.grade = grade; - materialType = MaterialType.Concrete; - this.designCode = designCode; - this.codeYear = codeYear; - this.elasticModulus = elasticModulus; - this.compressiveStrength = compressiveStrength; - this.tensileStrength = tensileStrength; - this.flexuralStrength = flexuralStrength; - this.maxCompressiveStrain = maxCompressiveStrain; - this.maxTensileStrain = maxTensileStrain; - this.maxAggregateSize = maxAggregateSize; - this.lightweight = lightweight; - this.poissonsRatio = poissonsRatio; - this.shearModulus = shearModulus; - this.density = density; - this.dampingRatio = dampingRatio; - this.cost = cost; - this.colour = colour; - } - - public int nativeId { get; set; } - public string colour { get; set; } - - // FROM GWA - //public string Name { get => name; set { name = value; } } - //public GsaMat Mat; - //public MatConcreteType Type; - //public MatConcreteCement Cement; - //public double? Fc; // - //public double? Fcd; // - //public double? Fcdc; // - //public double? Fcdt; // - //public double? Fcfib; - //public double? EmEs; - //public double? N; - //public double? Emod; - //public double? EpsPeak; - //public double? EpsMax; - //public double? EpsU; // have tens and comp represented separately - //public double? EpsAx; // have tens and comp represented separately - //public double? EpsTran; - //public double? EpsAxs; - //public bool Light; // add this - //public double? Agg; - //public double? XdMin; - //public double? XdMax; - //public double? Beta; - //public double? Shrink; - //public double? Confine; - //public double? Fcc; - //public double? EpsPlasC; - //public double? EpsUC; -} diff --git a/src/Speckle.Objects/Structural/GSA/Materials/GSAMaterial.cs b/src/Speckle.Objects/Structural/GSA/Materials/GSAMaterial.cs deleted file mode 100644 index e5ff5399..00000000 --- a/src/Speckle.Objects/Structural/GSA/Materials/GSAMaterial.cs +++ /dev/null @@ -1,50 +0,0 @@ -using Speckle.Objects.Structural.Materials; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Materials; - -[SpeckleType("Objects.Structural.GSA.Materials.GSAMaterial")] -public class GSAMaterial : StructuralMaterial -{ - public GSAMaterial() { } - - [SchemaInfo("GSAMaterial", "Creates a Speckle structural material for GSA", "GSA", "Materials")] - public GSAMaterial( - int nativeId, - string name, - MaterialType type, - string? grade = null, - string? designCode = null, - string? codeYear = null, - double strength = 0, - double elasticModulus = 0, - double poissonsRatio = 0, - double shearModulus = 0, - double rho = 0, - double alpha = 0, - double dampingRatio = 0, - double cost = 0, - string colour = "NO_RGB" - ) - { - this.nativeId = nativeId; - this.name = name; - this.grade = grade; - materialType = type; - this.designCode = designCode; - this.codeYear = codeYear; - this.strength = strength; - this.elasticModulus = elasticModulus; - this.poissonsRatio = poissonsRatio; - this.shearModulus = shearModulus; - density = rho; - thermalExpansivity = alpha; - this.dampingRatio = dampingRatio; - this.cost = cost; - this.colour = colour; - } - - public int nativeId { get; set; } - public string colour { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Materials/GSASteel.cs b/src/Speckle.Objects/Structural/GSA/Materials/GSASteel.cs deleted file mode 100644 index 5e487338..00000000 --- a/src/Speckle.Objects/Structural/GSA/Materials/GSASteel.cs +++ /dev/null @@ -1,65 +0,0 @@ -using Speckle.Objects.Structural.Materials; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Materials; - -[SpeckleType("Objects.Structural.GSA.Materials.GSASteel")] -public class GSASteel : Steel -{ - public GSASteel() { } - - [SchemaInfo( - "Steel", - "Creates a Speckle structural material for steel (to be used in structural analysis models)", - "Structural", - "Materials" - )] - public GSASteel( - int nativeId, - string name, - string? grade = null, - string? designCode = null, - string? codeYear = null, - double elasticModulus = 0, - double yieldStrength = 0, - double ultimateStrength = 0, - double maxStrain = 0, - double poissonsRatio = 0, - double shearModulus = 0, - double density = 0, - double alpha = 0, - double dampingRatio = 0, - double cost = 0, - string colour = "NO_RGB" - ) - { - this.nativeId = nativeId; - this.name = name; - this.grade = grade; - materialType = MaterialType.Concrete; - this.designCode = designCode; - this.codeYear = codeYear; - this.elasticModulus = elasticModulus; - this.yieldStrength = yieldStrength; - this.ultimateStrength = ultimateStrength; - this.maxStrain = maxStrain; - this.poissonsRatio = poissonsRatio; - this.shearModulus = shearModulus; - this.density = density; - this.dampingRatio = dampingRatio; - this.cost = cost; - this.colour = colour; - } - - public int nativeId { get; set; } - public string colour { get; set; } - - // FROM GWA - //public string Name { get => name; set { name = value; } } - //public GsaMat Mat; - //public double? Fy; - //public double? Fu; - //public double? EpsP; - //public double? Eh; // -} diff --git a/src/Speckle.Objects/Structural/GSA/Properties/GSAProperty1D.cs b/src/Speckle.Objects/Structural/GSA/Properties/GSAProperty1D.cs deleted file mode 100644 index 6271376b..00000000 --- a/src/Speckle.Objects/Structural/GSA/Properties/GSAProperty1D.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Speckle.Objects.Structural.Materials; -using Speckle.Objects.Structural.Properties; -using Speckle.Objects.Structural.Properties.Profiles; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Properties; - -[SpeckleType("Objects.Structural.GSA.Properties.GSAProperty1D")] -public class GSAProperty1D : Property1D -{ - public GSAProperty1D() { } - - [SchemaInfo("GSAProperty1D", "Creates a Speckle structural 1D element property for GSA", "GSA", "Properties")] - public GSAProperty1D( - int nativeId, - string name, - StructuralMaterial material, - SectionProfile profile, - double cost = 0, - double additionalMass = 0 - ) - { - this.nativeId = nativeId; - this.name = name; - this.material = material; - this.profile = profile; - this.cost = cost; - this.additionalMass = additionalMass; - } - - public int nativeId { get; set; } - - [DetachProperty] - public StructuralMaterial designMaterial { get; set; } - - public double additionalMass { get; set; } - public double? cost { get; set; } - public int? poolRef { get; set; } - public string colour { get; set; } -} diff --git a/src/Speckle.Objects/Structural/GSA/Properties/GSAProperty2D.cs b/src/Speckle.Objects/Structural/GSA/Properties/GSAProperty2D.cs deleted file mode 100644 index 6d8612ee..00000000 --- a/src/Speckle.Objects/Structural/GSA/Properties/GSAProperty2D.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Speckle.Objects.Structural.Materials; -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.GSA.Properties; - -[SpeckleType("Objects.Structural.GSA.Properties.Property2D")] -public class GSAProperty2D : Property2D -{ - public GSAProperty2D() { } - - [SchemaInfo("GSAProperty2D", "Creates a Speckle structural 2D element property for GSA", "GSA", "Properties")] - public GSAProperty2D(int nativeId, string name, StructuralMaterial material, double thickness) - { - this.nativeId = nativeId; - this.name = name; - this.material = material; - this.thickness = thickness; - } - - public int nativeId { get; set; } - - [DetachProperty] - public StructuralMaterial designMaterial { get; set; } - - public double cost { get; set; } - public double additionalMass { get; set; } - public string concreteSlabProp { get; set; } - public string colour { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Geometry/Axis.cs b/src/Speckle.Objects/Structural/Geometry/Axis.cs deleted file mode 100644 index bfffd86d..00000000 --- a/src/Speckle.Objects/Structural/Geometry/Axis.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Geometry; - -[SpeckleType("Objects.Structural.Geometry.Axis")] -public class Axis : Base -{ - public Axis() { } - - [SchemaInfo("Axis", "Creates a Speckle structural axis (a user-defined axis)", "Structural", "Geometry")] - public Axis(string name, AxisType axisType = AxisType.Cartesian, Plane? definition = null) - { - this.name = name; - this.axisType = axisType; - this.definition = definition; - } - - public string name { get; set; } - public AxisType axisType { get; set; } - public Plane? definition { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Geometry/Element1D.cs b/src/Speckle.Objects/Structural/Geometry/Element1D.cs deleted file mode 100644 index 3d166ba5..00000000 --- a/src/Speckle.Objects/Structural/Geometry/Element1D.cs +++ /dev/null @@ -1,134 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Common; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Geometry; - -[SpeckleType("Objects.Structural.Geometry.Element1D")] -public class Element1D : Base, IDisplayValue> -{ - public Element1D() { } - - public Element1D( - Line baseLine, - Property1D property, - ElementType1D type, - string? name, - string? units, - Restraint? end1Releases = null, - Restraint? end2Releases = null, - Vector? end1Offset = null, - Vector? end2Offset = null, - Plane? localAxis = null, - Node? orientationNode = null, - double orientationAngle = 0, - IReadOnlyList? displayValue = null - ) - { - this.baseLine = baseLine; - this.property = property; - this.type = type; - this.name = name; - this.units = units; - this.end1Releases = end1Releases ?? new Restraint("FFFFFF"); - this.end2Releases = end2Releases ?? new Restraint("FFFFFF"); - this.end1Offset = end1Offset ?? new Vector(0, 0, 0, units ?? Units.None); - this.end2Offset = end2Offset ?? new Vector(0, 0, 0, units ?? Units.None); - this.localAxis = localAxis; - this.orientationNode = orientationNode; - this.orientationAngle = orientationAngle; - this.displayValue = ((IReadOnlyList?)displayValue) ?? new[] { (Base)baseLine }; - } - - public string? name { get; set; } //add unique id as base identifier, name can change too easily - public Line baseLine { get; set; } - - [DetachProperty] - public Property1D property { get; set; } - - public ElementType1D type { get; set; } - public Restraint end1Releases { get; set; } - public Restraint end2Releases { get; set; } - public Vector end1Offset { get; set; } - public Vector end2Offset { get; set; } - public Node? orientationNode { get; set; } - public double orientationAngle { get; set; } - public Plane? localAxis { get; set; } - - [DetachProperty] - public Base? parent { get; set; } //parent element - - [DetachProperty] - public Node? end1Node { get; set; } //startNode - - [DetachProperty] - public Node? end2Node { get; set; } //endNode - - [DetachProperty] - public List? topology { get; set; } - - public string? units { get; set; } - - [DetachProperty] - public IReadOnlyList displayValue { get; set; } - - #region Schema Info Constructors - [SchemaInfo( - "Element1D (from local axis)", - "Creates a Speckle structural 1D element (from local axis)", - "Structural", - "Geometry" - )] - public Element1D( - Line baseLine, - Property1D property, - ElementType1D type, - string? name = null, - [SchemaParamInfo("If null, restraint condition defaults to unreleased (fully fixed translations and rotations)")] - Restraint? end1Releases = null, - [SchemaParamInfo("If null, restraint condition defaults to unreleased (fully fixed translations and rotations)")] - Restraint? end2Releases = null, - [SchemaParamInfo("If null, defaults to no offsets")] Vector? end1Offset = null, - [SchemaParamInfo("If null, defaults to no offsets")] Vector? end2Offset = null, - Plane? localAxis = null - ) - : this(baseLine, property, type, name, null, end1Releases, end2Releases, end1Offset, end2Offset, localAxis) { } - - [SchemaInfo( - "Element1D (from orientation node and angle)", - "Creates a Speckle structural 1D element (from orientation node and angle)", - "Structural", - "Geometry" - )] - public Element1D( - Line baseLine, - Property1D property, - ElementType1D type, - string? name = null, - [SchemaParamInfo("If null, restraint condition defaults to unreleased (fully fixed translations and rotations)")] - Restraint? end1Releases = null, - [SchemaParamInfo("If null, restraint condition defaults to unreleased (fully fixed translations and rotations)")] - Restraint? end2Releases = null, - [SchemaParamInfo("If null, defaults to no offsets")] Vector? end1Offset = null, - [SchemaParamInfo("If null, defaults to no offsets")] Vector? end2Offset = null, - Node? orientationNode = null, - double orientationAngle = 0 - ) - : this( - baseLine, - property, - type, - name, - null, - end1Releases, - end2Releases, - end1Offset, - end2Offset, - orientationNode: orientationNode, - orientationAngle: orientationAngle - ) { } - - #endregion -} diff --git a/src/Speckle.Objects/Structural/Geometry/Element2D.cs b/src/Speckle.Objects/Structural/Geometry/Element2D.cs deleted file mode 100644 index 467097a1..00000000 --- a/src/Speckle.Objects/Structural/Geometry/Element2D.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Geometry; - -[SpeckleType("Objects.Structural.Geometry.Element2D")] -public class Element2D : Base, IDisplayValue> -{ - public Element2D() { } - - public Element2D(List nodes) - { - topology = nodes; - } - - [SchemaInfo( - "Element2D", - "Creates a Speckle structural 2D element (based on a list of edge ie. external, geometry defining nodes)", - "Structural", - "Geometry" - )] - public Element2D(List nodes, Property2D property, double offset = 0, double orientationAngle = 0) - { - topology = nodes; - this.property = property; - this.offset = offset; - this.orientationAngle = orientationAngle; - } - - public string name { get; set; } - - [DetachProperty] - public Property2D property { get; set; } - - public ElementType2D type { get; set; } - public double offset { get; set; } //z direction (normal) - public double orientationAngle { get; set; } - - [DetachProperty] - public Base parent { get; set; } //parent element - - [DetachProperty] - public List topology { get; set; } - public List openings { get; set; } - - public string units { get; set; } - - [DetachProperty] - public List displayValue { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Geometry/Element3D.cs b/src/Speckle.Objects/Structural/Geometry/Element3D.cs deleted file mode 100644 index 4e82dcd7..00000000 --- a/src/Speckle.Objects/Structural/Geometry/Element3D.cs +++ /dev/null @@ -1,50 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Geometry; - -[SpeckleType("Objects.Structural.Geometry.Element3D")] -public class Element3D : Base -{ - public Element3D() { } - - public Element3D(Mesh baseMesh) - { - this.baseMesh = baseMesh; - } - - [SchemaInfo("Element3D", "Creates a Speckle structural 3D element", "Structural", "Geometry")] - public Element3D( - Mesh baseMesh, - Property3D property, - ElementType3D type, - string? name = null, - double orientationAngle = 0 - ) - { - this.baseMesh = baseMesh; - this.property = property; - this.type = type; - this.name = name; - this.orientationAngle = orientationAngle; - } - - public string? name { get; set; } - public Mesh baseMesh { get; set; } //rhino - parent mesh? elements (including props/materias) explicitly defined in a list - - [DetachProperty] - public Property3D property { get; set; } - - public ElementType3D type { get; set; } - public double orientationAngle { get; set; } - - [DetachProperty] - public Base parent { get; set; } //parent element - - [DetachProperty] - public List topology { get; set; } - - public string units { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Geometry/ElementType.cs b/src/Speckle.Objects/Structural/Geometry/ElementType.cs deleted file mode 100644 index 0c74c51e..00000000 --- a/src/Speckle.Objects/Structural/Geometry/ElementType.cs +++ /dev/null @@ -1,35 +0,0 @@ -namespace Speckle.Objects.Structural.Geometry; - -public enum ElementType1D -{ - Beam, - Brace, - Bar, - Column, - Rod, - Spring, - Tie, - Strut, - Link, - Damper, - Cable, - Spacer, - Other, - Null, -} - -public enum ElementType2D -{ - Quad4, - Quad8, - Triangle3, - Triangle6, -} - -public enum ElementType3D -{ - Brick8, - Wedge6, - Pyramid5, - Tetra4, -} diff --git a/src/Speckle.Objects/Structural/Geometry/MemberType.cs b/src/Speckle.Objects/Structural/Geometry/MemberType.cs deleted file mode 100644 index f8f5d715..00000000 --- a/src/Speckle.Objects/Structural/Geometry/MemberType.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace Speckle.Objects.Structural.Geometry; - -public enum MemberType -{ - Beam, - Column, - Generic1D, - Slab, - Wall, - Generic2D, - VoidCutter1D, - VoidCutter2D, -} diff --git a/src/Speckle.Objects/Structural/Geometry/MemberType1D.cs b/src/Speckle.Objects/Structural/Geometry/MemberType1D.cs deleted file mode 100644 index b96d32e9..00000000 --- a/src/Speckle.Objects/Structural/Geometry/MemberType1D.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace Speckle.Objects.Structural.Geometry; - -public enum MemberType1D -{ - Beam, - Column, - Generic1D, -} - -public enum MemberType2D -{ - Slab, - Wall, - Generic2D, - VoidCutter1D, - VoidCutter2D, -} diff --git a/src/Speckle.Objects/Structural/Geometry/Node.cs b/src/Speckle.Objects/Structural/Geometry/Node.cs deleted file mode 100644 index 45f813b2..00000000 --- a/src/Speckle.Objects/Structural/Geometry/Node.cs +++ /dev/null @@ -1,80 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Objects.Structural.Properties; -using Speckle.Sdk.Common; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Geometry; - -[SpeckleType("Objects.Structural.Geometry.Node")] -public class Node : Base -{ - public Node() { } - - public Node(Point basePoint) - { - this.basePoint = basePoint; - } - - [SchemaInfo( - "Node with properties", - "Creates a Speckle structural node with spring, mass and/or damper properties", - "Structural", - "Geometry" - )] - public Node( - Point basePoint, - string? name = null, - [SchemaParamInfo("If null, restraint condition defaults to free/fully released")] Restraint? restraint = null, - [SchemaParamInfo( - "If null, axis defaults to world xy (z axis defines the vertical direction, positive direction is up)" - )] - Axis? constraintAxis = null, - PropertySpring? springProperty = null, - PropertyMass? massProperty = null, - PropertyDamper? damperProperty = null - ) - { - this.basePoint = basePoint; - this.name = name; - this.restraint = restraint ?? new Restraint("RRRRRR"); - this.constraintAxis = - constraintAxis - ?? new Axis( - "Global", - AxisType.Cartesian, - new Plane - { - origin = new Point(0, 0, 0, Units.None), - normal = new Vector(0, 0, 1, Units.None), - xdir = new Vector(1, 0, 0, Units.None), - ydir = new Vector(0, 1, 0, Units.None), - units = Units.Meters, //Not sure if defaulting to meters is correct, but it was what we were doing previously inside Plane's ctor - } - ); - this.springProperty = springProperty; - this.massProperty = massProperty; - this.damperProperty = damperProperty; - } - - //public int nativeId { get; set; } //equivalent to num record in GWA keyword, can be used as a unique identifier for other software - public string? name { get; set; } - public Point basePoint { get; set; } - - [DetachProperty] - public Axis? constraintAxis { get; set; } // can be detachable? ex. a user-specified axis - - [DetachProperty] - public Restraint? restraint { get; set; } // can be detachable? ex. reuse pinned support condition - - [DetachProperty] - public PropertySpring? springProperty { get; set; } - - [DetachProperty] - public PropertyMass? massProperty { get; set; } - - [DetachProperty] - public PropertyDamper? damperProperty { get; set; } - - public string units { get; set; } = Units.None; -} diff --git a/src/Speckle.Objects/Structural/Geometry/Restraint.cs b/src/Speckle.Objects/Structural/Geometry/Restraint.cs deleted file mode 100644 index 580b2734..00000000 --- a/src/Speckle.Objects/Structural/Geometry/Restraint.cs +++ /dev/null @@ -1,89 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Geometry; - -[SpeckleType("Objects.Structural.Geometry.Restraint")] -public class Restraint : Base -{ - public Restraint() { } - - [SchemaInfo("Restraint (by code)", "Creates a Speckle restraint object", "Structural", "Geometry")] - public Restraint( - [SchemaParamInfo( - "A 6-character string to describe the restraint condition (F = Fixed, R = Released) for each degree of freedom - the first 3 characters represent translational degrees of freedom in the X, Y, and Z axes and the last 3 characters represent rotational degrees of freedom about the X, Y, and Z axes (ex. FFFRRR denotes a pinned condition, FFFFFF denotes a fixed condition)" - )] - string code - ) - { - this.code = code.ToUpper(); - } - - [SchemaInfo( - "Restraint (by code and stiffness)", - "Creates a Speckle restraint object (to describe support conditions with an explicit stiffness)", - "Structural", - "Geometry" - )] - public Restraint( - [SchemaParamInfo( - "A 6-character string to describe the restraint condition (F = Fixed, R = Released, K = Stiffness) for each degree of freedom - the first 3 characters represent translational degrees of freedom in the X, Y, and Z axes and the last 3 characters represent rotational degrees of freedom about the X, Y, and Z axes (ex. FFSRRR denotes fixed translation about the x and y axis, a spring stiffness for translation in the z axis and releases for all rotational degrees of freedom)" - )] - string code, - [SchemaParamInfo("Applies only if the restraint code character for translation in x is 'K'")] double stiffnessX = 0, - [SchemaParamInfo("Applies only if the restraint code character for translation in y is 'K'")] double stiffnessY = 0, - [SchemaParamInfo("Applies only if the restraint code character for translation in z is 'K'")] double stiffnessZ = 0, - [SchemaParamInfo("Applies only if the restraint code character for rotation about x is 'K'")] - double stiffnessXX = 0, - [SchemaParamInfo("Applies only if the restraint code character for rotation about y is 'K'")] - double stiffnessYY = 0, - [SchemaParamInfo("Applies only if the restraint code character for rotation about z is 'K'")] double stiffnessZZ = 0 - ) - { - this.code = code.ToUpper(); - this.stiffnessX = code[0] == 'K' || code[0] == 'k' ? stiffnessX : 0; - this.stiffnessY = code[1] == 'K' || code[1] == 'k' ? stiffnessY : 0; - this.stiffnessZ = code[2] == 'K' || code[2] == 'k' ? stiffnessZ : 0; - this.stiffnessXX = code[3] == 'K' || code[3] == 'k' ? stiffnessXX : 0; - this.stiffnessYY = code[4] == 'K' || code[4] == 'k' ? stiffnessYY : 0; - this.stiffnessZZ = code[5] == 'K' || code[5] == 'k' ? stiffnessZZ : 0; - } - - [SchemaInfo( - "Restraint (by enum)", - "Creates a Speckle restraint object (for pinned condition or fixed condition)", - "Structural", - "Geometry" - )] - public Restraint(RestraintType restraintType) - { - if (restraintType == RestraintType.Free) - { - code = "RRRRRR"; - } - - if (restraintType == RestraintType.Pinned) - { - code = "FFFRRR"; - } - - if (restraintType == RestraintType.Fixed) - { - code = "FFFFFF"; - } - - if (restraintType == RestraintType.Roller) - { - code = "RRFRRR"; - } - } - - public string code { get; set; } //a string to describe the restraint type for each degree of freedom - ex. FFFRRR (pin) / FFFFFF (fix) - public double stiffnessX { get; set; } - public double stiffnessY { get; set; } - public double stiffnessZ { get; set; } - public double stiffnessXX { get; set; } - public double stiffnessYY { get; set; } - public double stiffnessZZ { get; set; } - public string units { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Geometry/RestraintType.cs b/src/Speckle.Objects/Structural/Geometry/RestraintType.cs deleted file mode 100644 index 6b109aa2..00000000 --- a/src/Speckle.Objects/Structural/Geometry/RestraintType.cs +++ /dev/null @@ -1,24 +0,0 @@ -namespace Speckle.Objects.Structural.Geometry; - -public enum RestraintType -{ - Free, //Release - Pinned, - Fixed, - Roller, - //Spring //flexible - //rigid, free, flexible, comp only, tens only, flex comp only, flex tens only, non lin <-- SAF - //free, fixed, fixed negative, fixed positive, spring, spring negative, spring positive, spring relative, spring relative neg, spring relative pos, non lin, friction, damped, gap <-- BHoM -} - -public enum RestraintDescription -{ - none, - all, - x, - y, - z, - xy, - xz, - yz, -} diff --git a/src/Speckle.Objects/Structural/Geometry/Storey.cs b/src/Speckle.Objects/Structural/Geometry/Storey.cs deleted file mode 100644 index 67c1796b..00000000 --- a/src/Speckle.Objects/Structural/Geometry/Storey.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Speckle.Objects.BuiltElements; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Geometry; - -[SpeckleType("Objects.Structural.Geometry.Storey")] -public class Storey : Level // or inherit from Base? -{ - public Storey() { } - - /// - /// A storey in the structural model - /// - /// The name of the storey - /// The elevation of the storey (along the global z-axis, ie. storey exists in the global XY plane) - [SchemaInfo( - "Storey", - "Creates a Speckle structural storey (to describe floor levels/storeys in the structural model)", - "Structural", - "Geometry" - )] - public Storey(string name, double elevation) - { - this.name = name; - this.elevation = elevation; - } -} diff --git a/src/Speckle.Objects/Structural/Loading/Load.cs b/src/Speckle.Objects/Structural/Loading/Load.cs deleted file mode 100644 index 93f2e78d..00000000 --- a/src/Speckle.Objects/Structural/Loading/Load.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Loading; - -[SpeckleType("Objects.Structural.Loading.Load")] -public class Load : Base -{ - public Load() { } - - /// - /// A generalised structural load, described by a name and load case - /// - /// Name of the load - /// Load case specification for the load - public Load(string? name, LoadCase loadCase) - { - this.name = name; - this.loadCase = loadCase; - } - - public string? name { get; set; } - - [DetachProperty] - public LoadCase loadCase { get; set; } - - public string units { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Loading/LoadBeam.cs b/src/Speckle.Objects/Structural/Loading/LoadBeam.cs deleted file mode 100644 index 30ce7f87..00000000 --- a/src/Speckle.Objects/Structural/Loading/LoadBeam.cs +++ /dev/null @@ -1,114 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Loading; - -[SpeckleType("Objects.Structural.Loading.LoadBeam")] -public class LoadBeam : Load -{ - public LoadBeam() { } - - /// - /// A beam load (for 1D elements) - /// - /// The load case in which the load applies - /// A list of 1D elements to apply the load to - /// The type of loading applied - /// The direction of the load, with respect to the specified axis - /// The axis in which the direction of the load is defined - /// The magnitude of the load, either a force or moment - /// The locations of the load - /// Whether the load is projected (ie. whether the distributed load is specified as the intensity applied to the projection of the element on the surface normal to the direction of the load, like snow in an inclined roof) - /// A name or description to identify the load - [SchemaInfo("Beam Load", "Creates a Speckle structural beam (1D elem/member) load", "Structural", "Loading")] - public LoadBeam( - LoadCase loadCase, - List elements, - BeamLoadType loadType, - LoadDirection direction, - LoadAxisType loadAxis = LoadAxisType.Global, - [SchemaParamInfo( - "A list that represents load magnitude (number of values varies based on load type - Point: 1, Uniform: 1, Linear: 2, Patch: 2, Tri-linear:2)" - )] - List? values = null, - [SchemaParamInfo( - "A list that represents load locations (number of values varies based on load type - Point: 1, Uniform: null, Linear: null, Patch: 2, Tri-linear: 2)" - )] - List? positions = null, - bool isProjected = false, - string? name = null - ) - { - this.loadCase = loadCase; - this.elements = elements; - this.loadType = loadType; - this.direction = direction; - loadAxisType = loadAxis; - this.values = values; - this.positions = positions; - this.isProjected = isProjected; - this.name = name; - } - - /// - /// A beam load (for 1D elements) with a user-defined axis - /// - /// The load case in which the load applies - /// A list of 1D elements to apply the load to - /// The type of loading applied - /// The direction of the load, with respect to the specified axis - /// The axis in which the direction of the load is defined (can be a user-defined axis) - /// The magnitude of the load, either a force or moment - /// The locations of the load - /// Whether the load is projected (ie. whether the distributed load is specified as the intensity applied to the projection of the element on the surface normal to the direction of the load, like snow in an inclined roof) - /// A name or description to identify the load - [SchemaInfo( - "Beam Load (user-defined axis)", - "Creates a Speckle structural beam (1D elem/member) load (specified using a user-defined axis)", - "Structural", - "Loading" - )] - public LoadBeam( - LoadCase loadCase, - List elements, - BeamLoadType loadType, - LoadDirection direction, - Axis loadAxis, - [SchemaParamInfo( - "A list that represents load magnitude (number of values varies based on load type - Point: 1, Uniform: 1, Linear: 2, Patch: 2, Tri-linear:2)" - )] - List? values = null, - [SchemaParamInfo( - "A list that represents load locations (number of values varies based on load type - Point: 1, Uniform: null, Linear: null, Patch: 2, Tri-linear: 2)" - )] - List? positions = null, - bool isProjected = false, - string? name = null - ) - { - this.loadCase = loadCase; - this.elements = elements; - this.loadType = loadType; - this.direction = direction; - this.loadAxis = loadAxis; - this.values = values; - this.positions = positions; - this.isProjected = isProjected; - this.name = name; - } - - [DetachProperty, Chunkable(5000)] - public List elements { get; set; } - - public BeamLoadType loadType { get; set; } - public LoadDirection direction { get; set; } - - [DetachProperty] - public Axis loadAxis { get; set; } - - public LoadAxisType loadAxisType { get; set; } - public bool isProjected { get; set; } - public List? values { get; set; } - public List? positions { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Loading/LoadCase.cs b/src/Speckle.Objects/Structural/Loading/LoadCase.cs deleted file mode 100644 index 26bea424..00000000 --- a/src/Speckle.Objects/Structural/Loading/LoadCase.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Loading; - -[SpeckleType("Objects.Structural.Loading.LoadCase")] -public class LoadCase : Base // or LoadPattern? (per CSI) -{ - public LoadCase() { } - - /// - /// A structural load case, a load case gives a way of grouping load effects together - /// - /// The name of the load case (the names of individual loads that are associated with the load case are defined elsewhere, in the loads themselves) - /// The type of the load case - /// A way of grouping load cases with the similar characteristics (ex. the source/mass source/origin of the loads) - /// The type of action of the load - /// A description of the load case - [SchemaInfo("Load Case", "Creates a Speckle structural load case", "Structural", "Loading")] - public LoadCase( - string name, - LoadType loadType, - string? group = null, - ActionType actionType = ActionType.None, - string? description = null - ) - { - this.name = name; - this.loadType = loadType; - this.group = group; - this.actionType = actionType; - this.description = description ?? ""; - } - - public string name { get; set; } //load case title, ex. "Dead load" - public LoadType loadType { get; set; } //ex. Dead load - public string? group { get; set; } //or load group, "A" - public ActionType actionType { get; set; } //ex. Permanent - public string description { get; set; } = ""; //category as alternative, ex. Offices – Cat.B, assembly area -} diff --git a/src/Speckle.Objects/Structural/Loading/LoadCombination.cs b/src/Speckle.Objects/Structural/Loading/LoadCombination.cs deleted file mode 100644 index fcd927b6..00000000 --- a/src/Speckle.Objects/Structural/Loading/LoadCombination.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Loading; - -[SpeckleType("Objects.Structural.Loading.LoadCombination")] -public class LoadCombination : Base //combination case -{ - public LoadCombination() { } - - /// - /// - /// - /// - /// - /// - /// - [SchemaInfo("Load Combination", "Creates a Speckle load combination", "Structural", "Loading")] - public LoadCombination( - string name, - [SchemaParamInfo("A list of load cases")] List loadCases, - [SchemaParamInfo("A list of load factors (to be mapped to provided load cases)")] List loadFactors, - CombinationType combinationType - ) - { - if (loadCases.Count != loadFactors.Count) - { - throw new ArgumentException("Number of load cases provided does not match number of load factors provided"); - } - - this.name = name; - this.loadCases = loadCases; - this.loadFactors = loadFactors; - this.combinationType = combinationType; - } - - public string name { get; set; } - - [DetachProperty] - public List loadCases { get; set; } - - public List loadFactors { get; set; } - public CombinationType combinationType { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Loading/LoadFace.cs b/src/Speckle.Objects/Structural/Loading/LoadFace.cs deleted file mode 100644 index 469648f9..00000000 --- a/src/Speckle.Objects/Structural/Loading/LoadFace.cs +++ /dev/null @@ -1,114 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Loading; - -[SpeckleType("Objects.Structural.Loading.LoadFace")] -public class LoadFace : Load -{ - public LoadFace() { } - - /// - /// A face load (for 2D elements) - /// - /// The load case in which the load applies - /// A list of 2D elements to apply the load to - /// The type of loading applied - /// The direction of the load, with respect to the specified axis - /// The axis in which the direction of the load is defined - /// The magnitude of the load, either a pressure or a force at the specified point - /// The locations of the load - /// Whether the load is projected (ie. whether the distributed load is specified as the intensity applied to the projection of the element on the surface normal to the direction of the load, like snow in an inclined roof) - /// A name or description to identify the load - [SchemaInfo("Face Load", "Creates a Speckle structural face (2D elem/member) load", "Structural", "Loading")] - public LoadFace( - LoadCase loadCase, - List elements, - FaceLoadType loadType, - LoadDirection2D direction, - LoadAxisType loadAxis = LoadAxisType.Global, - [SchemaParamInfo( - "A list that represents load magnitude (number of values varies based on load type - Uniform: 1, Variable: 4 (corner nodes), Point: 1)" - )] - List? values = null, - [SchemaParamInfo( - "A list that represents load locations (number of values varies based on load type - Uniform: null, Variable: null, Point: 2)" - )] - List? positions = null, - bool isProjected = false, - string? name = null - ) - { - this.loadCase = loadCase; - this.elements = elements; - this.loadType = loadType; - this.direction = direction; - loadAxisType = loadAxis; - this.values = values; - this.positions = positions; - this.isProjected = isProjected; - this.name = name; - } - - /// - /// A face load (for 2D elements) with a user-defined axis - /// - /// The load case in which the load applies - /// A list of 2D elements to apply the load to - /// The type of loading applied - /// The direction of the load, with respect to the specified axis - /// The axis in which the direction of the load is defined (can be a user-defined axis) - /// The magnitude of the load, either a pressure or a force at the specified point - /// The locations of the load - /// Whether the load is projected (ie. whether the distributed load is specified as the intensity applied to the projection of the element on the surface normal to the direction of the load, like snow in an inclined roof) - /// A name or description to identify the load - [SchemaInfo( - "Face Load (user-defined axis)", - "Creates a Speckle structural face (2D elem/member) load (specified using a user-defined axis)", - "Structural", - "Loading" - )] - public LoadFace( - LoadCase loadCase, - List elements, - FaceLoadType loadType, - LoadDirection2D direction, - Axis loadAxis, - [SchemaParamInfo( - "A list that represents load magnitude (number of values varies based on load type - Uniform: 1, Variable: 4 (corner nodes), Point: 1)" - )] - List? values = null, - [SchemaParamInfo( - "A list that represents load locations (number of values varies based on load type - Uniform: null, Variable: null, Point: 2)" - )] - List? positions = null, - bool isProjected = false, - string? name = null - ) - { - this.loadCase = loadCase; - this.elements = elements; - this.loadType = loadType; - this.direction = direction; - this.loadAxis = loadAxis; - this.values = values; - this.positions = positions; - this.isProjected = isProjected; - this.name = name; - } - - [DetachProperty, Chunkable(5000)] - public List elements { get; set; } - - public FaceLoadType loadType { get; set; } - public LoadDirection2D direction { get; set; } - - [DetachProperty] - public Axis loadAxis { get; set; } - - public LoadAxisType loadAxisType { get; set; } - public bool isProjected { get; set; } - public List? values { get; set; } - public List? positions { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Loading/LoadGravity.cs b/src/Speckle.Objects/Structural/Loading/LoadGravity.cs deleted file mode 100644 index c66f58f9..00000000 --- a/src/Speckle.Objects/Structural/Loading/LoadGravity.cs +++ /dev/null @@ -1,89 +0,0 @@ -using Speckle.Objects.Geometry; -using Speckle.Sdk.Common; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Loading; - -[SpeckleType("Objects.Structural.Loading.LoadGravity")] -public class LoadGravity : Load -{ - public LoadGravity() { } - - /// - /// A gravity load (applied to all elements) - /// - /// A name or description to identify the load - /// The load case in which the load applies - /// A list of factors that apply on the “magnitude" of gravity (in terms of g, accleration of gravity) in each of the global axis (x, y and z) directions. Ex. For a model with global z-axis vertically upwards, the gravity factors of (0, 0, −1) represent a normal vertical gravity load on the structure - [SchemaInfo( - "Gravity Load (all elements)", - "Creates a Speckle structural gravity load (applied to all nodes and elements)", - "Structural", - "Loading" - )] - public LoadGravity(LoadCase loadCase, Vector? gravityFactors = null, string? name = null) - { - this.loadCase = loadCase; - this.gravityFactors = gravityFactors ?? new Vector(0, 0, -1, Units.None); - this.name = name; - } - - /// - /// A gravity load (applied to the specified elements) - /// - /// A name or description to identify the load - /// The load case in which the load applies - /// A list of elements to apply the load to - /// A list of factors that apply on the “magnitude" of gravity (in terms of g, accleration of gravity) in each of the global axis (x, y and z) directions. Ex. For a model with global z-axis vertically upwards, the gravity factors of (0, 0, −1) represent a normal vertical gravity load on the structure - [SchemaInfo( - "Gravity Load (specified elements)", - "Creates a Speckle structural gravity load (applied to specified elements)", - "Structural", - "Loading" - )] - public LoadGravity(LoadCase loadCase, List elements, Vector? gravityFactors = null, string? name = null) - { - this.elements = elements; - this.loadCase = loadCase; - this.gravityFactors = gravityFactors ?? new Vector(0, 0, -1, Units.None); - this.name = name; - } - - /// - /// A gravity load (applied to the specified elements and nodes) - /// - /// A name or description to identify the load - /// The load case in which the load applies - /// A list of elements to apply the load to - /// A list of nodes to apply the load to - /// A list of factors that apply on the “magnitude" of gravity (in terms of g, accleration of gravity) in each of the global axis (x, y and z) directions. Ex. For a model with global z-axis vertically upwards, the gravity factors of (0, 0, −1) represent a normal vertical gravity load on the structure - [SchemaInfo( - "Gravity Load (specified elements and nodes)", - "Creates a Speckle structural gravity load (applied to specified nodes and elements)", - "Structural", - "Loading" - )] - public LoadGravity( - LoadCase loadCase, - List elements, - List nodes, - Vector? gravityFactors = null, - string? name = null - ) - { - this.elements = elements; - this.nodes = nodes; - this.loadCase = loadCase; - this.gravityFactors = gravityFactors ?? new Vector(0, 0, -1, Units.None); - this.name = name; - } - - [DetachProperty, Chunkable(5000)] - public List elements { get; set; } - - [DetachProperty, Chunkable(5000)] - public List nodes { get; set; } - - public Vector gravityFactors { get; set; } // a normal vertical gravity load is Z = -1 -} diff --git a/src/Speckle.Objects/Structural/Loading/LoadNode.cs b/src/Speckle.Objects/Structural/Loading/LoadNode.cs deleted file mode 100644 index 8169ff8c..00000000 --- a/src/Speckle.Objects/Structural/Loading/LoadNode.cs +++ /dev/null @@ -1,70 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Loading; - -[SpeckleType("Objects.Structural.Loading.LoadNode")] -public class LoadNode : Load -{ - public LoadNode() { } - - /// - /// A node load (applied in the global axis) - /// - /// The load case in which the load applies - /// >A list of nodes to apply the load to - /// The direction of the loading, relative to the specified axis - /// The magnitude of the load, either a force or moment - /// A name or description to identify the load/// - [SchemaInfo("Node Load", "Creates a Speckle node load", "Structural", "Loading")] - public LoadNode(LoadCase loadCase, List nodes, LoadDirection direction, double value, string? name = null) - { - this.name = name; - this.loadCase = loadCase; - this.nodes = nodes; - this.direction = direction; - this.value = value; - } - - /// - /// A node load (based on a user-defined axis) - /// - /// The load case in which the load applies - /// >A list of nodes to apply the load to - /// The axis in which the load is applied - /// The direction of the loading, relative to the specified axis - /// The magnitude of the load, either a force or moment - /// A name or description to identify the load/// - [SchemaInfo( - "Node Load (user-defined axis)", - "Creates a Speckle node load (specifed using a user-defined axis)", - "Structural", - "Loading" - )] - public LoadNode( - LoadCase loadCase, - List nodes, - Axis loadAxis, - LoadDirection direction, - double value, - string? name = null - ) - { - this.name = name; - this.loadCase = loadCase; - this.nodes = nodes; - this.loadAxis = loadAxis; - this.direction = direction; - this.value = value; - } - - [DetachProperty, Chunkable(5000)] - public List nodes { get; set; } - - [DetachProperty] - public Axis loadAxis { get; set; } - - public LoadDirection direction { get; set; } - public double value { get; set; } //a force or a moment, displacement (translation or rotation) and settlement to be covered in other classes -} diff --git a/src/Speckle.Objects/Structural/Loading/Loads.cs b/src/Speckle.Objects/Structural/Loading/Loads.cs deleted file mode 100644 index cda573eb..00000000 --- a/src/Speckle.Objects/Structural/Loading/Loads.cs +++ /dev/null @@ -1,75 +0,0 @@ -namespace Speckle.Objects.Structural.Loading; - -public enum LoadType -{ - None, - Dead, - SuperDead, - Soil, - Live, - LiveRoof, - ReducibleLive, - Wind, - Snow, - Rain, - Thermal, - Notional, - Prestress, - Equivalent, - Accidental, - SeismicRSA, - SeismicAccTorsion, - SeismicStatic, - Other, -} - -public enum ActionType -{ - None, - Permanent, - Variable, - Accidental, -} - -public enum BeamLoadType -{ - Point, - Uniform, - Linear, - Patch, - TriLinear, -} - -public enum FaceLoadType -{ - Constant, - Variable, - Point, -} - -public enum LoadDirection2D -{ - X, - Y, - Z, -} - -public enum LoadDirection -{ - X, - Y, - Z, - XX, - YY, - ZZ, -} - -public enum CombinationType -{ - LinearAdd, - Envelope, - AbsoluteAdd, - SRSS, - RangeAdd // what's this? - , -} diff --git a/src/Speckle.Objects/Structural/MaterialType.cs b/src/Speckle.Objects/Structural/MaterialType.cs deleted file mode 100644 index 1bf03445..00000000 --- a/src/Speckle.Objects/Structural/MaterialType.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace Speckle.Objects.Structural; - -public enum MaterialType -{ - Concrete, - Steel, - Timber, - Aluminium, - Masonry, - FRP, - Glass, - Fabric, - Rebar, - Tendon, - ColdFormed, - Other, -} diff --git a/src/Speckle.Objects/Structural/Materials/Concrete.cs b/src/Speckle.Objects/Structural/Materials/Concrete.cs deleted file mode 100644 index 99dcc323..00000000 --- a/src/Speckle.Objects/Structural/Materials/Concrete.cs +++ /dev/null @@ -1,64 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Materials; - -[SpeckleType("Objects.Structural.Materials.Concrete")] -public class Concrete : StructuralMaterial -{ - public Concrete() { } - - [SchemaInfo( - "Concrete", - "Creates a Speckle structural material for concrete (to be used in structural analysis models)", - "Structural", - "Materials" - )] - public Concrete( - string name, - string? grade = null, - string? designCode = null, - string? codeYear = null, - double elasticModulus = 0, - double compressiveStrength = 0, - double tensileStrength = 0, - double flexuralStrength = 0, - double maxCompressiveStrain = 0, - double maxTensileStrain = 0, - double maxAggregateSize = 0, - bool lightweight = false, - double poissonsRatio = 0, - double shearModulus = 0, - double density = 0, - double thermalExpansivity = 0, - double dampingRatio = 0 - ) - { - this.name = name; - this.grade = grade; - materialType = MaterialType.Concrete; - this.designCode = designCode; - this.codeYear = codeYear; - this.elasticModulus = elasticModulus; - this.compressiveStrength = compressiveStrength; - this.tensileStrength = tensileStrength; - this.flexuralStrength = flexuralStrength; - this.maxCompressiveStrain = maxCompressiveStrain; - this.maxTensileStrain = maxTensileStrain; - this.maxAggregateSize = maxAggregateSize; - this.lightweight = lightweight; - this.poissonsRatio = poissonsRatio; - this.shearModulus = shearModulus; - this.density = density; - this.thermalExpansivity = thermalExpansivity; - this.dampingRatio = dampingRatio; - } - - public double compressiveStrength { get; set; } //forgo using "strength" property in Material class - public double tensileStrength { get; set; } //design calc impacts - public double flexuralStrength { get; set; } //design calc impacts - public double maxCompressiveStrain { get; set; } //failure strain - public double maxTensileStrain { get; set; } - public double maxAggregateSize { get; set; } - public bool lightweight { get; set; } //whether or not it's a lightweight concrete -} diff --git a/src/Speckle.Objects/Structural/Materials/Steel.cs b/src/Speckle.Objects/Structural/Materials/Steel.cs deleted file mode 100644 index 687a7398..00000000 --- a/src/Speckle.Objects/Structural/Materials/Steel.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Materials; - -[SpeckleType("Objects.Structural.Materials.Steel")] -public class Steel : StructuralMaterial -{ - public Steel() { } - - [SchemaInfo( - "Steel", - "Creates a Speckle structural material for steel (to be used in structural analysis models)", - "Structural", - "Materials" - )] - public Steel( - string name, - string? grade = null, - string? designCode = null, - string? codeYear = null, - double elasticModulus = 0, - double yieldStrength = 0, - double ultimateStrength = 0, - double maxStrain = 0, - double poissonsRatio = 0, - double shearModulus = 0, - double density = 0, - double alpha = 0, - double dampingRatio = 0 - ) - { - this.name = name; - this.grade = grade; - materialType = MaterialType.Steel; - this.designCode = designCode; - this.codeYear = codeYear; - this.elasticModulus = elasticModulus; - this.yieldStrength = yieldStrength; - this.ultimateStrength = ultimateStrength; - this.maxStrain = maxStrain; - this.poissonsRatio = poissonsRatio; - this.shearModulus = shearModulus; - this.density = density; - this.dampingRatio = dampingRatio; - } - - public double yieldStrength { get; set; } //or yieldStress - public double ultimateStrength { get; set; } //ultimateStress - public double maxStrain { get; set; } //failureStrain - public double strainHardeningModulus { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Materials/StructuralMaterial.cs b/src/Speckle.Objects/Structural/Materials/StructuralMaterial.cs deleted file mode 100644 index 4d5eed39..00000000 --- a/src/Speckle.Objects/Structural/Materials/StructuralMaterial.cs +++ /dev/null @@ -1,82 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Materials; - -[SpeckleType("Objects.Structural.Materials.StructuralMaterial")] -public class StructuralMaterial : Base -{ - // add carbon/environmental parameters? - - public StructuralMaterial() { } - - [SchemaInfo("Structural Material", "Creates a Speckle structural material", "Structural", "Materials")] - public StructuralMaterial( - string name, - MaterialType type, - string? grade = null, - string? designCode = null, - string? codeYear = null - ) - { - this.name = name; - materialType = type; - this.grade = grade; - this.designCode = designCode; - this.codeYear = codeYear; - } - - [SchemaInfo( - "Structural Material (with properties)", - "Creates a Speckle structural material with (isotropic) properties", - "Structural", - "Materials" - )] - public StructuralMaterial( - string name, - MaterialType type, - string? grade = null, - string? designCode = null, - string? codeYear = null, - double strength = 0, - double elasticModulus = 0, - double poissonsRatio = 0, - double shearModulus = 0, - double rho = 0, - double alpha = 0, - double dampingRatio = 0, - double materialSafetyFactor = 0, - double cost = 0 - ) - { - this.name = name; - this.grade = grade; - materialType = type; - this.designCode = designCode; - this.codeYear = codeYear; - this.strength = strength; - this.elasticModulus = elasticModulus; - this.poissonsRatio = poissonsRatio; - this.shearModulus = shearModulus; - density = rho; - thermalExpansivity = alpha; - this.dampingRatio = dampingRatio; - this.materialSafetyFactor = materialSafetyFactor; - this.cost = cost; - } - - public string name { get; set; } - public string? grade { get; set; } //ex. 350W(G40.21 Plate), could be set in name too - public MaterialType materialType { get; set; } - public string? designCode { get; set; } - public string? codeYear { get; set; } - public double strength { get; set; } - public double elasticModulus { get; set; } // E - public double poissonsRatio { get; set; } // nu - public double shearModulus { get; set; } // G - public double density { get; set; } // rho - public double thermalExpansivity { get; set; } // alpha, thermal coefficient of expansion - public double dampingRatio { get; set; } // zeta, material damping fraction - public double cost { get; set; } // material rate (ie. $/weight) - public double materialSafetyFactor { get; set; } //resistance factor -} diff --git a/src/Speckle.Objects/Structural/Materials/Timber.cs b/src/Speckle.Objects/Structural/Materials/Timber.cs deleted file mode 100644 index b2c8160e..00000000 --- a/src/Speckle.Objects/Structural/Materials/Timber.cs +++ /dev/null @@ -1,49 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Materials; - -[SpeckleType("Objects.Structural.Materials.Timber")] -public class Timber : StructuralMaterial -{ - public Timber() { } - - [SchemaInfo( - "Timber", - "Creates a Speckle structural material for timber (to be used in structural analysis models)", - "Structural", - "Materials" - )] - public Timber( - string name, - string? species = null, - string? grade = null, - string? designCode = null, - string? codeYear = null, - double strength = 0, - double elasticModulus = 0, - double poissonsRatio = 0, - double shearModulus = 0, - double density = 0, - double thermalExpansivity = 0, - double dampingRatio = 0 - ) - { - this.name = name; - this.grade = grade; - this.species = species; - materialType = MaterialType.Timber; - this.designCode = designCode; - this.codeYear = codeYear; - this.strength = strength; - this.elasticModulus = elasticModulus; - this.poissonsRatio = poissonsRatio; - this.shearModulus = shearModulus; - this.density = density; - this.thermalExpansivity = thermalExpansivity; - this.dampingRatio = dampingRatio; - } - - //missing timber-specific properties? parallel to grain, perpendicular to grain - public string? species { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Properties/Profiles/SectionProfile.cs b/src/Speckle.Objects/Structural/Properties/Profiles/SectionProfile.cs deleted file mode 100644 index f6725606..00000000 --- a/src/Speckle.Objects/Structural/Properties/Profiles/SectionProfile.cs +++ /dev/null @@ -1,260 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Properties.Profiles; - -[SpeckleType("Objects.Structural.Properties.Profiles.SectionProfile")] -public class SectionProfile : Base //section profile description -{ - public SectionProfile() { } - - public SectionProfile( - string name, - ShapeType shapeType, - double area, - double Iyy, - double Izz, - double J, - double Ky, - double Kz, - double weight - ) - { - this.name = name; - this.shapeType = shapeType; - this.area = area; - this.Iyy = Izz; - this.Izz = Izz; - this.J = J; - this.Ky = Ky; - this.Kz = Kz; - this.weight = weight; - } - - public string name { get; set; } - public virtual ShapeType shapeType { get; set; } = ShapeType.Undefined; - - public string shapeName => shapeType.ToString(); - - public double area { get; set; } - - //Moment of inertia about the Major axis - public double Iyy { get; set; } - public double Izz { get; set; } - public double J { get; set; } - public double Ky { get; set; } - public double Kz { get; set; } - public double weight { get; set; } //section weight, ex. kg/m weight is defined in materials though more ? rather than section profile. - public string units { get; set; } -} - -[SpeckleType("Objects.Structural.Properties.Profiles.Rectangular")] -public class Rectangular : SectionProfile -{ - public Rectangular() { } - - [SchemaInfo( - "Rectangular", - "Creates a Speckle structural rectangular section profile", - "Structural", - "Section Profile" - )] - public Rectangular(string name, double depth, double width, double webThickness = 0, double flangeThickness = 0) - { - this.name = name; - this.depth = depth; - this.width = width; - this.webThickness = webThickness; - this.flangeThickness = flangeThickness; - } - - public double depth { get; set; } - public double width { get; set; } - public double webThickness { get; set; } // tw - public double flangeThickness { get; set; } // tf - public override ShapeType shapeType { get; set; } = ShapeType.Rectangular; -} - -[SpeckleType("Objects.Structural.Properties.Profiles.Circular")] -public class Circular : SectionProfile -{ - public Circular() { } - - [SchemaInfo("Circular", "Creates a Speckle structural circular section profile", "Structural", "Section Profile")] - public Circular(string name, double radius, double wallThickness = 0) - { - this.name = name; - this.radius = radius; - this.wallThickness = wallThickness; - } - - public double radius { get; set; } - public double wallThickness { get; set; } - public override ShapeType shapeType { get; set; } = ShapeType.Circular; -} - -[SpeckleType("Objects.Structural.Properties.Profiles.ISection")] -public class ISection : SectionProfile -{ - public ISection() { } - - [SchemaInfo("ISection", "Creates a Speckle structural I section profile", "Structural", "Section Profile")] - public ISection(string name, double depth, double width, double webThickness, double flangeThickness) - { - this.name = name; - this.depth = depth; - this.width = width; - this.webThickness = webThickness; - this.flangeThickness = flangeThickness; - } - - public double depth { get; set; } - public double width { get; set; } - public double webThickness { get; set; } - public double flangeThickness { get; set; } - public override ShapeType shapeType { get; set; } = ShapeType.I; -} - -[SpeckleType("Objects.Structural.Properties.Profiles.Tee")] -public class Tee : SectionProfile -{ - public Tee() { } - - [SchemaInfo("Tee", "Creates a Speckle structural Tee section profile", "Structural", "Section Profile")] - public Tee(string name, double depth, double width, double webThickness, double flangeThickness) - { - this.name = name; - this.depth = depth; - this.width = width; - this.webThickness = webThickness; - this.flangeThickness = flangeThickness; - } - - public double depth { get; set; } - public double width { get; set; } - public double webThickness { get; set; } - public double flangeThickness { get; set; } - public override ShapeType shapeType { get; set; } = ShapeType.Tee; -} - -[SpeckleType("Objects.Structural.Properties.Profiles.Angle")] -public class Angle : SectionProfile -{ - public Angle() { } - - [SchemaInfo("Angle", "Creates a Speckle structural angle section profile", "Structural", "Section Profile")] - public Angle(string name, double depth, double width, double webThickness, double flangeThickness) - { - this.name = name; - this.depth = depth; - this.width = width; - this.webThickness = webThickness; - this.flangeThickness = flangeThickness; - } - - public double depth { get; set; } - public double width { get; set; } - public double webThickness { get; set; } - public double flangeThickness { get; set; } - public override ShapeType shapeType { get; set; } = ShapeType.Angle; -} - -[SpeckleType("Objects.Structural.Properties.Profiles.Channel")] -public class Channel : SectionProfile -{ - public Channel() { } - - [SchemaInfo("Channel", "Creates a Speckle structural channel section profile", "Structural", "Section Profile")] - public Channel(string name, double depth, double width, double webThickness, double flangeThickness) - { - this.name = name; - this.depth = depth; - this.width = width; - this.webThickness = webThickness; - this.flangeThickness = flangeThickness; - } - - public double depth { get; set; } - public double width { get; set; } - public double webThickness { get; set; } - public double flangeThickness { get; set; } - public override ShapeType shapeType { get; set; } = ShapeType.Channel; -} - -[SpeckleType("Objects.Structural.Properties.Profiles.Perimeter")] -public class Perimeter : SectionProfile -{ - public Perimeter() { } - - [SchemaInfo( - "Perimeter", - "Creates a Speckle structural section profile defined by a perimeter curve and, if applicable, a list of void curves", - "Structural", - "Section Profile" - )] - public Perimeter(string name, ICurve outline, List? voids = null) - { - this.name = name; - this.outline = outline; - this.voids = voids ?? new(); - } - - public ICurve outline { get; set; } - public List voids { get; set; } = new(); -} - -[SpeckleType("Objects.Structural.Properties.Profiles.Catalogue")] -public class Catalogue : SectionProfile -{ - public Catalogue() { } - - [SchemaInfo( - "Catalogue (by description)", - "Creates a Speckle structural section profile based on a catalogue section description", - "Structural", - "Section Profile" - )] - public Catalogue(string description) - { - this.description = description; - } - - [SchemaInfo("Catalogue", "Creates a Speckle structural section profile", "Structural", "Section Profile")] - public Catalogue(string name, string catalogueName, string sectionType, string sectionName) - { - this.name = name; - this.catalogueName = catalogueName; - this.sectionType = sectionType; - this.sectionName = sectionName; - } - - public string description { get; set; } // a description string for a catalogue section, per a to be defined convention for industry-typical, commonly manufactured sections - SAF Formcodes, Oasys profiles? - public string catalogueName { get; set; } // ex. AISC, could be enum value - public string sectionType { get; set; } // ex. W shapes, could be enum value - public string sectionName { get; set; } // ex. W44x335, could be enum value -} - -[SpeckleType("Objects.Structural.Properties.Profiles.Explicit")] -public class Explicit : SectionProfile -{ - public Explicit() { } - - [SchemaInfo( - "Explicit", - "Creates a Speckle structural section profile based on explicitly defining geometric properties", - "Structural", - "Section Profile" - )] - public Explicit(string name, double area, double Iyy, double Izz, double J, double Ky, double Kz) - { - this.name = name; - this.area = area; - this.Iyy = Iyy; - this.Izz = Izz; - this.J = J; - this.Ky = Ky; - this.Kz = Kz; - } - - public override ShapeType shapeType { get; set; } = ShapeType.Explicit; -} diff --git a/src/Speckle.Objects/Structural/Properties/Property.cs b/src/Speckle.Objects/Structural/Properties/Property.cs deleted file mode 100644 index 4e56f0e9..00000000 --- a/src/Speckle.Objects/Structural/Properties/Property.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Properties; - -[SpeckleType("Objects.Structural.Properties.Property")] -public class Property : Base -{ - public Property() { } - - [SchemaInfo("Property", "Creates a Speckle structural property", "Structural", "Properties")] - public Property(string name) - { - this.name = name; - } - - public string name { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Properties/Property1D.cs b/src/Speckle.Objects/Structural/Properties/Property1D.cs deleted file mode 100644 index 29bf1455..00000000 --- a/src/Speckle.Objects/Structural/Properties/Property1D.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Materials; -using Speckle.Objects.Structural.Properties.Profiles; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Properties; - -[SpeckleType("Objects.Structural.Properties.Property1D")] -public class Property1D : Property //SectionProperty as alt class name -{ - public Property1D() { } - - [SchemaInfo("Property1D (by name)", "Creates a Speckle structural 1D element property", "Structural", "Properties")] - public Property1D(string name) - { - this.name = name; - } - - [SchemaInfo("Property1D", "Creates a Speckle structural 1D element property", "Structural", "Properties")] - public Property1D(string name, StructuralMaterial? material, SectionProfile profile) - { - this.name = name; - this.material = material; - this.profile = profile; - } - - public MemberType memberType { get; set; } - - [DetachProperty] - public StructuralMaterial? material { get; set; } - - [DetachProperty] - public SectionProfile profile { get; set; } //section description - - public BaseReferencePoint referencePoint { get; set; } - public double offsetY { get; set; } //offset from reference point - public double offsetZ { get; set; } //offset from reference point -} diff --git a/src/Speckle.Objects/Structural/Properties/Property2D.cs b/src/Speckle.Objects/Structural/Properties/Property2D.cs deleted file mode 100644 index 5c6e96e7..00000000 --- a/src/Speckle.Objects/Structural/Properties/Property2D.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Materials; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Properties; - -[SpeckleType("Objects.Structural.Properties.Property2D")] -public class Property2D : Property -{ - public Property2D() { } - - [SchemaInfo("Property2D (by name)", "Creates a Speckle structural 2D element property", "Structural", "Properties")] - public Property2D(string name) - { - this.name = name; - } - - [SchemaInfo("Property2D", "Creates a Speckle structural 2D element property", "Structural", "Properties")] - public Property2D(string name, StructuralMaterial? material, PropertyType2D type, double thickness) - { - this.name = name; - this.material = material; - this.type = type; - this.thickness = thickness; - } - - public PropertyType2D type { get; set; } - public double thickness { get; set; } //also thickness type? ex. waffle vs constant - - [DetachProperty] - public StructuralMaterial? material { get; set; } - - [DetachProperty] - public Axis orientationAxis { get; set; } - - public ReferenceSurface refSurface { get; set; } //system plane - public double zOffset { get; set; } //relative to reference surface - public double modifierInPlane { get; set; } - public double modifierBending { get; set; } - public double modifierShear { get; set; } - public double modifierVolume { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Properties/Property3D.cs b/src/Speckle.Objects/Structural/Properties/Property3D.cs deleted file mode 100644 index 53534989..00000000 --- a/src/Speckle.Objects/Structural/Properties/Property3D.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Materials; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Properties; - -[SpeckleType("Objects.Structural.Properties.Property3D")] -public class Property3D : Property -{ - public Property3D() { } - - [SchemaInfo("Property3D (by name)", "Creates a Speckle structural 3D element property", "Structural", "Properties")] - public Property3D(string name) - { - this.name = name; - } - - [SchemaInfo("Property3D", "Creates a Speckle structural 3D element property", "Structural", "Properties")] - public Property3D(string name, PropertyType3D type, StructuralMaterial material) - { - this.name = name; - this.type = type; - this.material = material; - } - - public PropertyType3D type { get; set; } - - [DetachProperty] - public StructuralMaterial material { get; set; } - - [DetachProperty] - public Axis orientationAxis { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Properties/PropertyDamper.cs b/src/Speckle.Objects/Structural/Properties/PropertyDamper.cs deleted file mode 100644 index 41bee3b5..00000000 --- a/src/Speckle.Objects/Structural/Properties/PropertyDamper.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Properties; - -[SpeckleType("Objects.Structural.Properties.PropertyDamper")] -public class PropertyDamper : Property -{ - public PropertyDamper() { } - - [SchemaInfo("PropertyDamper", "Creates a Speckle structural damper property", "Structural", "Properties")] - public PropertyDamper(string name) - { - this.name = name; - } - - [SchemaInfo( - "PropertyDamper (general)", - "Creates a Speckle structural damper property (for 6 degrees of freedom)", - "Structural", - "Properties" - )] - public PropertyDamper( - string name, - PropertyTypeDamper damperType, - double dampingX = 0, - double dampingY = 0, - double dampingZ = 0, - double dampingXX = 0, - double dampingYY = 0, - double dampingZZ = 0 - ) - { - this.name = name; - this.damperType = damperType; - this.dampingX = dampingX; - this.dampingY = dampingY; - this.dampingZ = dampingZ; - this.dampingXX = dampingXX; - this.dampingYY = dampingYY; - this.dampingZZ = dampingZZ; - } - - public PropertyTypeDamper damperType { get; set; } - public double dampingX { get; set; } - public double dampingY { get; set; } - public double dampingZ { get; set; } - public double dampingXX { get; set; } - public double dampingYY { get; set; } - public double dampingZZ { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Properties/PropertyMass.cs b/src/Speckle.Objects/Structural/Properties/PropertyMass.cs deleted file mode 100644 index fa617837..00000000 --- a/src/Speckle.Objects/Structural/Properties/PropertyMass.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Properties; - -[SpeckleType("Objects.Structural.Properties.PropertyMass")] -public class PropertyMass : Property // nodal constraint axis of the node assumed to be mass property axis -{ - public PropertyMass() { } - - [SchemaInfo("PropertyMass", "Creates a Speckle structural mass property", "Structural", "Properties")] - public PropertyMass(string name) - { - this.name = name; - } - - [SchemaInfo("PropertyMass (general)", "Creates a Speckle structural mass property", "Structural", "Properties")] - public PropertyMass( - string name, - double mass, - double inertiaXX = 0, - double inertiaYY = 0, - double inertiaZZ = 0, - double inertiaXY = 0, - double inertiaYZ = 0, - double inertiaZX = 0, - bool massModified = false, - double massModifierX = 0, - double massModifierY = 0, - double massModifierZ = 0 - ) - { - this.name = name; - this.mass = mass; - this.inertiaXX = inertiaXX; - this.inertiaYY = inertiaYY; - this.inertiaZZ = inertiaZZ; - this.inertiaXY = inertiaXY; - this.inertiaYZ = inertiaYZ; - this.inertiaZX = inertiaZX; - this.massModified = massModified; - this.massModifierX = massModifierX; - this.massModifierY = massModifierY; - this.massModifierZ = massModifierZ; - } - - public double mass { get; set; } - public double inertiaXX { get; set; } - public double inertiaYY { get; set; } - public double inertiaZZ { get; set; } - public double inertiaXY { get; set; } - public double inertiaYZ { get; set; } - public double inertiaZX { get; set; } - public bool massModified { get; set; } - public double massModifierX { get; set; } - public double massModifierY { get; set; } - public double massModifierZ { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Properties/PropertySpring.cs b/src/Speckle.Objects/Structural/Properties/PropertySpring.cs deleted file mode 100644 index dae13533..00000000 --- a/src/Speckle.Objects/Structural/Properties/PropertySpring.cs +++ /dev/null @@ -1,109 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Properties; - -[SpeckleType("Objects.Structural.Properties.PropertySpring")] -public class PropertySpring : Property -{ - public PropertySpring() { } - - [SchemaInfo("PropertySpring", "Creates a Speckle structural spring property", "Structural", "Properties")] - public PropertySpring(string name) - { - this.name = name; - } - - [SchemaInfo( - "PropertySpring (linear/elastic)", - "Creates a Speckle structural spring property (linear/elastic spring)", - "Structural", - "Properties" - )] - public PropertySpring( - string name, - double stiffnessX = 0, - double stiffnessY = 0, - double stiffnessZ = 0, - double stiffnessXX = 0, - double stiffnessYY = 0, - double stiffnessZZ = 0, - double dampingRatio = 0 - ) - { - this.name = name; - springType = PropertyTypeSpring.General; - this.stiffnessX = stiffnessX; - this.stiffnessY = stiffnessY; - this.stiffnessZ = stiffnessZ; - this.stiffnessXX = stiffnessXX; - this.stiffnessYY = stiffnessYY; - this.stiffnessZZ = stiffnessZZ; - this.dampingRatio = dampingRatio; - } - - [SchemaInfo( - "PropertySpring (non-linear)", - "Creates a Speckle structural spring property (non-linear spring)", - "Structural", - "Properties" - )] - public PropertySpring( - string name, - double springCurveX = 0, - double stiffnessX = 0, - double springCurveY = 0, - double stiffnessY = 0, - double springCurveZ = 0, - double stiffnessZ = 0, - double springCurveXX = 0, - double stiffnessXX = 0, - double springCurveYY = 0, - double stiffnessYY = 0, - double springCurveZZ = 0, - double stiffnessZZ = 0, - double dampingRatio = 0 - ) - { - this.name = name; - springType = PropertyTypeSpring.General; - this.springCurveX = springCurveX; - this.springCurveY = springCurveY; - this.springCurveZ = springCurveZ; - this.springCurveXX = springCurveXX; - this.springCurveYY = springCurveYY; - this.springCurveZZ = springCurveZZ; - this.stiffnessX = springCurveX == 0 ? stiffnessX : 0; - this.stiffnessY = springCurveY == 0 ? stiffnessY : 0; - this.stiffnessZ = springCurveZ == 0 ? stiffnessZ : 0; - this.stiffnessXX = springCurveXX == 0 ? stiffnessXX : 0; - this.stiffnessYY = springCurveYY == 0 ? stiffnessYY : 0; - this.stiffnessZZ = springCurveZZ == 0 ? stiffnessZZ : 0; - this.dampingRatio = dampingRatio; - } - - public PropertyTypeSpring springType { get; set; } - public double springCurveX { get; set; } //if 0 spring is elastic, otherwise refers to a material curve by number - public double stiffnessX { get; set; } - public double springCurveY { get; set; } //if 0 spring is elastic, otherwise refers to a material curve by number - public double stiffnessY { get; set; } - public double springCurveZ { get; set; } //if 0 spring is elastic, otherwise refers to a material curve by number - public double stiffnessZ { get; set; } - public double springCurveXX { get; set; } //if 0 spring is elastic, otherwise refers to a material curve by number - public double stiffnessXX { get; set; } - public double springCurveYY { get; set; } //if 0 spring is elastic, otherwise refers to a material curve by number - public double stiffnessYY { get; set; } - public double springCurveZZ { get; set; } //if 0 spring is elastic, otherwise refers to a material curve by number - public double stiffnessZZ { get; set; } - public double dampingRatio { get; set; } - public double dampingX { get; set; } //is this needed? springType can't be set to DAMPER - public double dampingY { get; set; } //is this needed? springType can't be set to DAMPER - public double dampingZ { get; set; } //is this needed? springType can't be set to DAMPER - public double dampingXX { get; set; } //is this needed? springType can't be set to DAMPER - public double dampingYY { get; set; } //is this needed? springType can't be set to DAMPER - public double dampingZZ { get; set; } //is this needed? springType can't be set to DAMPER - public double matrix { get; set; } //refers to spring matrix record. - public double positiveLockup { get; set; } - public double negativeLockup { get; set; } - public double frictionCoefficient { get; set; } -} diff --git a/src/Speckle.Objects/Structural/PropertyType.cs b/src/Speckle.Objects/Structural/PropertyType.cs deleted file mode 100644 index cc8bfe25..00000000 --- a/src/Speckle.Objects/Structural/PropertyType.cs +++ /dev/null @@ -1,79 +0,0 @@ -namespace Speckle.Objects.Structural; - -public enum PropertyType2D -{ - Stress, - Fabric, - Plate, - Shell, - Curved, - Wall, - Strain, - Axi, - Load, -} - -public enum ReferenceSurface -{ - Top, - Middle, - Bottom, - //TOP_CENTRE, CENTROID,BOT_CENTRE -} - -public enum PropertyType3D -{ - Solid, - Infinite, -} - -public enum PropertyTypeSpring -{ - Axial, - Torsional, - General, - Matrix, - TensionOnly, - CompressionOnly, - Connector, - LockUp, - Gap, - Friction, - //Translational, //old - //Rotational //old -} - -public enum PropertyTypeDamper -{ - Axial, //translational - Torsional, //rotational - General, -} - -public enum BaseReferencePoint -{ - Centroid, - TopLeft, - TopCentre, - TopRight, - MidLeft, - MidRight, - BotLeft, - BotCentre, - BotRight, -} - -public enum ShapeType -{ - Rectangular, - Circular, - I, - Tee, - Angle, - Channel, - Perimeter, - Box, - Catalogue, - Explicit, - Undefined, -} diff --git a/src/Speckle.Objects/Structural/Results/AnalyticalResults.cs b/src/Speckle.Objects/Structural/Results/AnalyticalResults.cs deleted file mode 100644 index de667a46..00000000 --- a/src/Speckle.Objects/Structural/Results/AnalyticalResults.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Results; - -[SpeckleType("Objects.Structural.Results.AnalyticalResults")] -public class AnalyticalResults : Base -{ - public string? lengthUnits { get; set; } - public string? forceUnits { get; set; } - - [DetachProperty] - public List resultsByLoadCombination { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Results/Result.cs b/src/Speckle.Objects/Structural/Results/Result.cs deleted file mode 100644 index 258f26d7..00000000 --- a/src/Speckle.Objects/Structural/Results/Result.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Results; - -[SpeckleType("Objects.Structural.Results.Result")] -public class Result : Base -{ - public Result() { } - - public Result(LoadCase resultCase, string? description = null) - { - this.resultCase = resultCase; - this.description = description ?? ""; - } - - public Result(LoadCombination resultCase, string? description = null) - { - this.resultCase = resultCase; - this.description = description ?? ""; - } - - [DetachProperty] - public Base resultCase { get; set; } //loadCase or loadCombination - - public string permutation { get; set; } //for enveloped cases? - public string description { get; set; } = ""; -} diff --git a/src/Speckle.Objects/Structural/Results/Result1D.cs b/src/Speckle.Objects/Structural/Results/Result1D.cs deleted file mode 100644 index 3534010e..00000000 --- a/src/Speckle.Objects/Structural/Results/Result1D.cs +++ /dev/null @@ -1,171 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Results; - -[SpeckleType("Objects.Structural.Results.ResultSet1D")] -public class ResultSet1D : Result -{ - public ResultSet1D() { } - - [SchemaInfo("ResultSet1D", "Creates a Speckle 1D element result set object", "Structural", "Results")] - public ResultSet1D(List results1D) - { - this.results1D = results1D; - } - - [DetachProperty] - public List results1D { get; set; } -} - -[SpeckleType("Objects.Structural.Results.Result1D")] -public class Result1D : Result //result at a single position along a 1D element, ie. 1D element contains multiple Result1D objects to describe result at end 1, mid-span, end 2 -{ - public Result1D() { } - - [SchemaInfo( - "Result1D (load case)", - "Creates a Speckle 1D element result object (for load case)", - "Structural", - "Results" - )] - public Result1D( - Element1D element, - LoadCase resultCase, - float position, - float dispX, - float dispY, - float dispZ, - float rotXX, - float rotYY, - float rotZZ, - float forceX, - float forceY, - float forceZ, - float momentXX, - float momentYY, - float momentZZ, - float axialStress, - float shearStressY, - float shearStressZ, - float bendingStressYPos, - float bendingStressYNeg, - float bendingStressZPos, - float bendingStressZNeg, - float combinedStressMax, - float combinedStressMin - ) - { - this.element = element; - this.resultCase = resultCase; - this.position = position; - this.dispX = dispX; - this.dispY = dispY; - this.dispZ = dispZ; - this.rotXX = rotXX; - this.rotYY = rotYY; - this.rotZZ = rotZZ; - this.forceX = forceX; - this.forceY = forceY; - this.forceZ = forceZ; - this.momentXX = momentXX; - this.momentYY = momentYY; - this.momentZZ = momentZZ; - this.axialStress = axialStress; - this.shearStressY = shearStressY; - this.shearStressZ = shearStressZ; - this.bendingStressYPos = bendingStressYPos; - this.bendingStressYNeg = bendingStressYNeg; - this.bendingStressZPos = bendingStressZPos; - this.bendingStressZNeg = bendingStressZNeg; - this.combinedStressMax = combinedStressMax; - this.combinedStressMin = combinedStressMin; - } - - [SchemaInfo( - "Result1D (load combination)", - "Creates a Speckle 1D element result object (for load combination)", - "Structural", - "Results" - )] - public Result1D( - Element1D element, - LoadCombination resultCase, - float position, - float dispX, - float dispY, - float dispZ, - float rotXX, - float rotYY, - float rotZZ, - float forceX, - float forceY, - float forceZ, - float momentXX, - float momentYY, - float momentZZ, - float axialStress, - float shearStressY, - float shearStressZ, - float bendingStressYPos, - float bendingStressYNeg, - float bendingStressZPos, - float bendingStressZNeg, - float combinedStressMax, - float combinedStressMin - ) - { - this.element = element; - this.resultCase = resultCase; - this.position = position; - this.dispX = dispX; - this.dispY = dispY; - this.dispZ = dispZ; - this.rotXX = rotXX; - this.rotYY = rotYY; - this.rotZZ = rotZZ; - this.forceX = forceX; - this.forceY = forceY; - this.forceZ = forceZ; - this.momentXX = momentXX; - this.momentYY = momentYY; - this.momentZZ = momentZZ; - this.axialStress = axialStress; - this.shearStressY = shearStressY; - this.shearStressZ = shearStressZ; - this.bendingStressYPos = bendingStressYPos; - this.bendingStressYNeg = bendingStressYNeg; - this.bendingStressZPos = bendingStressZPos; - this.bendingStressZNeg = bendingStressZNeg; - this.combinedStressMax = combinedStressMax; - this.combinedStressMin = combinedStressMin; - } - - [DetachProperty] - public Element1D element { get; set; } - - public float? position { get; set; } //location along 1D element, normalised position (from 0 for end 1 to 1 for end 2) - public float? dispX { get; set; } - public float? dispY { get; set; } - public float? dispZ { get; set; } - public float? rotXX { get; set; } - public float? rotYY { get; set; } - public float? rotZZ { get; set; } - public float? forceX { get; set; } - public float? forceY { get; set; } - public float? forceZ { get; set; } - public float? momentXX { get; set; } - public float? momentYY { get; set; } - public float? momentZZ { get; set; } - public float? axialStress { get; set; } //axial stress, ie. Fx/Area - public float? shearStressY { get; set; } //shear stress, in minor axis dir, ie. Fy/Area - public float? shearStressZ { get; set; } //shear stress, in major axis dir, ie. Fz/Area - public float? bendingStressYPos { get; set; } //bending stress, about minor axis, ie. Myy/Iyy x Dz (Dz as distance from the centroid to the edge of the section in the +ve z direction) - public float? bendingStressYNeg { get; set; } //bending stress, about minor axis, ie. Myy/Iyy x Dz (Dz as distance from the centroid to the edge of the section in the -ve z direction) - public float? bendingStressZPos { get; set; } //bending stress, about major axis, ie. -Mzz/Izz x Dy (Dy as distance from the centroid to the edge of the section in the +ve y direction) - public float? bendingStressZNeg { get; set; } //bending stress, about major axis, ie. -Mzz/Izz x Dy (Dy as distance from the centroid to the edge of the section in the -ve y direction) - public float? combinedStressMax { get; set; } //maximum extreme fibre longitudinal stress due to axial forces and transverse bending - public float? combinedStressMin { get; set; } //minimum extreme fibre longitudinal stress due to axial forces and transverse bending -} diff --git a/src/Speckle.Objects/Structural/Results/Result2D.cs b/src/Speckle.Objects/Structural/Results/Result2D.cs deleted file mode 100644 index da2e4657..00000000 --- a/src/Speckle.Objects/Structural/Results/Result2D.cs +++ /dev/null @@ -1,211 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Results; - -[SpeckleType("Objects.Structural.Results.ResultSet2D")] -public class ResultSet2D : Result -{ - public ResultSet2D() { } - - [SchemaInfo("ResultSet2D", "Creates a Speckle 2D element result set object", "Structural", "Results")] - public ResultSet2D(List results2D) - { - this.results2D = results2D; - } - - [DetachProperty] - public List results2D { get; set; } -} - -[SpeckleType("Objects.Structural.Results.Result2D")] -public class Result2D : Result //result at a single position within a 2D element, ie. 2D element contains multiple Result2D objects to describe result at node 1, node 2, node 3, node4 and centre of 4-node quad element -{ - public Result2D() { } - - [SchemaInfo( - "Result2D (load case)", - "Creates a Speckle 2D element result object (for load case)", - "Structural", - "Results" - )] - public Result2D( - Element2D element, - LoadCase resultCase, - List position, - float dispX, - float dispY, - float dispZ, - float forceXX, - float forceYY, - float forceXY, - float momentXX, - float momentYY, - float momentXY, - float shearX, - float shearY, - float stressTopXX, - float stressTopYY, - float stressTopZZ, - float stressTopXY, - float stressTopYZ, - float stressTopZX, - float stressMidXX, - float stressMidYY, - float stressMidZZ, - float stressMidXY, - float stressMidYZ, - float stressMidZX, - float stressBotXX, - float stressBotYY, - float stressBotZZ, - float stressBotXY, - float stressBotYZ, - float stressBotZX - ) - { - this.element = element; - this.resultCase = resultCase; - this.position = position; - this.dispX = dispX; - this.dispY = dispY; - this.dispZ = dispZ; - this.forceXX = forceXX; - this.forceYY = forceYY; - this.forceXY = forceXY; - this.momentXX = momentXX; - this.momentYY = momentYY; - this.momentXY = momentXY; - this.shearX = shearX; - this.shearY = shearY; - this.stressTopXX = stressTopXX; - this.stressTopYY = stressTopYY; - this.stressTopZZ = stressTopZZ; - this.stressTopXY = stressTopXY; - this.stressTopYZ = stressTopYZ; - this.stressTopZX = stressTopZX; - this.stressMidXX = stressMidXX; - this.stressMidYY = stressMidYY; - this.stressMidZZ = stressMidZZ; - this.stressMidXY = stressMidXY; - this.stressMidYZ = stressMidYZ; - this.stressMidZX = stressMidZX; - this.stressBotXX = stressBotXX; - this.stressBotYY = stressBotYY; - this.stressBotZZ = stressBotZZ; - this.stressBotXY = stressBotXY; - this.stressBotYZ = stressBotYZ; - this.stressBotZX = stressBotZX; - } - - [SchemaInfo( - "Result2D (load combination)", - "Creates a Speckle 2D element result object (for load combination)", - "Structural", - "Results" - )] - public Result2D( - Element2D element, - LoadCombination resultCase, - List position, - float dispX, - float dispY, - float dispZ, - float forceXX, - float forceYY, - float forceXY, - float momentXX, - float momentYY, - float momentXY, - float shearX, - float shearY, - float stressTopXX, - float stressTopYY, - float stressTopZZ, - float stressTopXY, - float stressTopYZ, - float stressTopZX, - float stressMidXX, - float stressMidYY, - float stressMidZZ, - float stressMidXY, - float stressMidYZ, - float stressMidZX, - float stressBotXX, - float stressBotYY, - float stressBotZZ, - float stressBotXY, - float stressBotYZ, - float stressBotZX - ) - { - this.element = element; - this.resultCase = resultCase; - this.position = position; - this.dispX = dispX; - this.dispY = dispY; - this.dispZ = dispZ; - this.forceXX = forceXX; - this.forceYY = forceYY; - this.forceXY = forceXY; - this.momentXX = momentXX; - this.momentYY = momentYY; - this.momentXY = momentXY; - this.shearX = shearX; - this.shearY = shearY; - this.stressTopXX = stressTopXX; - this.stressTopYY = stressTopYY; - this.stressTopZZ = stressTopZZ; - this.stressTopXY = stressTopXY; - this.stressTopYZ = stressTopYZ; - this.stressTopZX = stressTopZX; - this.stressMidXX = stressMidXX; - this.stressMidYY = stressMidYY; - this.stressMidZZ = stressMidZZ; - this.stressMidXY = stressMidXY; - this.stressMidYZ = stressMidYZ; - this.stressMidZX = stressMidZX; - this.stressBotXX = stressBotXX; - this.stressBotYY = stressBotYY; - this.stressBotZZ = stressBotZZ; - this.stressBotXY = stressBotXY; - this.stressBotYZ = stressBotYZ; - this.stressBotZX = stressBotZX; - } - - [DetachProperty] - public Element2D element { get; set; } - - public List position { get; set; } //relative position within element (x,y in range [0:1], { 0.5, 0.5 } corresponds to centre of element, { 0, 0 } correponds to corner/at a node of a element - public float? dispX { get; set; } - public float? dispY { get; set; } - public float? dispZ { get; set; } - public float? forceXX { get; set; } //in-plane force per unit length in x direction - public float? forceYY { get; set; } //in-plane force per unit length in y direction - public float? forceXY { get; set; } //in-plane force per unit length in xy direction (at interface) - public float? momentXX { get; set; } //moment per unit length in x direction - public float? momentYY { get; set; } //moment per unit length in y direction - public float? momentXY { get; set; } //moment per unit length in xy direction - public float? shearX { get; set; } //through thickness shear force per unit length in x direction - public float? shearY { get; set; } //through thickness shear force per unit length in y direction - public float? stressTopXX { get; set; } //in-plane stress in x direction at top layer of element - public float? stressTopYY { get; set; } //in-plane stress in y direction at top layer of element - public float? stressTopZZ { get; set; } //in-plane stress in z direction (through thickness) at top layer of element - public float? stressTopXY { get; set; } //shear stress in xy direction at top layer of element - public float? stressTopYZ { get; set; } //shear stress in yz direction at top layer of element - public float? stressTopZX { get; set; } //shear stress in zx direction at top layer of element - public float? stressMidXX { get; set; } //in-plane stress in x direction at mid layer of element - public float? stressMidYY { get; set; } //in-plane stress in y direction at mid layer of element - public float? stressMidZZ { get; set; } //in-plane stress in z direction (through thickness) at mid layer of element - public float? stressMidXY { get; set; } //shear stress in xy direction at mid layer of element - public float? stressMidYZ { get; set; } //shear stress in yz direction at mid layer of element - public float? stressMidZX { get; set; } //shear stress in zx direction at mid layer of element - public float? stressBotXX { get; set; } //in-plane stress in x direction at bot layer of element - public float? stressBotYY { get; set; } //in-plane stress in y direction at bot layer of element - public float? stressBotZZ { get; set; } //in-plane stress in z direction (through thickness) at bot layer of element - public float? stressBotXY { get; set; } //shear stress in xy direction at bot layer of element - public float? stressBotYZ { get; set; } //shear stress in yz direction at bot layer of element - public float? stressBotZX { get; set; } //shear stress in zx direction at bot layer of element -} diff --git a/src/Speckle.Objects/Structural/Results/Result3D.cs b/src/Speckle.Objects/Structural/Results/Result3D.cs deleted file mode 100644 index 8e91193c..00000000 --- a/src/Speckle.Objects/Structural/Results/Result3D.cs +++ /dev/null @@ -1,111 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Results; - -[SpeckleType("Objects.Structural.Results.ResultSet3D")] -public class ResultSet3D : Result -{ - public ResultSet3D() { } - - [SchemaInfo("ResultSet3D", "Creates a Speckle 3D element result set object", "Structural", "Results")] - public ResultSet3D(List results3D) - { - this.results3D = results3D; - } - - [DetachProperty] - public List results3D { get; set; } -} - -[SpeckleType("Objects.Structural.Results.Result3D")] -public class Result3D : Result -{ - public Result3D() { } - - [SchemaInfo( - "Result3D (load case)", - "Creates a Speckle 3D element result object (for load case)", - "Structural", - "Results" - )] - public Result3D( - Element3D element, - LoadCase resultCase, - List position, - float dispX, - float dispY, - float dispZ, - float stressXX, - float stressYY, - float stressZZ, - float stressXY, - float stressYZ, - float stressZX - ) - { - this.element = element; - this.resultCase = resultCase; - this.position = position; - this.dispX = dispX; - this.dispY = dispY; - this.dispZ = dispZ; - this.stressXX = stressXX; - this.stressYY = stressYY; - this.stressZZ = stressZZ; - this.stressXY = stressXY; - this.stressYZ = stressYZ; - this.stressZX = stressZX; - } - - [SchemaInfo( - "Result3D (load combination)", - "Creates a Speckle 3D element result object (for load combination)", - "Structural", - "Results" - )] - public Result3D( - Element3D element, - LoadCombination resultCase, - List position, - float dispX, - float dispY, - float dispZ, - float stressXX, - float stressYY, - float stressZZ, - float stressXY, - float stressYZ, - float stressZX - ) - { - this.element = element; - this.resultCase = resultCase; - this.position = position; - this.dispX = dispX; - this.dispY = dispY; - this.dispZ = dispZ; - this.stressXX = stressXX; - this.stressYY = stressYY; - this.stressZZ = stressZZ; - this.stressXY = stressXY; - this.stressYZ = stressYZ; - this.stressZX = stressZX; - } - - [DetachProperty] - public Element3D element { get; set; } - - public List position { get; set; } //relative position within element (x,y,z in range [0:1] to describe position) - public float? dispX { get; set; } - public float? dispY { get; set; } - public float? dispZ { get; set; } - public float? stressXX { get; set; } - public float? stressYY { get; set; } - public float? stressZZ { get; set; } - public float? stressXY { get; set; } - public float? stressYZ { get; set; } - public float? stressZX { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Results/ResultAll.cs b/src/Speckle.Objects/Structural/Results/ResultAll.cs deleted file mode 100644 index 3dce49bc..00000000 --- a/src/Speckle.Objects/Structural/Results/ResultAll.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Results; - -[SpeckleType("Objects.Structural.Results.ResultSetAll")] -public class ResultSetAll : Base -{ - public ResultSetAll() { } - - [SchemaInfo( - "ResultSetAll", - "Creates a Speckle result set object for 1d element, 2d element, 3d element global and nodal results", - "Structural", - "Results" - )] - public ResultSetAll( - ResultSet1D? results1D, - ResultSet2D? results2D, - ResultSet3D? results3D, - ResultGlobal? resultsGlobal, - ResultSetNode? resultsNode - ) - { - this.results1D = results1D; - this.results2D = results2D; - this.results3D = results3D; - this.resultsGlobal = resultsGlobal; - this.resultsNode = resultsNode; - } - - [DetachProperty] - public ResultSet1D? results1D { get; set; } //1d element results - - [DetachProperty] - public ResultSet2D? results2D { get; set; } //2d elements results - - [DetachProperty] - public ResultSet3D? results3D { get; set; } //3d elements results - - [DetachProperty] - public ResultGlobal? resultsGlobal { get; set; } //global results - - [DetachProperty] - public ResultSetNode? resultsNode { get; set; } //nodal results -} diff --git a/src/Speckle.Objects/Structural/Results/ResultGlobal.cs b/src/Speckle.Objects/Structural/Results/ResultGlobal.cs deleted file mode 100644 index 7008c83d..00000000 --- a/src/Speckle.Objects/Structural/Results/ResultGlobal.cs +++ /dev/null @@ -1,157 +0,0 @@ -using Speckle.Objects.Structural.Analysis; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Results; - -[SpeckleType("Objects.Structural.Results.ResultGlobal")] -public class ResultGlobal : Result -{ - public ResultGlobal() { } - - [SchemaInfo( - "ResultGlobal (load case)", - "Creates a Speckle global result object (for load case)", - "Structural", - "Results" - )] - public ResultGlobal( - LoadCase resultCase, - float loadX, - float loadY, - float loadZ, - float loadXX, - float loadYY, - float loadZZ, - float reactionX, - float reactionY, - float reactionZ, - float reactionXX, - float reactionYY, - float reactionZZ, - float mode, - float frequency, - float loadFactor, - float modalStiffness, - float modalGeoStiffness, - float effMassX, - float effMassY, - float effMassZ, - float effMassXX, - float effMassYY, - float effMassZZ - ) - { - this.resultCase = resultCase; - this.loadX = loadX; - this.loadY = loadY; - this.loadZ = loadZ; - this.loadXX = loadXX; - this.loadYY = loadYY; - this.loadZZ = loadZZ; - this.reactionX = reactionX; - this.reactionY = reactionY; - this.reactionZ = reactionZ; - this.reactionXX = reactionXX; - this.reactionYY = reactionYY; - this.reactionZZ = reactionZZ; - this.mode = mode; - this.frequency = frequency; - this.loadFactor = loadFactor; - this.modalStiffness = modalStiffness; - this.modalGeoStiffness = modalGeoStiffness; - this.effMassX = effMassX; - this.effMassY = effMassY; - this.effMassZ = effMassZ; - this.effMassXX = effMassXX; - this.effMassYY = effMassYY; - this.effMassZZ = effMassZZ; - } - - [SchemaInfo( - "ResultGlobal (load combination)", - "Creates a Speckle global result object (for load combination)", - "Structural", - "Results" - )] - public ResultGlobal( - LoadCombination resultCase, - float loadX, - float loadY, - float loadZ, - float loadXX, - float loadYY, - float loadZZ, - float reactionX, - float reactionY, - float reactionZ, - float reactionXX, - float reactionYY, - float reactionZZ, - float mode, - float frequency, - float loadFactor, - float modalStiffness, - float modalGeoStiffness, - float effMassX, - float effMassY, - float effMassZ, - float effMassXX, - float effMassYY, - float effMassZZ - ) - { - this.resultCase = resultCase; - this.loadX = loadX; - this.loadY = loadY; - this.loadZ = loadZ; - this.loadXX = loadXX; - this.loadYY = loadYY; - this.loadZZ = loadZZ; - this.reactionX = reactionX; - this.reactionY = reactionY; - this.reactionZ = reactionZ; - this.reactionXX = reactionXX; - this.reactionYY = reactionYY; - this.reactionZZ = reactionZZ; - this.mode = mode; - this.frequency = frequency; - this.loadFactor = loadFactor; - this.modalStiffness = modalStiffness; - this.modalGeoStiffness = modalGeoStiffness; - this.effMassX = effMassX; - this.effMassY = effMassY; - this.effMassZ = effMassZ; - this.effMassXX = effMassXX; - this.effMassYY = effMassYY; - this.effMassZZ = effMassZZ; - } - - [DetachProperty] - public Model model { get; set; } // this should be a model identifier instead - - public float? loadX { get; set; } - public float? loadY { get; set; } - public float? loadZ { get; set; } - public float? loadXX { get; set; } - public float? loadYY { get; set; } - public float? loadZZ { get; set; } - public float? reactionX { get; set; } - public float? reactionY { get; set; } - public float? reactionZ { get; set; } - public float? reactionXX { get; set; } - public float? reactionYY { get; set; } - public float? reactionZZ { get; set; } - public float? mode { get; set; } - public float? frequency { get; set; } - public float? loadFactor { get; set; } - public float? modalStiffness { get; set; } - public float? modalGeoStiffness { get; set; } - public float? effMassX { get; set; } - public float? effMassY { get; set; } - public float? effMassZ { get; set; } - public float? effMassXX { get; set; } - public float? effMassYY { get; set; } - public float? effMassZZ { get; set; } -} diff --git a/src/Speckle.Objects/Structural/Results/ResultNode.cs b/src/Speckle.Objects/Structural/Results/ResultNode.cs deleted file mode 100644 index cc321aba..00000000 --- a/src/Speckle.Objects/Structural/Results/ResultNode.cs +++ /dev/null @@ -1,212 +0,0 @@ -using Speckle.Objects.Structural.Geometry; -using Speckle.Objects.Structural.Loading; -using Speckle.Sdk.Host; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Structural.Results; - -public enum CaseType -{ - Analysis, - Combination, -} - -[SpeckleType("Objects.Structural.Results.ResultSetNode")] -public class ResultSetNode : Result -{ - public ResultSetNode() { } - - [SchemaInfo("ResultSetNode", "Creates a Speckle node result set object", "Structural", "Results")] - public ResultSetNode(List resultsNode) - { - this.resultsNode = resultsNode; - } - - [DetachProperty] - public List resultsNode { get; set; } -} - -[SpeckleType("Objects.Structural.Results.ResultNode")] -public class ResultNode : Result -{ - public ResultNode() { } - - [SchemaInfo("ResultNode (load case)", "Creates a Speckle structural nodal result object", "Structural", "Results")] - public ResultNode( - LoadCase resultCase, - Node node, - float dispX, - float dispY, - float dispZ, - float rotXX, - float rotYY, - float rotZZ, - float reactionX, - float reactionY, - float reactionZ, - float reactionXX, - float reactionYY, - float reactionZZ, - float constraintX, - float constraintY, - float constraintZ, - float constraintXX, - float constraintYY, - float constraintZZ, - float velX, - float velY, - float velZ, - float velXX, - float velYY, - float velZZ, - float accX, - float accY, - float accZ, - float accXX, - float accYY, - float accZZ - ) - { - this.resultCase = resultCase; - this.node = node; - this.dispX = dispX; - this.dispY = dispY; - this.dispZ = dispZ; - this.rotXX = rotXX; - this.rotYY = rotYY; - this.rotZZ = rotZZ; - this.reactionX = reactionX; - this.reactionY = reactionY; - this.reactionZ = reactionZ; - this.reactionXX = reactionXX; - this.reactionYY = reactionYY; - this.reactionZZ = reactionZZ; - this.constraintX = constraintX; - this.constraintY = constraintY; - this.constraintZ = constraintZ; - this.constraintXX = constraintXX; - this.constraintYY = constraintYY; - this.constraintZZ = constraintZZ; - this.velX = velX; - this.velY = velY; - this.velZ = velZ; - this.velXX = velXX; - this.velYY = velYY; - this.velZZ = velZZ; - this.accX = accX; - this.accY = accY; - this.accZ = accZ; - this.accXX = accXX; - this.accYY = accYY; - this.accZZ = accZZ; - } - - [SchemaInfo( - "ResultNode (load combination)", - "Creates a Speckle structural nodal result object", - "Structural", - "Results" - )] - public ResultNode( - LoadCombination resultCase, - Node node, - float dispX, - float dispY, - float dispZ, - float rotXX, - float rotYY, - float rotZZ, - float reactionX, - float reactionY, - float reactionZ, - float reactionXX, - float reactionYY, - float reactionZZ, - float constraintX, - float constraintY, - float constraintZ, - float constraintXX, - float constraintYY, - float constraintZZ, - float velX, - float velY, - float velZ, - float velXX, - float velYY, - float velZZ, - float accX, - float accY, - float accZ, - float accXX, - float accYY, - float accZZ - ) - { - this.resultCase = resultCase; - this.node = node; - this.dispX = dispX; - this.dispY = dispY; - this.dispZ = dispZ; - this.rotXX = rotXX; - this.rotYY = rotYY; - this.rotZZ = rotZZ; - this.reactionX = reactionX; - this.reactionY = reactionY; - this.reactionZ = reactionZ; - this.reactionXX = reactionXX; - this.reactionYY = reactionYY; - this.reactionZZ = reactionZZ; - this.constraintX = constraintX; - this.constraintY = constraintY; - this.constraintZ = constraintZ; - this.constraintXX = constraintXX; - this.constraintYY = constraintYY; - this.constraintZZ = constraintZZ; - this.velX = velX; - this.velY = velY; - this.velZ = velZ; - this.velXX = velXX; - this.velYY = velYY; - this.velZZ = velZZ; - this.accX = accX; - this.accY = accY; - this.accZ = accZ; - this.accXX = accXX; - this.accYY = accYY; - this.accZZ = accZZ; - } - - [DetachProperty] - public Node node { get; set; } - - public float? dispX { get; set; } - public float? dispY { get; set; } - public float? dispZ { get; set; } - public float? rotXX { get; set; } - public float? rotYY { get; set; } - public float? rotZZ { get; set; } - public float? reactionX { get; set; } - public float? reactionY { get; set; } - public float? reactionZ { get; set; } - public float? reactionXX { get; set; } - public float? reactionYY { get; set; } - public float? reactionZZ { get; set; } - public float? constraintX { get; set; } - public float? constraintY { get; set; } - public float? constraintZ { get; set; } - public float? constraintXX { get; set; } - public float? constraintYY { get; set; } - public float? constraintZZ { get; set; } - public float? velX { get; set; } - public float? velY { get; set; } - public float? velZ { get; set; } - public float? velXX { get; set; } - public float? velYY { get; set; } - public float? velZZ { get; set; } - public float? accX { get; set; } - public float? accY { get; set; } - public float? accZ { get; set; } - public float? accXX { get; set; } - public float? accYY { get; set; } - public float? accZZ { get; set; } -} diff --git a/src/Speckle.Objects/Utils/Parameters.cs b/src/Speckle.Objects/Utils/Parameters.cs deleted file mode 100644 index 47ade2df..00000000 --- a/src/Speckle.Objects/Utils/Parameters.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Speckle.Objects.BuiltElements.Revit; -using Speckle.Sdk.Models; - -namespace Speckle.Objects.Utils; - -public static class Parameters -{ - /// - /// Turns a List of Parameters into a Base so that it can be used with the Speckle parameters prop - /// - /// - /// - public static Base? ToBase(this List parameters) - { - if (parameters == null) - { - return null; - } - - var @base = new Base(); - - foreach (Parameter p in parameters) - { - //if an applicationId is defined (BuiltInName) use that as key, otherwise use the display name - var key = string.IsNullOrEmpty(p.applicationInternalName) ? p.name : p.applicationInternalName; - if (string.IsNullOrEmpty(key) || @base[key] != null) - { - continue; - } - - @base[key] = p; - } - - return @base; - } -} diff --git a/tests/Speckle.Objects.Tests.Unit/Geometry/ArcTests.cs b/tests/Speckle.Objects.Tests.Unit/Geometry/ArcTests.cs index a2e4bbbb..d6dc9d52 100644 --- a/tests/Speckle.Objects.Tests.Unit/Geometry/ArcTests.cs +++ b/tests/Speckle.Objects.Tests.Unit/Geometry/ArcTests.cs @@ -7,7 +7,7 @@ namespace Speckle.Objects.Tests.Unit.Geometry; [TestFixture, TestOf(typeof(Arc))] public class ArcTests { - private Plane TestPlane + private Plane TestPlaneCounterClockwise { get { @@ -23,16 +23,65 @@ private Plane TestPlane } } + private Plane TestPlaneClockwise + { + get + { + const string UNITS = Units.Meters; + return new() + { + origin = new Point(0, 0, 0, UNITS), + normal = new Vector(0, 0, -1, UNITS), + xdir = new Vector(-1, 0, 0, UNITS), + ydir = new Vector(0, 1, 0, UNITS), + units = UNITS, + }; + } + } + [Test] - public void CanCreateArc_HalfCircle() + public void CanCreateArc_HalfCircle_CounterClockwise() { const string UNITS = Units.Meters; - var arc = new Arc(TestPlane, new Point(-5, 5, 0, UNITS), new Point(5, 5, 0, UNITS), Math.PI); + var counterClockwiseArc = new Arc() + { + plane = TestPlaneCounterClockwise, + startPoint = new Point(1, 0, 0, UNITS), + endPoint = new Point(-1, 0, 0, UNITS), + midPoint = new Point(0, 1, 0, UNITS), + units = UNITS, + }; + + Assert.That(Point.Distance(counterClockwiseArc.midPoint, new Point(0, 1, 0, UNITS)), Is.EqualTo(0).Within(0.0001)); + Assert.That( + Point.Distance(counterClockwiseArc.plane.origin, new Point(0, 0, 0, UNITS)), + Is.EqualTo(0).Within(0.0001) + ); + Assert.That(counterClockwiseArc.measure - Math.PI, Is.EqualTo(0).Within(0.0001)); + Assert.That(counterClockwiseArc.radius, Is.EqualTo(1).Within(0.0001)); + Assert.That(counterClockwiseArc.length, Is.EqualTo(Math.PI).Within(0.0001)); + } - Assert.That(arc.startAngle, Is.EqualTo(0)); - Assert.That(arc.endAngle, Is.EqualTo(Math.PI)); + [Test] + public void CanCreateArc_HalfCircle_Clockwise() + { + const string UNITS = Units.Meters; + var counterClockwiseArc = new Arc() + { + plane = TestPlaneClockwise, + endPoint = new Point(1, 0, 0, UNITS), + startPoint = new Point(-1, 0, 0, UNITS), + midPoint = new Point(0, 1, 0, UNITS), + units = UNITS, + }; - Assert.That(Point.Distance(arc.midPoint, new Point(0, 0, 0, UNITS)), Is.EqualTo(0).Within(0.0001)); - Assert.That(Point.Distance(arc.plane.origin, new Point(0, 5, 0, UNITS)), Is.EqualTo(0).Within(0.0001)); + Assert.That(Point.Distance(counterClockwiseArc.midPoint, new Point(0, 1, 0, UNITS)), Is.EqualTo(0).Within(0.0001)); + Assert.That( + Point.Distance(counterClockwiseArc.plane.origin, new Point(0, 0, 0, UNITS)), + Is.EqualTo(0).Within(0.0001) + ); + Assert.That(counterClockwiseArc.measure - Math.PI, Is.EqualTo(0).Within(0.0001)); + Assert.That(counterClockwiseArc.radius, Is.EqualTo(1).Within(0.0001)); + Assert.That(counterClockwiseArc.length, Is.EqualTo(Math.PI).Within(0.0001)); } } diff --git a/tests/Speckle.Objects.Tests.Unit/Geometry/BoxTests.cs b/tests/Speckle.Objects.Tests.Unit/Geometry/BoxTests.cs new file mode 100644 index 00000000..05a83663 --- /dev/null +++ b/tests/Speckle.Objects.Tests.Unit/Geometry/BoxTests.cs @@ -0,0 +1,42 @@ +using NUnit.Framework; +using Speckle.Objects.Geometry; +using Speckle.Sdk.Common; + +namespace Speckle.Objects.Tests.Unit.Geometry; + +[TestFixture, TestOf(typeof(Box))] +public class BoxTests +{ + private Plane TestPlane + { + get + { + const string UNITS = Units.Meters; + return new() + { + origin = new Point(0, 0, 0, UNITS), + normal = new Vector(0, 0, 1, UNITS), + xdir = new Vector(1, 0, 0, UNITS), + ydir = new Vector(0, 1, 0, UNITS), + units = UNITS, + }; + } + } + + [Test] + public void CanCreateBox() + { + const string UNITS = Units.Meters; + var box = new Box() + { + plane = TestPlane, + xSize = new() { start = -1, end = 1 }, + ySize = new() { start = -2, end = 2 }, + zSize = new() { start = -3, end = 3 }, + units = UNITS, + }; + + Assert.That(box.area, Is.EqualTo(2 * (2 * 4 + 2 * 6 + 4 * 6)).Within(0.0001)); + Assert.That(box.volume, Is.EqualTo(2 * 4 * 6).Within(0.0001)); + } +} diff --git a/tests/Speckle.Objects.Tests.Unit/Geometry/CircleTests.cs b/tests/Speckle.Objects.Tests.Unit/Geometry/CircleTests.cs new file mode 100644 index 00000000..12501ce8 --- /dev/null +++ b/tests/Speckle.Objects.Tests.Unit/Geometry/CircleTests.cs @@ -0,0 +1,40 @@ +using NUnit.Framework; +using Speckle.Objects.Geometry; +using Speckle.Sdk.Common; + +namespace Speckle.Objects.Tests.Unit.Geometry; + +[TestFixture, TestOf(typeof(Circle))] +public class CircleTests +{ + private Plane TestPlane + { + get + { + const string UNITS = Units.Meters; + return new() + { + origin = new Point(0, 0, 0, UNITS), + normal = new Vector(0, 0, 1, UNITS), + xdir = new Vector(1, 0, 0, UNITS), + ydir = new Vector(0, 1, 0, UNITS), + units = UNITS, + }; + } + } + + [Test] + public void CanCreateCircle() + { + const string UNITS = Units.Meters; + var circle = new Circle() + { + plane = TestPlane, + radius = 5, + units = UNITS, + }; + + Assert.That(circle.length, Is.EqualTo(2 * Math.PI * 5).Within(0.0001)); + Assert.That(circle.area, Is.EqualTo(Math.PI * 5 * 5).Within(0.0001)); + } +} diff --git a/tests/Speckle.Objects.Tests.Unit/Geometry/TransformTests.cs b/tests/Speckle.Objects.Tests.Unit/Geometry/TransformTests.cs index 8ca4168f..819d28a7 100644 --- a/tests/Speckle.Objects.Tests.Unit/Geometry/TransformTests.cs +++ b/tests/Speckle.Objects.Tests.Unit/Geometry/TransformTests.cs @@ -14,9 +14,9 @@ public class TransformTests [Test, TestCaseSource(nameof(TransformTestCases))] public void ArrayBackAndForth(Matrix4x4 data) { - var start = new Transform(data); - var asArr = start.ToArray(); - var end = new Transform(asArr); + var start = new Transform() { matrix = data, units = Units.None }; + var asArr = Transform.CreateMatrix(start.ToArray()); + var end = new Transform() { matrix = asArr, units = Units.None }; Assert.That(end.matrix, Is.EqualTo(data)); } @@ -28,7 +28,9 @@ public void ConvertToUnits(Matrix4x4 data) var transpose = Matrix4x4.Transpose(data); //NOTE: Transform expects matrices transposed (translation in column 4) var mm = Matrix4x4.Transpose( - Transform.CreateMatrix(new Transform(transpose, Units.Meters).ConvertToUnits(Units.Millimeters)) + Transform.CreateMatrix( + new Transform() { matrix = transpose, units = Units.Meters }.ConvertToUnits(Units.Millimeters) + ) ); Matrix4x4.Decompose(data, out var ms, out var mr, out var mt); @@ -48,37 +50,6 @@ public void ConvertToUnits(Matrix4x4 data) }); } - [ - Test(Description = "Tests that Transform decompose matches the behaviour of Matrix4x4"), - TestCaseSource(nameof(TransformTestCases)) - ] - public void Decompose(Matrix4x4 data) - { - var transpose = Matrix4x4.Transpose(data); //NOTE: Transform expects matrices transposed (translation in column 4) - var sut = new Transform(transpose); - - sut.Decompose(out var s, out var r, out var t); - var actual = new Vector3(t.X, t.Y, t.Z); - Matrix4x4.Decompose(data, out var expectedS, out var expectedR, out var expectedT); - - Assert.Multiple(() => - { - Assert.That(s.X, Is.EqualTo(expectedS.X).Within(FLOAT_TOLERANCE), "Expect scale x to be unchanged"); - Assert.That(s.Y, Is.EqualTo(expectedS.Y).Within(FLOAT_TOLERANCE), "Expect scale y to be unchanged"); - Assert.That(s.Z, Is.EqualTo(expectedS.Z).Within(FLOAT_TOLERANCE), "Expect scale z to be unchanged"); - - Assert.That( - Quaternion.Dot(r, expectedR), - Is.LessThan(1).Within(FLOAT_TOLERANCE), - "Expect rot x to be equivalent" - ); - - Assert.That(actual.X, Is.EqualTo(expectedT.X).Within(FLOAT_TOLERANCE), "Expect translation x to be unchanged"); - Assert.That(actual.Y, Is.EqualTo(expectedT.Y).Within(FLOAT_TOLERANCE), "Expect translation y to be unchanged"); - Assert.That(actual.Z, Is.EqualTo(expectedT.Z).Within(FLOAT_TOLERANCE), "Expect translation z to be unchanged"); - }); - } - /// /// Set of TRS transforms (row dominant i.e. translation in row 4) /// All with non-negative scale and rotation (for ease of testing scale and rot independently) diff --git a/tests/Speckle.Objects.Tests.Unit/ObjectBaseValidityTests.cs b/tests/Speckle.Objects.Tests.Unit/ObjectBaseValidityTests.cs index f1595be4..99c985e9 100644 --- a/tests/Speckle.Objects.Tests.Unit/ObjectBaseValidityTests.cs +++ b/tests/Speckle.Objects.Tests.Unit/ObjectBaseValidityTests.cs @@ -1,10 +1,10 @@ -using NUnit.Framework; +using NUnit.Framework; using Shouldly; using Speckle.Objects.Geometry; using Speckle.Objects.Geometry.Autocad; -using Speckle.Objects.Structural.GSA.Geometry; using Speckle.Sdk.Host; using Speckle.Sdk.Models; +using Point = Speckle.Objects.Geometry.Point; namespace Speckle.Objects.Tests.Unit; @@ -14,7 +14,7 @@ public class ObjectBaseValidityTests public void TestThatTypeWithoutAttributeFails() { TypeLoader.Reset(); - TypeLoader.Initialize(typeof(Base).Assembly, typeof(GSAAssembly).Assembly); + TypeLoader.Initialize(typeof(Base).Assembly, typeof(Point).Assembly); } [Test] @@ -23,7 +23,7 @@ public void InheritanceTest_Disallow() var exception = Assert.Throws(() => { TypeLoader.Reset(); - TypeLoader.Initialize(typeof(Base).Assembly, typeof(GSAAssembly).Assembly, typeof(Test).Assembly); + TypeLoader.Initialize(typeof(Base).Assembly, typeof(Point).Assembly, typeof(Test).Assembly); }); exception.ShouldNotBeNull(); exception.Message.ShouldBe( @@ -35,7 +35,7 @@ public void InheritanceTest_Disallow() public void InheritanceTest_Allow() { TypeLoader.Reset(); - TypeLoader.Initialize(typeof(Base).Assembly, typeof(GSAAssembly).Assembly); + TypeLoader.Initialize(typeof(Base).Assembly, typeof(Point).Assembly); var fullTypeString = TypeLoader.GetFullTypeString(typeof(AutocadPolycurve)); fullTypeString.ShouldBe("Objects.Geometry.Polycurve:Objects.Geometry.Autocad.AutocadPolycurve"); } diff --git a/tests/Speckle.Objects.Tests.Unit/Utils/ShallowCopyTests.cs b/tests/Speckle.Objects.Tests.Unit/Utils/ShallowCopyTests.cs index 3f00f3e3..236200d1 100644 --- a/tests/Speckle.Objects.Tests.Unit/Utils/ShallowCopyTests.cs +++ b/tests/Speckle.Objects.Tests.Unit/Utils/ShallowCopyTests.cs @@ -13,16 +13,15 @@ public class ShallowCopyTests public void CanShallowCopy_Wall() { const string UNITS = Units.Meters; - var wall = new Wall( - 5, - new Line() + var wall = new Wall() + { + height = 5, + baseLine = new Line() { start = new Point(0, 0, 0, UNITS), end = new Point(3, 0, 0, UNITS), units = UNITS, - } - ) - { + }, units = UNITS, displayValue = new List { diff --git a/tests/Speckle.Sdk.Serialization.Tests/RevitObject.json b/tests/Speckle.Sdk.Serialization.Tests/RevitObject.json deleted file mode 100644 index 48aec422..00000000 --- a/tests/Speckle.Sdk.Serialization.Tests/RevitObject.json +++ /dev/null @@ -1,5913 +0,0 @@ -[ - { - "id": "551513ff4f3596024547fc818f1f3f70", - "type": "Concrete-Commercial 362mm", - "level": { - "id": "13ec7a96382822d854cebf49f12e37f8", - "name": "Level 1", - "units": "cm", - "category": "Levels", - "elementId": "311", - "elevation": 0, - "worksetId": "0", - "createView": true, - "parameters": { - "id": "183527059ef874eecdd4bb74b9ff762f", - "IFC_GUID": { - "id": "253f76685236e94d17544a66f6849bf6", - "name": "IfcGUID", - "units": null, - "value": "3Zu5Bv0LOHrPC10026FoQQ", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_GUID" - }, - "DATUM_TEXT": { - "id": "9dff18eef47fbfcc195b15e01a076e28", - "name": "Name", - "units": null, - "value": "Level 1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DATUM_TEXT" - }, - "LEVEL_ELEV": { - "id": "c863e6214242197d74a3a28590f14681", - "name": "Elevation", - "units": "cm", - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "LEVEL_ELEV" - }, - "speckle_type": "Base", - "applicationId": null, - "ELEM_TYPE_PARAM": { - "id": "b90ad7d6650e182f4b21325bd8e96545", - "name": "Type", - "units": null, - "value": "305", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_TYPE_PARAM" - }, - "SYMBOL_ID_PARAM": { - "id": "3ca4e3044444c496aff73993b39cee41", - "name": "Type Id", - "units": null, - "value": "305", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "SYMBOL_ID_PARAM" - }, - "DESIGN_OPTION_ID": { - "id": "226f48801e3084d3491eb079e8dd0af8", - "name": "Design Option", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DESIGN_OPTION_ID" - }, - "ELEM_FAMILY_PARAM": { - "id": "775e7c470bc83edf158eb2afd5169271", - "name": "Family", - "units": null, - "value": "305", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_FAMILY_PARAM" - }, - "LEVEL_UP_TO_LEVEL": { - "id": "2c98ab93a27aba3d81fd68d8848d8813", - "name": "Story Above", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "LEVEL_UP_TO_LEVEL" - }, - "IFC_EXPORT_ELEMENT": { - "id": "9433ec034c7dc84e9769c9f9ba332bb5", - "name": "Export to IFC", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT" - }, - "totalChildrenCount": 0, - "ALL_MODEL_TYPE_NAME": { - "id": "82132d22cc87843fba383206476c52a6", - "name": "Type Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_NAME" - }, - "ELEM_CATEGORY_PARAM": { - "id": "06675cc605d2289783137e5f409841df", - "name": "Category", - "units": null, - "value": "-2000240", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM" - }, - "LEVEL_IS_STRUCTURAL": { - "id": "c90aaf2fd87636058ab60a26023fab1e", - "name": "Structural", - "units": null, - "value": false, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "LEVEL_IS_STRUCTURAL" - }, - "ALL_MODEL_FAMILY_NAME": { - "id": "7ef14a150734e2bbefb591fab775d23e", - "name": "Family Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_FAMILY_NAME" - }, - "ELEM_CATEGORY_PARAM_MT": { - "id": "93b264ba0193732c54d676799cae6c09", - "name": "Category", - "units": null, - "value": "-2000240", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM_MT" - }, - "LEVEL_IS_BUILDING_STORY": { - "id": "1a16badbf32cc26bac1f63565f8c7727", - "name": "Building Story", - "units": null, - "value": true, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "LEVEL_IS_BUILDING_STORY" - }, - "DATUM_VOLUME_OF_INTEREST": { - "id": "5ef80c5931aed0c387b423cce5334d30", - "name": "Scope Box", - "units": null, - "value": "400175", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DATUM_VOLUME_OF_INTEREST" - }, - "ELEM_FAMILY_AND_TYPE_PARAM": { - "id": "3050db1515d6afaf12d8e50f101eccc7", - "name": "Family and Type", - "units": null, - "value": "305", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_FAMILY_AND_TYPE_PARAM" - }, - "LEVEL_ROOM_COMPUTATION_HEIGHT": { - "id": "4bf2025d03a4d5cba6962772405fefd3", - "name": "Computation Height", - "units": "cm", - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "LEVEL_ROOM_COMPUTATION_HEIGHT" - } - }, - "speckle_type": "Objects.BuiltElements.Level:Objects.BuiltElements.Revit.RevitLevel", - "applicationId": "e3e052f9-0156-11d5-9301-0000863f27ad-00000137", - "referenceOnly": false, - "builtInCategory": "OST_Levels", - "isRevitLinkedModel": false, - "materialQuantities": [], - "totalChildrenCount": 0, - "revitLinkedModelPath": "C:\\Users\\conno\\Downloads\\objects_R23.rvt" - }, - "slope": -0.20000000000000007, - "units": "cm", - "voids": [], - "family": "Floor", - "outline": { - "id": "ae890eeb90225b9f1938699ef5210ca6", - "area": 0, - "bbox": null, - "units": null, - "closed": false, - "domain": null, - "length": 0, - "segments": [ - { - "id": "2e7b50a5e8e21cd6ce7e4b56153be7e4", - "end": { - "x": 6349.655635530213, - "y": -1699.91494848239, - "z": 0, - "id": "c879c4f687288e4932ff75f902a2f786", - "bbox": null, - "units": "cm", - "speckle_type": "Objects.Geometry.Point", - "applicationId": null, - "totalChildrenCount": 0 - }, - "area": 0, - "bbox": null, - "start": { - "x": 6349.655635530213, - "y": -1199.9149484823902, - "z": 0, - "id": "ab1a7dc25381e01e5e36344a191e007c", - "bbox": null, - "units": "cm", - "speckle_type": "Objects.Geometry.Point", - "applicationId": null, - "totalChildrenCount": 0 - }, - "units": "cm", - "domain": { - "id": "e92a4ceb62fa3f9b53a9a2d533572665", - "end": 16.40419947506561, - "start": 0, - "speckle_type": "Objects.Primitive.Interval", - "applicationId": null, - "totalChildrenCount": 0 - }, - "length": 499.99999999999983, - "speckle_type": "Objects.Geometry.Line", - "applicationId": null, - "totalChildrenCount": 0 - }, - { - "id": "c13b5448e511ca19bfa24b3f7bf78a4e", - "end": { - "x": 5849.655635530213, - "y": -1699.91494848239, - "z": 0, - "id": "a260324e65099ddc4a0e76908c046119", - "bbox": null, - "units": "cm", - "speckle_type": "Objects.Geometry.Point", - "applicationId": null, - "totalChildrenCount": 0 - }, - "area": 0, - "bbox": null, - "start": { - "x": 6349.655635530213, - "y": -1699.91494848239, - "z": 0, - "id": "c879c4f687288e4932ff75f902a2f786", - "bbox": null, - "units": "cm", - "speckle_type": "Objects.Geometry.Point", - "applicationId": null, - "totalChildrenCount": 0 - }, - "units": "cm", - "domain": { - "id": "c7890bf1d837b6a4f777b946a7a08792", - "end": 49.21259842519686, - "start": 32.80839895013125, - "speckle_type": "Objects.Primitive.Interval", - "applicationId": null, - "totalChildrenCount": 0 - }, - "length": 499.99999999999983, - "speckle_type": "Objects.Geometry.Line", - "applicationId": null, - "totalChildrenCount": 0 - }, - { - "id": "a9a70455869aa1e52a90e6ab9c441c73", - "end": { - "x": 5849.655635530213, - "y": -1199.9149484823902, - "z": 0, - "id": "ef0e20c06d37dce848794b69d9ade282", - "bbox": null, - "units": "cm", - "speckle_type": "Objects.Geometry.Point", - "applicationId": null, - "totalChildrenCount": 0 - }, - "area": 0, - "bbox": null, - "start": { - "x": 5849.655635530213, - "y": -1699.91494848239, - "z": 0, - "id": "a260324e65099ddc4a0e76908c046119", - "bbox": null, - "units": "cm", - "speckle_type": "Objects.Geometry.Point", - "applicationId": null, - "totalChildrenCount": 0 - }, - "units": "cm", - "domain": { - "id": "6ecda648b800c62964653c99fc5a3382", - "end": 19.68503937007874, - "start": 3.2808398950131306, - "speckle_type": "Objects.Primitive.Interval", - "applicationId": null, - "totalChildrenCount": 0 - }, - "length": 499.99999999999983, - "speckle_type": "Objects.Geometry.Line", - "applicationId": null, - "totalChildrenCount": 0 - }, - { - "id": "845c03fc3a107e2f62654e221fee6055", - "end": { - "x": 6349.655635530213, - "y": -1199.9149484823902, - "z": 0, - "id": "ab1a7dc25381e01e5e36344a191e007c", - "bbox": null, - "units": "cm", - "speckle_type": "Objects.Geometry.Point", - "applicationId": null, - "totalChildrenCount": 0 - }, - "area": 0, - "bbox": null, - "start": { - "x": 5849.655635530213, - "y": -1199.9149484823902, - "z": 0, - "id": "ef0e20c06d37dce848794b69d9ade282", - "bbox": null, - "units": "cm", - "speckle_type": "Objects.Geometry.Point", - "applicationId": null, - "totalChildrenCount": 0 - }, - "units": "cm", - "domain": { - "id": "e92a4ceb62fa3f9b53a9a2d533572665", - "end": 16.40419947506561, - "start": 0, - "speckle_type": "Objects.Primitive.Interval", - "applicationId": null, - "totalChildrenCount": 0 - }, - "length": 499.99999999999983, - "speckle_type": "Objects.Geometry.Line", - "applicationId": null, - "totalChildrenCount": 0 - } - ], - "speckle_type": "Objects.Geometry.Polycurve", - "applicationId": null, - "totalChildrenCount": 0 - }, - "category": "Floors", - "elements": [ - { - "referencedId": "9407c61a13fdff3313e5535517d0820e", - "speckle_type": "reference" - } - ], - "__closure": { - "00d4a610a914f9dce457fad0260c3d73": 1, - "3d719768b25f185bedebf2865d77aaf1": 1, - "4e78f5d278ed4917de8fdad63512862d": 1, - "52c485bd16243d285dad61fa712421ce": 2, - "9407c61a13fdff3313e5535517d0820e": 1, - "9f9f7958ee36b2b582970b2153b96d05": 1, - "a27fe83ee1f177b67f4f3b08885d7ec3": 1, - "a724becac2af2d936a7c79349ce9b709": 2, - "e34b9581f041267f18092ba75dde35fb": 2, - "e56082f6410025dec8f3cc658a77e4d4": 2, - "e85bd8c0246c15998785930e21b9f291": 2, - "f4ff3dd4a33c3711164fcae43a2e1376": 1 - }, - "elementId": "350409", - "worksetId": "0", - "parameters": { - "id": "7d4c0fdec8c9a51c74747c1df33c1454", - "IFC_GUID": { - "id": "f02e1fa0a6f48fb24470718c71aacb94", - "name": "IfcGUID", - "units": null, - "value": "1cghwxWkP5hebx$jnaWsD_", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_GUID" - }, - "DOOR_COST": { - "id": "eb6b241b8a9d30a8d060ed3045af62ee", - "name": "Cost", - "units": "฿", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:currency-1.0.0", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DOOR_COST" - }, - "speckle_type": "Base", - "ALL_MODEL_URL": { - "id": "8abe9322516ea72e715da245b4303d09", - "name": "URL", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_URL" - }, - "IFC_TYPE_GUID": { - "id": "84de2a1f8c1c9ce60f592adc5a552cae", - "name": "Type IfcGUID", - "units": null, - "value": "3O98Cq8xiHrPCo0026FpEz", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_TYPE_GUID" - }, - "KEYNOTE_PARAM": { - "id": "bcf04d1e0a8e59168a66d0b63eeb1ab8", - "name": "Keynote", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "KEYNOTE_PARAM" - }, - "PHASE_CREATED": { - "id": "75ca890af17bf6c300fa8bf49a1faad3", - "name": "Phase Created", - "units": null, - "value": "86961", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHASE_CREATED" - }, - "applicationId": null, - "ALL_MODEL_MARK": { - "id": "ccdd2d167e1e58cb2e82700148409df7", - "name": "Mark", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MARK" - }, - "FUNCTION_PARAM": { - "id": "649cd2a2df818753cfc8d60bac4f2a9b", - "name": "Function", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "FUNCTION_PARAM" - }, - "UNIFORMAT_CODE": { - "id": "8ed423285d1d5d7118b7a43e40b32883", - "name": "Assembly Code", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "UNIFORMAT_CODE" - }, - "WINDOW_TYPE_ID": { - "id": "6b8a0975069f64a97adb326251fb057a", - "name": "Type Mark", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "WINDOW_TYPE_ID" - }, - "ALL_MODEL_IMAGE": { - "id": "061343fdcc12e983dfae8136fd33ab7e", - "name": "Image", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_IMAGE" - }, - "ALL_MODEL_MODEL": { - "id": "934bca477ca5e150978b7babe1483839", - "name": "Model", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MODEL" - }, - "CLEAR_COVER_TOP": { - "id": "7b3dc68570e6e14b21fc4d5d09576a58", - "name": "Rebar Cover - Top Face", - "units": null, - "value": "99880", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "CLEAR_COVER_TOP" - }, - "ELEM_TYPE_PARAM": { - "id": "47cfc8fd357ed1a97f70ca43b21befd0", - "name": "Type", - "units": null, - "value": "5136", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_TYPE_PARAM" - }, - "RELATED_TO_MASS": { - "id": "b81c40eb493168f253851a2807de13d1", - "name": "Related to Mass", - "units": null, - "value": false, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "RELATED_TO_MASS" - }, - "SYMBOL_ID_PARAM": { - "id": "23ed15627295c7cf868b095dbbdbe8be", - "name": "Type Id", - "units": null, - "value": "5136", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "SYMBOL_ID_PARAM" - }, - "DESIGN_OPTION_ID": { - "id": "226f48801e3084d3491eb079e8dd0af8", - "name": "Design Option", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DESIGN_OPTION_ID" - }, - "PHASE_DEMOLISHED": { - "id": "a6185b7ecb2668c79dcca9a47ca54206", - "name": "Phase Demolished", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHASE_DEMOLISHED" - }, - "CLEAR_COVER_OTHER": { - "id": "942d5fb2e131fdaec2dbfe4d46024bcb", - "name": "Rebar Cover - Other Faces", - "units": null, - "value": "99880", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "CLEAR_COVER_OTHER" - }, - "ELEM_FAMILY_PARAM": { - "id": "41856807000563ad3f8eb63a34c7e4d6", - "name": "Family", - "units": null, - "value": "5136", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_FAMILY_PARAM" - }, - "CLEAR_COVER_BOTTOM": { - "id": "f13df3a0436a49c235e3e2e3e841e1bd", - "name": "Rebar Cover - Bottom Face", - "units": null, - "value": "99880", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "CLEAR_COVER_BOTTOM" - }, - "HOST_AREA_COMPUTED": { - "id": "f99ecf86026e400dd7d10e49d7bff2d5", - "name": "Area", - "units": "m²", - "value": 24.527454725304192, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:squareMeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "HOST_AREA_COMPUTED" - }, - "IFC_EXPORT_ELEMENT": { - "id": "9433ec034c7dc84e9769c9f9ba332bb5", - "name": "Export to IFC", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT" - }, - "totalChildrenCount": 0, - "ALL_MODEL_TYPE_NAME": { - "id": "82132d22cc87843fba383206476c52a6", - "name": "Type Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_NAME" - }, - "ELEM_CATEGORY_PARAM": { - "id": "f5fcfc17b2b3d453e2f73615c7132c73", - "name": "Category", - "units": null, - "value": "-2000032", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM" - }, - "ALL_MODEL_TYPE_IMAGE": { - "id": "e6417f0a96a3c38d9a622ab5494e8612", - "name": "Type Image", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_IMAGE" - }, - "ANALYTICAL_ROUGHNESS": { - "id": "d78c0459d5885b0551440806a7da877a", - "name": "Roughness", - "units": null, - "value": 3, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ANALYTICAL_ROUGHNESS" - }, - "HOST_VOLUME_COMPUTED": { - "id": "fa3ae94f2b3abb16d383659327388292", - "name": "Volume", - "units": "m³", - "value": 8.578477190710895, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:cubicMeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "HOST_VOLUME_COMPUTED" - }, - "SCHEDULE_LEVEL_PARAM": { - "id": "cf9f641ea0d9a98fee310f8df288601d", - "name": "Level", - "units": null, - "value": "311", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "SCHEDULE_LEVEL_PARAM" - }, - "ALL_MODEL_DESCRIPTION": { - "id": "dc455c0fef6a720aff6c536385b6c433", - "name": "Description", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_DESCRIPTION" - }, - "ALL_MODEL_FAMILY_NAME": { - "id": "7ef14a150734e2bbefb591fab775d23e", - "name": "Family Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_FAMILY_NAME" - }, - "IFC_EXPORT_ELEMENT_AS": { - "id": "32da53c27657cacc0bd4d9bf2340705e", - "name": "Export to IFC As", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT_AS" - }, - "UNIFORMAT_DESCRIPTION": { - "id": "026207f8c83f70e3dccb1c9d4f0a195c", - "name": "Assembly Description", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "UNIFORMAT_DESCRIPTION" - }, - "ALL_MODEL_MANUFACTURER": { - "id": "03e476c9ecb3a8c39c42a4a99cd15782", - "name": "Manufacturer", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MANUFACTURER" - }, - "ANALYTICAL_ABSORPTANCE": { - "id": "47c6a5057314a0842a9890f12c84e8d8", - "name": "Absorptance", - "units": null, - "value": 0.7, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:general-1.0.1", - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ANALYTICAL_ABSORPTANCE" - }, - "ELEM_CATEGORY_PARAM_MT": { - "id": "a9438efc13b73b18cb4b1a4b3edada21", - "name": "Category", - "units": null, - "value": "-2000032", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM_MT" - }, - "ALL_MODEL_TYPE_COMMENTS": { - "id": "389eba7a64948e921f41b0f13cab0ff8", - "name": "Type Comments", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_COMMENTS" - }, - "ANALYTICAL_THERMAL_MASS": { - "id": "13593ffccd841fb9f8cfa280346219bc", - "name": "Thermal Mass", - "units": "kJ/(m²·K)", - "value": 304.14, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:kilojoulesPerSquareMeterKelvin-1.0.0", - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ANALYTICAL_THERMAL_MASS" - }, - "HOST_PERIMETER_COMPUTED": { - "id": "e3e80465c2d1e626bc53fb7f377e32c4", - "name": "Perimeter", - "units": "cm", - "value": 1999.9999999999993, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "HOST_PERIMETER_COMPUTED" - }, - "IFC_EXPORT_ELEMENT_TYPE": { - "id": "0c72bf98d9abf2f9db170f5045bf26e9", - "name": "Export Type to IFC", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT_TYPE" - }, - "WALL_ATTR_ROOM_BOUNDING": { - "id": "d18936cfb67f3f7e2cb1db3b6866d9f8", - "name": "Room Bounding", - "units": null, - "value": true, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "WALL_ATTR_ROOM_BOUNDING" - }, - "FLOOR_STRUCTURE_ID_PARAM": { - "id": "39bb14fccdc96c18ea418385ecdf09f3", - "name": "Structure", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "FLOOR_STRUCTURE_ID_PARAM" - }, - "IFC_EXPORT_PREDEFINEDTYPE": { - "id": "1bbe93dc48596577683307830377663e", - "name": "IFC Predefined Type", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_PREDEFINEDTYPE" - }, - "STRUCTURAL_MATERIAL_PARAM": { - "id": "7b7f8ed1cbb4419f6d4248bc0ffd3074", - "name": "Structural Material", - "units": null, - "value": "523", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "STRUCTURAL_MATERIAL_PARAM" - }, - "ELEM_FAMILY_AND_TYPE_PARAM": { - "id": "51d38d015a689eb5014e76995b8d1695", - "name": "Family and Type", - "units": null, - "value": "5136", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_FAMILY_AND_TYPE_PARAM" - }, - "FLOOR_ATTR_THICKNESS_PARAM": { - "id": "3a850d548478f1f1f93d975c4a10016b", - "name": "Thickness", - "units": "cm", - "value": 36.2, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "FLOOR_ATTR_THICKNESS_PARAM" - }, - "IFC_EXPORT_ELEMENT_TYPE_AS": { - "id": "cf49cd58a60d03878cf4c7475e053f7a", - "name": "Export Type to IFC As", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT_TYPE_AS" - }, - "ALL_MODEL_INSTANCE_COMMENTS": { - "id": "4025b5ee5e68c7b65fdfc179bef5eab1", - "name": "Comments", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_INSTANCE_COMMENTS" - }, - "STRUCTURAL_ELEVATION_AT_TOP": { - "id": "8fda5d9fdd5e387ab3be6f41d5069cb8", - "name": "Elevation at Top", - "units": "cm", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "STRUCTURAL_ELEVATION_AT_TOP" - }, - "FLOOR_HEIGHTABOVELEVEL_PARAM": { - "id": "9cef3a1fccce4e4c05b9750a7a89a225", - "name": "Height Offset From Level", - "units": "cm", - "value": 100, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "FLOOR_HEIGHTABOVELEVEL_PARAM" - }, - "ANALYTICAL_THERMAL_RESISTANCE": { - "id": "30763d58dcd01bdaff629b9c9557b0bb", - "name": "Thermal Resistance (R)", - "units": "(m²·K)/W", - "value": 0.2270254844325219, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:squareMeterKelvinsPerWatt-1.0.1", - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ANALYTICAL_THERMAL_RESISTANCE" - }, - "IFC_EXPORT_PREDEFINEDTYPE_TYPE": { - "id": "b7398ab9ec911545bcf3ff348222774a", - "name": "Type IFC Predefined Type", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_PREDEFINEDTYPE_TYPE" - }, - "STRUCTURAL_ELEVATION_AT_BOTTOM": { - "id": "d0cddc2b7ec0a4c1518ba4441461fd26", - "name": "Elevation at Bottom", - "units": "cm", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "STRUCTURAL_ELEVATION_AT_BOTTOM" - }, - "COARSE_SCALE_FILL_PATTERN_COLOR": { - "id": "aba48af3ec57ff0388b53770453cb93a", - "name": "Coarse Scale Fill Color", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "COARSE_SCALE_FILL_PATTERN_COLOR" - }, - "STRUCTURAL_FLOOR_CORE_THICKNESS": { - "id": "9c42a0acc890457eef93be7a217d540a", - "name": "Core Thickness", - "units": "cm", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "STRUCTURAL_FLOOR_CORE_THICKNESS" - }, - "STRUCTURAL_ELEVATION_AT_TOP_CORE": { - "id": "307d68bbab115b159e13da5172db6932", - "name": "Elevation at Top Core", - "units": "cm", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "STRUCTURAL_ELEVATION_AT_TOP_CORE" - }, - "ANALYTICAL_ELEMENT_HAS_ASSOCIATION": { - "id": "54e2d80569b97b2a9808586b01aeddff", - "name": "Has Association", - "units": null, - "value": true, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ANALYTICAL_ELEMENT_HAS_ASSOCIATION" - }, - "COARSE_SCALE_FILL_PATTERN_ID_PARAM": { - "id": "b67cbd5f09fefaa372748c1634ff0736", - "name": "Coarse Scale Fill Pattern", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "COARSE_SCALE_FILL_PATTERN_ID_PARAM" - }, - "FLOOR_ATTR_DEFAULT_THICKNESS_PARAM": { - "id": "945f536f34d0a73782600c22beebca04", - "name": "Default Thickness", - "units": "cm", - "value": 36.2, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "FLOOR_ATTR_DEFAULT_THICKNESS_PARAM" - }, - "STRUCTURAL_ELEVATION_AT_TOP_SURVEY": { - "id": "3841476454a9d8b24af5cd6d6af83142", - "name": "Elevation at Top Survey", - "units": "cm", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "STRUCTURAL_ELEVATION_AT_TOP_SURVEY" - }, - "STRUCTURAL_ELEVATION_AT_BOTTOM_CORE": { - "id": "32799a5f447724cc6d7189b8a290d392", - "name": "Elevation at Bottom Core", - "units": "cm", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "STRUCTURAL_ELEVATION_AT_BOTTOM_CORE" - }, - "30352725-b571-4b21-b9bc-7a05e9dbfd30": { - "id": "de9939167f0ff99a3b74dd14bbae1136", - "name": "UniFormat", - "units": null, - "value": null, - "isShared": true, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "30352725-b571-4b21-b9bc-7a05e9dbfd30" - }, - "5e83901c-127e-4cce-bab7-7ed956a7b598": { - "id": "a93c479ee2d706b499a52d8fcd2548a3", - "name": "Poz No", - "units": null, - "value": null, - "isShared": true, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "5e83901c-127e-4cce-bab7-7ed956a7b598" - }, - "ANALYTICAL_HEAT_TRANSFER_COEFFICIENT": { - "id": "39f5a87cf430427e4a081954b590e7da", - "name": "Heat Transfer Coefficient (U)", - "units": "W/(m²·K)", - "value": 4.404791834271923, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:wattsPerSquareMeterKelvin-1.0.1", - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ANALYTICAL_HEAT_TRANSFER_COEFFICIENT" - }, - "d8073d7a-703c-4a80-b634-0b91166cec35": { - "id": "eaa0547368452b5695735d690afb04fe", - "name": "Tip Kodu", - "units": null, - "value": null, - "isShared": true, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "d8073d7a-703c-4a80-b634-0b91166cec35" - }, - "STRUCTURAL_ELEVATION_AT_BOTTOM_SURVEY": { - "id": "9172c00ea1a3c19f65e356a4f185fd72", - "name": "Elevation at Bottom Survey", - "units": "cm", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "STRUCTURAL_ELEVATION_AT_BOTTOM_SURVEY" - } - }, - "structural": true, - "displayValue": [ - { - "referencedId": "9f9f7958ee36b2b582970b2153b96d05", - "speckle_type": "reference" - }, - { - "referencedId": "00d4a610a914f9dce457fad0260c3d73", - "speckle_type": "reference" - } - ], - "phaseCreated": "New Construction", - "speckle_type": "Objects.BuiltElements.Floor:Objects.BuiltElements.Revit.RevitFloor", - "applicationId": "66aabebb-82e6-45ae-897b-fedc64863bb7-000558c9", - "slopeDirection": { - "id": "a4a76e1eb11b8dc5589f53211ecb3903", - "end": { - "x": 6349.655635530213, - "y": -1449.9149484823915, - "z": 0, - "id": "3f97c69ee3f2df8523a2fe127500525d", - "bbox": null, - "units": "cm", - "speckle_type": "Objects.Geometry.Point", - "applicationId": null, - "totalChildrenCount": 0 - }, - "area": 0, - "bbox": null, - "start": { - "x": 5849.655635530213, - "y": -1449.9149484823902, - "z": 0, - "id": "f634eb9d1e2f985c0b69d4291b36df08", - "bbox": null, - "units": "cm", - "speckle_type": "Objects.Geometry.Point", - "applicationId": null, - "totalChildrenCount": 0 - }, - "units": "m", - "domain": null, - "length": 500, - "speckle_type": "Objects.Geometry.Line", - "applicationId": null, - "totalChildrenCount": 0 - }, - "builtInCategory": "OST_Floors", - "isRevitLinkedModel": false, - "materialQuantities": [ - { - "id": "c561c201b810180820c5cd3ce2e1db61", - "area": 243912.13310796264, - "units": "cm", - "volume": 0, - "material": { - "referencedId": "4e78f5d278ed4917de8fdad63512862d", - "speckle_type": "reference" - }, - "speckle_type": "Objects.Other.MaterialQuantity", - "applicationId": null, - "totalChildrenCount": 0 - }, - { - "id": "0fadd22657e3204d0816ea27ede981c9", - "area": 244013.0526742648, - "units": "cm", - "volume": 284614.69306879985, - "material": { - "referencedId": "a27fe83ee1f177b67f4f3b08885d7ec3", - "speckle_type": "reference" - }, - "speckle_type": "Objects.Other.MaterialQuantity", - "applicationId": null, - "totalChildrenCount": 0 - }, - { - "id": "e7e460d77711e5be173505d9c719c069", - "area": 243912.13310796264, - "units": "cm", - "volume": 4726244.8552871235, - "material": { - "referencedId": "3d719768b25f185bedebf2865d77aaf1", - "speckle_type": "reference" - }, - "speckle_type": "Objects.Other.MaterialQuantity", - "applicationId": null, - "totalChildrenCount": 0 - }, - { - "id": "232b2e387b7b3bd01cdd67927c2f6d4c", - "area": 245274.5472530419, - "units": "cm", - "volume": 3567617.6423549717, - "material": { - "referencedId": "f4ff3dd4a33c3711164fcae43a2e1376", - "speckle_type": "reference" - }, - "speckle_type": "Objects.Other.MaterialQuantity", - "applicationId": null, - "totalChildrenCount": 0 - } - ], - "totalChildrenCount": 12, - "revitLinkedModelPath": "C:\\Users\\conno\\Downloads\\objects_R23.rvt" - }, - { - "id": "00d4a610a914f9dce457fad0260c3d73", - "area": 0, - "bbox": null, - "faces": [ - { - "referencedId": "e56082f6410025dec8f3cc658a77e4d4", - "speckle_type": "reference" - } - ], - "units": "cm", - "colors": [], - "volume": 0, - "vertices": [ - { - "referencedId": "e34b9581f041267f18092ba75dde35fb", - "speckle_type": "reference" - } - ], - "__closure": { - "e34b9581f041267f18092ba75dde35fb": 1, - "e56082f6410025dec8f3cc658a77e4d4": 1 - }, - "speckle_type": "Objects.Geometry.Mesh", - "applicationId": null, - "renderMaterial": { - "id": "b794d36ae48f2eaeb90050afffa9fc5d", - "name": "Concrete, Cast In Situ", - "diffuse": -4144960, - "opacity": 1, - "emissive": -16777216, - "metalness": 0, - "roughness": 1, - "speckle_type": "Objects.Other.RenderMaterial", - "applicationId": null, - "totalChildrenCount": 0 - }, - "textureCoordinates": [], - "totalChildrenCount": 0 - }, - { - "id": "3d719768b25f185bedebf2865d77aaf1", - "name": "Concrete, Cast In Situ", - "units": "cm", - "category": "Materials", - "elementId": "523", - "shininess": 128, - "worksetId": "0", - "parameters": { - "id": "f9794fb8eccaeda5ed8a0a3a28e1d346", - "IFC_GUID": { - "id": "f2b3418b5940ab9a15e01e60665b7a41", - "name": "IfcGUID", - "units": null, - "value": "3Zu5C40LOHrPC10026FoMc", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_GUID" - }, - "DOOR_COST": { - "id": "70a90fcdc412ffb329242075e203a4d2", - "name": "Cost", - "units": "฿", - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:currency-1.0.0", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DOOR_COST" - }, - "speckle_type": "Base", - "ALL_MODEL_URL": { - "id": "6bc4103dfaced7e000e0cf70a83947f9", - "name": "URL", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_URL" - }, - "KEYNOTE_PARAM": { - "id": "464e3bdcb7e701e6268d75b04aa3e4c8", - "name": "Keynote", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "KEYNOTE_PARAM" - }, - "MATERIAL_NAME": { - "id": "19d1745bf48e335c3017288e20a48d9c", - "name": "Name", - "units": null, - "value": "Concrete, Cast In Situ", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_NAME" - }, - "applicationId": null, - "ALL_MODEL_MARK": { - "id": "bbee379d7cce40dbf051ca9ff1c082d4", - "name": "Mark", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MARK" - }, - "ALL_MODEL_IMAGE": { - "id": "061343fdcc12e983dfae8136fd33ab7e", - "name": "Image", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_IMAGE" - }, - "ALL_MODEL_MODEL": { - "id": "71e1f3c0a017f967bfa10cb9bbba8339", - "name": "Model", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MODEL" - }, - "DESIGN_OPTION_ID": { - "id": "226f48801e3084d3491eb079e8dd0af8", - "name": "Design Option", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DESIGN_OPTION_ID" - }, - "IFC_EXPORT_ELEMENT": { - "id": "9433ec034c7dc84e9769c9f9ba332bb5", - "name": "Export to IFC", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT" - }, - "totalChildrenCount": 0, - "ALL_MODEL_TYPE_NAME": { - "id": "82132d22cc87843fba383206476c52a6", - "name": "Type Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_NAME" - }, - "ELEM_CATEGORY_PARAM": { - "id": "5c19163426b2c299f7163af68a41a3c9", - "name": "Category", - "units": null, - "value": "-2000700", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM" - }, - "MATERIAL_PARAM_GLOW": { - "id": "f7948f94bb4cd4874fcfac385b99710a", - "name": "Glow", - "units": null, - "value": false, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_GLOW" - }, - "MATERIAL_PARAM_COLOR": { - "id": "8bec4726a7d961b2290607ad243044d4", - "name": "Color", - "units": null, - "value": 12632256, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_COLOR" - }, - "ALL_MODEL_DESCRIPTION": { - "id": "9d2301889c646c85444cfaaaf02191ae", - "name": "Description", - "units": null, - "value": "physical material", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_DESCRIPTION" - }, - "ALL_MODEL_FAMILY_NAME": { - "id": "7ef14a150734e2bbefb591fab775d23e", - "name": "Family Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_FAMILY_NAME" - }, - "IFC_EXPORT_ELEMENT_AS": { - "id": "32da53c27657cacc0bd4d9bf2340705e", - "name": "Export to IFC As", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT_AS" - }, - "ALL_MODEL_MANUFACTURER": { - "id": "4a3f5e11988e1dc8bc3a460da541f759", - "name": "Manufacturer", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MANUFACTURER" - }, - "ELEM_CATEGORY_PARAM_MT": { - "id": "f19ce7e9ee16a8b4b1af534dc221364d", - "name": "Category", - "units": null, - "value": "-2000700", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM_MT" - }, - "PHY_MATERIAL_PARAM_TYPE": { - "id": "c6e2d14e773b26d13aea996e387f60e6", - "name": "Material Type", - "units": null, - "value": 2, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_TYPE" - }, - "MATERIAL_PARAM_SHININESS": { - "id": "a9cec9768cfc309623f977f1f9893a47", - "name": "Shininess", - "units": null, - "value": 128, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_SHININESS" - }, - "PHY_MATERIAL_PARAM_CLASS": { - "id": "12d13621d8d2575a5250474d54f99597", - "name": "Class", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_CLASS" - }, - "IFC_EXPORT_PREDEFINEDTYPE": { - "id": "1bbe93dc48596577683307830377663e", - "name": "IFC Predefined Type", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_PREDEFINEDTYPE" - }, - "MATERIAL_PARAM_SMOOTHNESS": { - "id": "90d91b34c9ac4a57f91891af4807f73f", - "name": "Smoothness", - "units": null, - "value": 50, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_SMOOTHNESS" - }, - "ALL_MODEL_INSTANCE_COMMENTS": { - "id": "77da8d6ddd91fd48c9a5b29afc99c2e5", - "name": "Comments", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_INSTANCE_COMMENTS" - }, - "MATERIAL_PARAM_TRANSPARENCY": { - "id": "dfc016c6c3c3e7fae046c80082deffa7", - "name": "Transparency", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_TRANSPARENCY" - }, - "PHY_MATERIAL_PARAM_BEHAVIOR": { - "id": "28207a248cf16ca498e3691e5d203efb", - "name": "Behavior", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_BEHAVIOR" - }, - "PHY_MATERIAL_PARAM_SUBCLASS": { - "id": "e47305dca132008d877248bc69f9847c", - "name": "Subclass", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_SUBCLASS" - }, - "PHY_MATERIAL_PARAM_EXP_COEFF1": { - "id": "2dbf6ba098193992b4a52f681ca6639d", - "name": "Thermal expansion coefficient X", - "units": "1/°C", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:inverseDegreesCelsius-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_EXP_COEFF1" - }, - "PHY_MATERIAL_PARAM_EXP_COEFF2": { - "id": "524095403d54d9182ff4b85f29a1ad5e", - "name": "Thermal expansion coefficient Y", - "units": "1/°C", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:inverseDegreesCelsius-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_EXP_COEFF2" - }, - "PHY_MATERIAL_PARAM_EXP_COEFF3": { - "id": "b97653d1544a1114ee7ec525af08adbd", - "name": "Thermal expansion coefficient Z", - "units": "1/°C", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:inverseDegreesCelsius-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_EXP_COEFF3" - }, - "PHY_MATERIAL_PARAM_SHEAR_MOD1": { - "id": "54b7dbaffed47acc7eda2b8dff874714", - "name": "Shear modulus X", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_SHEAR_MOD1" - }, - "PHY_MATERIAL_PARAM_SHEAR_MOD2": { - "id": "f9e8f4cc6dc5e91d9c9cd978638292cf", - "name": "Shear modulus Y", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_SHEAR_MOD2" - }, - "PHY_MATERIAL_PARAM_SHEAR_MOD3": { - "id": "33b52e54420e7a2bb4be967df6de4937", - "name": "Shear modulus Z", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_SHEAR_MOD3" - }, - "PHY_MATERIAL_PARAM_YOUNG_MOD1": { - "id": "8c7b2277766a934bd220ecccb66ad87b", - "name": "Young modulus X", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_YOUNG_MOD1" - }, - "PHY_MATERIAL_PARAM_YOUNG_MOD2": { - "id": "d9cb280f196bfd9bb133b8a03ae1dec6", - "name": "Young modulus Y", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_YOUNG_MOD2" - }, - "PHY_MATERIAL_PARAM_YOUNG_MOD3": { - "id": "595e6b4df9f150d65d6433ca74e38819", - "name": "Young modulus Z", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_YOUNG_MOD3" - }, - "PHY_MATERIAL_PARAM_UNIT_WEIGHT": { - "id": "0365141133c0bec432d42c52dac5f98c", - "name": "Unit weight", - "units": "kN/m³", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:kilonewtonsPerCubicMeter-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_UNIT_WEIGHT" - }, - "PHY_MATERIAL_PARAM_LIGHT_WEIGHT": { - "id": "40aa211e291501f42b7771d301f5b852", - "name": "Lightweight", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_LIGHT_WEIGHT" - }, - "PHY_MATERIAL_PARAM_POISSON_MOD1": { - "id": "7bbcf88ea51db9d8c93848a33b79f0dc", - "name": "Poisson ratio X", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:general-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_POISSON_MOD1" - }, - "PHY_MATERIAL_PARAM_POISSON_MOD2": { - "id": "0b7efc45684d1d826de70867f32fb215", - "name": "Poisson ratio Y", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:general-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_POISSON_MOD2" - }, - "PHY_MATERIAL_PARAM_POISSON_MOD3": { - "id": "56da38f49a6279c207c33d41a003ca23", - "name": "Poisson ratio Z", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:general-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_POISSON_MOD3" - }, - "1190574f-2634-4c09-9dfc-856fca09d674": { - "id": "9cc7f8905be5567c97374f704c5246ef", - "name": "Malzeme UniFormat", - "units": null, - "value": null, - "isShared": true, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "1190574f-2634-4c09-9dfc-856fca09d674" - }, - "ba4ad29c-d864-4b61-84ba-1b992bebb003": { - "id": "ba170ec00ae31cd20182394c6f55e44a", - "name": "Malzeme Poz No", - "units": null, - "value": null, - "isShared": true, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ba4ad29c-d864-4b61-84ba-1b992bebb003" - }, - "PHY_MATERIAL_PARAM_CONCRETE_COMPRESSION": { - "id": "f69a4c7d787d6ca9581eee90facc4874", - "name": "Concrete compression", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_CONCRETE_COMPRESSION" - }, - "PHY_MATERIAL_PARAM_SHEAR_STRENGTH_REDUCTION": { - "id": "cd69930af5dc5740b53c24bacdd8730c", - "name": "Shear strength modification", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:general-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_SHEAR_STRENGTH_REDUCTION" - } - }, - "smoothness": 50, - "speckle_type": "Objects.Other.Material:Objects.Other.Revit.RevitMaterial", - "transparency": 0, - "applicationId": "e3e05304-0156-11d5-9301-0000863f27ad-0000020b", - "materialClass": "Concrete", - "renderMaterial": null, - "builtInCategory": "OST_Materials", - "materialCategory": "Concrete", - "isRevitLinkedModel": false, - "materialQuantities": [], - "totalChildrenCount": 0, - "revitLinkedModelPath": "C:\\Users\\conno\\Downloads\\objects_R23.rvt" - }, - { - "id": "4e78f5d278ed4917de8fdad63512862d", - "name": "Damp-proofing", - "units": "cm", - "category": "Materials", - "elementId": "422", - "shininess": 64, - "worksetId": "0", - "parameters": { - "id": "f958fb7f01492639bab7c645b6b9f426", - "IFC_GUID": { - "id": "77f63cf2c0bc8577e9bbbec55f9794e1", - "name": "IfcGUID", - "units": null, - "value": "3Zu5Bv0LOHrPC10026FoOB", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_GUID" - }, - "DOOR_COST": { - "id": "70a90fcdc412ffb329242075e203a4d2", - "name": "Cost", - "units": "฿", - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:currency-1.0.0", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DOOR_COST" - }, - "speckle_type": "Base", - "ALL_MODEL_URL": { - "id": "6bc4103dfaced7e000e0cf70a83947f9", - "name": "URL", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_URL" - }, - "KEYNOTE_PARAM": { - "id": "464e3bdcb7e701e6268d75b04aa3e4c8", - "name": "Keynote", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "KEYNOTE_PARAM" - }, - "MATERIAL_NAME": { - "id": "a76f5ac3e56f130e4f6a0c28f65ba9aa", - "name": "Name", - "units": null, - "value": "Damp-proofing", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_NAME" - }, - "applicationId": null, - "ALL_MODEL_MARK": { - "id": "bbee379d7cce40dbf051ca9ff1c082d4", - "name": "Mark", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MARK" - }, - "ALL_MODEL_IMAGE": { - "id": "061343fdcc12e983dfae8136fd33ab7e", - "name": "Image", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_IMAGE" - }, - "ALL_MODEL_MODEL": { - "id": "71e1f3c0a017f967bfa10cb9bbba8339", - "name": "Model", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MODEL" - }, - "DESIGN_OPTION_ID": { - "id": "226f48801e3084d3491eb079e8dd0af8", - "name": "Design Option", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DESIGN_OPTION_ID" - }, - "IFC_EXPORT_ELEMENT": { - "id": "9433ec034c7dc84e9769c9f9ba332bb5", - "name": "Export to IFC", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT" - }, - "totalChildrenCount": 0, - "ALL_MODEL_TYPE_NAME": { - "id": "82132d22cc87843fba383206476c52a6", - "name": "Type Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_NAME" - }, - "ELEM_CATEGORY_PARAM": { - "id": "5c19163426b2c299f7163af68a41a3c9", - "name": "Category", - "units": null, - "value": "-2000700", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM" - }, - "MATERIAL_PARAM_GLOW": { - "id": "f7948f94bb4cd4874fcfac385b99710a", - "name": "Glow", - "units": null, - "value": false, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_GLOW" - }, - "MATERIAL_PARAM_COLOR": { - "id": "49e6695ebca83e0c0409656a486578f6", - "name": "Color", - "units": null, - "value": 8355711, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_COLOR" - }, - "ALL_MODEL_DESCRIPTION": { - "id": "815bf0d5fcf81dd945059e4c714b45f0", - "name": "Description", - "units": null, - "value": "Damp-proofing", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_DESCRIPTION" - }, - "ALL_MODEL_FAMILY_NAME": { - "id": "7ef14a150734e2bbefb591fab775d23e", - "name": "Family Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_FAMILY_NAME" - }, - "IFC_EXPORT_ELEMENT_AS": { - "id": "32da53c27657cacc0bd4d9bf2340705e", - "name": "Export to IFC As", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT_AS" - }, - "ALL_MODEL_MANUFACTURER": { - "id": "4a3f5e11988e1dc8bc3a460da541f759", - "name": "Manufacturer", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MANUFACTURER" - }, - "ELEM_CATEGORY_PARAM_MT": { - "id": "f19ce7e9ee16a8b4b1af534dc221364d", - "name": "Category", - "units": null, - "value": "-2000700", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM_MT" - }, - "PHY_MATERIAL_PARAM_TYPE": { - "id": "4f8f1461e5fec1b303a4eb2c0dd80f61", - "name": "Material Type", - "units": null, - "value": 4, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_TYPE" - }, - "MATERIAL_PARAM_SHININESS": { - "id": "8cc49906e2c4369b07ebf333137ef10c", - "name": "Shininess", - "units": null, - "value": 64, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_SHININESS" - }, - "PHY_MATERIAL_PARAM_CLASS": { - "id": "12d13621d8d2575a5250474d54f99597", - "name": "Class", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_CLASS" - }, - "IFC_EXPORT_PREDEFINEDTYPE": { - "id": "1bbe93dc48596577683307830377663e", - "name": "IFC Predefined Type", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_PREDEFINEDTYPE" - }, - "MATERIAL_PARAM_SMOOTHNESS": { - "id": "90d91b34c9ac4a57f91891af4807f73f", - "name": "Smoothness", - "units": null, - "value": 50, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_SMOOTHNESS" - }, - "ALL_MODEL_INSTANCE_COMMENTS": { - "id": "77da8d6ddd91fd48c9a5b29afc99c2e5", - "name": "Comments", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_INSTANCE_COMMENTS" - }, - "MATERIAL_PARAM_TRANSPARENCY": { - "id": "dfc016c6c3c3e7fae046c80082deffa7", - "name": "Transparency", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_TRANSPARENCY" - }, - "PHY_MATERIAL_PARAM_BEHAVIOR": { - "id": "28207a248cf16ca498e3691e5d203efb", - "name": "Behavior", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_BEHAVIOR" - }, - "PHY_MATERIAL_PARAM_SUBCLASS": { - "id": "e47305dca132008d877248bc69f9847c", - "name": "Subclass", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_SUBCLASS" - }, - "PHY_MATERIAL_PARAM_EXP_COEFF1": { - "id": "2dbf6ba098193992b4a52f681ca6639d", - "name": "Thermal expansion coefficient X", - "units": "1/°C", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:inverseDegreesCelsius-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_EXP_COEFF1" - }, - "PHY_MATERIAL_PARAM_EXP_COEFF2": { - "id": "524095403d54d9182ff4b85f29a1ad5e", - "name": "Thermal expansion coefficient Y", - "units": "1/°C", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:inverseDegreesCelsius-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_EXP_COEFF2" - }, - "PHY_MATERIAL_PARAM_EXP_COEFF3": { - "id": "b97653d1544a1114ee7ec525af08adbd", - "name": "Thermal expansion coefficient Z", - "units": "1/°C", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:inverseDegreesCelsius-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_EXP_COEFF3" - }, - "PHY_MATERIAL_PARAM_SHEAR_MOD1": { - "id": "54b7dbaffed47acc7eda2b8dff874714", - "name": "Shear modulus X", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_SHEAR_MOD1" - }, - "PHY_MATERIAL_PARAM_SHEAR_MOD2": { - "id": "f9e8f4cc6dc5e91d9c9cd978638292cf", - "name": "Shear modulus Y", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_SHEAR_MOD2" - }, - "PHY_MATERIAL_PARAM_SHEAR_MOD3": { - "id": "33b52e54420e7a2bb4be967df6de4937", - "name": "Shear modulus Z", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_SHEAR_MOD3" - }, - "PHY_MATERIAL_PARAM_YOUNG_MOD1": { - "id": "8c7b2277766a934bd220ecccb66ad87b", - "name": "Young modulus X", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_YOUNG_MOD1" - }, - "PHY_MATERIAL_PARAM_YOUNG_MOD2": { - "id": "d9cb280f196bfd9bb133b8a03ae1dec6", - "name": "Young modulus Y", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_YOUNG_MOD2" - }, - "PHY_MATERIAL_PARAM_YOUNG_MOD3": { - "id": "595e6b4df9f150d65d6433ca74e38819", - "name": "Young modulus Z", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_YOUNG_MOD3" - }, - "PHY_MATERIAL_PARAM_UNIT_WEIGHT": { - "id": "0365141133c0bec432d42c52dac5f98c", - "name": "Unit weight", - "units": "kN/m³", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:kilonewtonsPerCubicMeter-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_UNIT_WEIGHT" - }, - "PHY_MATERIAL_PARAM_POISSON_MOD1": { - "id": "7bbcf88ea51db9d8c93848a33b79f0dc", - "name": "Poisson ratio X", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:general-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_POISSON_MOD1" - }, - "PHY_MATERIAL_PARAM_POISSON_MOD2": { - "id": "0b7efc45684d1d826de70867f32fb215", - "name": "Poisson ratio Y", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:general-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_POISSON_MOD2" - }, - "PHY_MATERIAL_PARAM_POISSON_MOD3": { - "id": "56da38f49a6279c207c33d41a003ca23", - "name": "Poisson ratio Z", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:general-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_POISSON_MOD3" - }, - "1190574f-2634-4c09-9dfc-856fca09d674": { - "id": "9cc7f8905be5567c97374f704c5246ef", - "name": "Malzeme UniFormat", - "units": null, - "value": null, - "isShared": true, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "1190574f-2634-4c09-9dfc-856fca09d674" - }, - "ba4ad29c-d864-4b61-84ba-1b992bebb003": { - "id": "ba170ec00ae31cd20182394c6f55e44a", - "name": "Malzeme Poz No", - "units": null, - "value": null, - "isShared": true, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ba4ad29c-d864-4b61-84ba-1b992bebb003" - } - }, - "smoothness": 50, - "speckle_type": "Objects.Other.Material:Objects.Other.Revit.RevitMaterial", - "transparency": 0, - "applicationId": "e3e052f9-0156-11d5-9301-0000863f27ad-000001a6", - "materialClass": "Generic", - "renderMaterial": null, - "builtInCategory": "OST_Materials", - "materialCategory": "Generic", - "isRevitLinkedModel": false, - "materialQuantities": [], - "totalChildrenCount": 0, - "revitLinkedModelPath": "C:\\Users\\conno\\Downloads\\objects_R23.rvt" - }, - { - "id": "52c485bd16243d285dad61fa712421ce", - "data": [ - 3, - 3, - 6, - 2, - 3, - 6, - 3, - 5, - 3, - 2, - 7, - 4, - 3, - 7, - 2, - 6, - 3, - 5, - 0, - 1, - 3, - 0, - 5, - 3, - 3, - 4, - 1, - 2, - 3, - 1, - 4, - 5, - 3, - 8, - 9, - 10, - 3, - 10, - 11, - 8, - 3, - 12, - 13, - 14, - 3, - 14, - 15, - 12, - 3, - 16, - 17, - 18, - 3, - 18, - 19, - 16, - 3, - 20, - 21, - 22, - 3, - 22, - 23, - 20, - 3, - 24, - 25, - 26, - 3, - 26, - 27, - 24, - 3, - 28, - 29, - 30, - 3, - 30, - 31, - 28, - 3, - 37, - 35, - 36, - 3, - 34, - 35, - 32, - 3, - 37, - 32, - 35, - 3, - 33, - 34, - 32, - 3, - 38, - 39, - 40, - 3, - 40, - 41, - 38, - 3, - 47, - 43, - 46, - 3, - 45, - 46, - 44, - 3, - 47, - 42, - 43, - 3, - 44, - 46, - 43, - 3, - 48, - 49, - 50, - 3, - 50, - 51, - 48 - ], - "speckle_type": "Speckle.Core.Models.DataChunk", - "applicationId": null, - "totalChildrenCount": 0 - }, - { - "id": "9407c61a13fdff3313e5535517d0820e", - "level": { - "id": "13ec7a96382822d854cebf49f12e37f8", - "name": "Level 1", - "units": "cm", - "category": "Levels", - "elementId": "311", - "elevation": 0, - "worksetId": "0", - "createView": true, - "parameters": { - "id": "183527059ef874eecdd4bb74b9ff762f", - "IFC_GUID": { - "id": "253f76685236e94d17544a66f6849bf6", - "name": "IfcGUID", - "units": null, - "value": "3Zu5Bv0LOHrPC10026FoQQ", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_GUID" - }, - "DATUM_TEXT": { - "id": "9dff18eef47fbfcc195b15e01a076e28", - "name": "Name", - "units": null, - "value": "Level 1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DATUM_TEXT" - }, - "LEVEL_ELEV": { - "id": "c863e6214242197d74a3a28590f14681", - "name": "Elevation", - "units": "cm", - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "LEVEL_ELEV" - }, - "speckle_type": "Base", - "applicationId": null, - "ELEM_TYPE_PARAM": { - "id": "b90ad7d6650e182f4b21325bd8e96545", - "name": "Type", - "units": null, - "value": "305", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_TYPE_PARAM" - }, - "SYMBOL_ID_PARAM": { - "id": "3ca4e3044444c496aff73993b39cee41", - "name": "Type Id", - "units": null, - "value": "305", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "SYMBOL_ID_PARAM" - }, - "DESIGN_OPTION_ID": { - "id": "226f48801e3084d3491eb079e8dd0af8", - "name": "Design Option", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DESIGN_OPTION_ID" - }, - "ELEM_FAMILY_PARAM": { - "id": "775e7c470bc83edf158eb2afd5169271", - "name": "Family", - "units": null, - "value": "305", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_FAMILY_PARAM" - }, - "LEVEL_UP_TO_LEVEL": { - "id": "2c98ab93a27aba3d81fd68d8848d8813", - "name": "Story Above", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "LEVEL_UP_TO_LEVEL" - }, - "IFC_EXPORT_ELEMENT": { - "id": "9433ec034c7dc84e9769c9f9ba332bb5", - "name": "Export to IFC", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT" - }, - "totalChildrenCount": 0, - "ALL_MODEL_TYPE_NAME": { - "id": "82132d22cc87843fba383206476c52a6", - "name": "Type Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_NAME" - }, - "ELEM_CATEGORY_PARAM": { - "id": "06675cc605d2289783137e5f409841df", - "name": "Category", - "units": null, - "value": "-2000240", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM" - }, - "LEVEL_IS_STRUCTURAL": { - "id": "c90aaf2fd87636058ab60a26023fab1e", - "name": "Structural", - "units": null, - "value": false, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "LEVEL_IS_STRUCTURAL" - }, - "ALL_MODEL_FAMILY_NAME": { - "id": "7ef14a150734e2bbefb591fab775d23e", - "name": "Family Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_FAMILY_NAME" - }, - "ELEM_CATEGORY_PARAM_MT": { - "id": "93b264ba0193732c54d676799cae6c09", - "name": "Category", - "units": null, - "value": "-2000240", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM_MT" - }, - "LEVEL_IS_BUILDING_STORY": { - "id": "1a16badbf32cc26bac1f63565f8c7727", - "name": "Building Story", - "units": null, - "value": true, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "LEVEL_IS_BUILDING_STORY" - }, - "DATUM_VOLUME_OF_INTEREST": { - "id": "5ef80c5931aed0c387b423cce5334d30", - "name": "Scope Box", - "units": null, - "value": "400175", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DATUM_VOLUME_OF_INTEREST" - }, - "ELEM_FAMILY_AND_TYPE_PARAM": { - "id": "3050db1515d6afaf12d8e50f101eccc7", - "name": "Family and Type", - "units": null, - "value": "305", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_FAMILY_AND_TYPE_PARAM" - }, - "LEVEL_ROOM_COMPUTATION_HEIGHT": { - "id": "4bf2025d03a4d5cba6962772405fefd3", - "name": "Computation Height", - "units": "cm", - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "LEVEL_ROOM_COMPUTATION_HEIGHT" - } - }, - "speckle_type": "Objects.BuiltElements.Level:Objects.BuiltElements.Revit.RevitLevel", - "applicationId": "e3e052f9-0156-11d5-9301-0000863f27ad-00000137", - "referenceOnly": false, - "builtInCategory": "OST_Levels", - "isRevitLinkedModel": false, - "materialQuantities": [], - "totalChildrenCount": 0, - "revitLinkedModelPath": "C:\\Users\\conno\\Downloads\\objects_R23.rvt" - }, - "units": "cm", - "category": "Generic Models", - "mirrored": false, - "__closure": { - "a724becac2af2d936a7c79349ce9b709": 1 - }, - "elementId": "350445", - "transform": { - "id": "0657a4853443434a5bc1914a16b3197e", - "units": "cm", - "matrix": [ - 1, - 0, - 0, - 6074.404549122284, - 0, - 1, - 0, - -1463.3102950304494, - 0, - 0, - 1, - 55.050217281585766, - 0, - 0, - 0, - 1 - ], - "speckle_type": "Objects.Other.Transform", - "applicationId": null, - "totalChildrenCount": 0 - }, - "worksetId": "0", - "definition": { - "referencedId": "a724becac2af2d936a7c79349ce9b709", - "speckle_type": "reference" - }, - "parameters": { - "id": "a4913f245c89d285f7502848afd1bbbd", - "IFC_GUID": { - "id": "1826209d32db70d03346475a0b706a3b", - "name": "IfcGUID", - "units": null, - "value": "1cghwxWkP5hebx$jnaWsDQ", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_GUID" - }, - "DOOR_COST": { - "id": "eb6b241b8a9d30a8d060ed3045af62ee", - "name": "Cost", - "units": "฿", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:currency-1.0.0", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DOOR_COST" - }, - "speckle_type": "Base", - "ALL_MODEL_URL": { - "id": "8abe9322516ea72e715da245b4303d09", - "name": "URL", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_URL" - }, - "HOST_ID_PARAM": { - "id": "84e2c3f0bcf985aca1fea591785f5827", - "name": "Host Id", - "units": null, - "value": "350409", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "HOST_ID_PARAM" - }, - "IFC_TYPE_GUID": { - "id": "eaeee9de0d8007e3302d5c2d77c4d2ed", - "name": "Type IfcGUID", - "units": null, - "value": "1cghwxWkP5hebx$jnaWsFz", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_TYPE_GUID" - }, - "KEYNOTE_PARAM": { - "id": "bcf04d1e0a8e59168a66d0b63eeb1ab8", - "name": "Keynote", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "KEYNOTE_PARAM" - }, - "PHASE_CREATED": { - "id": "75ca890af17bf6c300fa8bf49a1faad3", - "name": "Phase Created", - "units": null, - "value": "86961", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHASE_CREATED" - }, - "applicationId": null, - "ALL_MODEL_MARK": { - "id": "ccdd2d167e1e58cb2e82700148409df7", - "name": "Mark", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MARK" - }, - "OMNICLASS_CODE": { - "id": "b75af5017b17f1a11641d8f261601929", - "name": "OmniClass Number", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "OMNICLASS_CODE" - }, - "UNIFORMAT_CODE": { - "id": "8ed423285d1d5d7118b7a43e40b32883", - "name": "Assembly Code", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "UNIFORMAT_CODE" - }, - "WINDOW_TYPE_ID": { - "id": "6b8a0975069f64a97adb326251fb057a", - "name": "Type Mark", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "WINDOW_TYPE_ID" - }, - "ALL_MODEL_IMAGE": { - "id": "061343fdcc12e983dfae8136fd33ab7e", - "name": "Image", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_IMAGE" - }, - "ALL_MODEL_MODEL": { - "id": "934bca477ca5e150978b7babe1483839", - "name": "Model", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MODEL" - }, - "ELEM_TYPE_PARAM": { - "id": "eac4f285a8990c0d62ef4fc6249c37ca", - "name": "Type", - "units": null, - "value": "350282", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_TYPE_PARAM" - }, - "SYMBOL_ID_PARAM": { - "id": "32398f6c3af193f439748a2ba2b8c707", - "name": "Type Id", - "units": null, - "value": "350282", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "SYMBOL_ID_PARAM" - }, - "DESIGN_OPTION_ID": { - "id": "226f48801e3084d3491eb079e8dd0af8", - "name": "Design Option", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DESIGN_OPTION_ID" - }, - "PHASE_DEMOLISHED": { - "id": "a6185b7ecb2668c79dcca9a47ca54206", - "name": "Phase Demolished", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHASE_DEMOLISHED" - }, - "ELEM_FAMILY_PARAM": { - "id": "65d7ac846dfd5ad8fa18b9ac87d4837f", - "name": "Family", - "units": null, - "value": "350282", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_FAMILY_PARAM" - }, - "FAMILY_LEVEL_PARAM": { - "id": "63a4211d1b852275f34d9bc743ec5d4b", - "name": "Level", - "units": null, - "value": "311", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "FAMILY_LEVEL_PARAM" - }, - "HOST_AREA_COMPUTED": { - "id": "90e0ff0a6668d04de3b1154a7933a02c", - "name": "Area", - "units": "m²", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:squareMeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "HOST_AREA_COMPUTED" - }, - "IFC_EXPORT_ELEMENT": { - "id": "9433ec034c7dc84e9769c9f9ba332bb5", - "name": "Export to IFC", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT" - }, - "totalChildrenCount": 0, - "ALL_MODEL_TYPE_NAME": { - "id": "82132d22cc87843fba383206476c52a6", - "name": "Type Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_NAME" - }, - "ELEM_CATEGORY_PARAM": { - "id": "b1907dd0236c7091c80d6da690100dc9", - "name": "Category", - "units": null, - "value": "-2000151", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM" - }, - "ALL_MODEL_TYPE_IMAGE": { - "id": "e6417f0a96a3c38d9a622ab5494e8612", - "name": "Type Image", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_IMAGE" - }, - "HOST_VOLUME_COMPUTED": { - "id": "f5c4773773dfddba76bbb03d3f33a68f", - "name": "Volume", - "units": "m³", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:cubicMeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "HOST_VOLUME_COMPUTED" - }, - "SCHEDULE_LEVEL_PARAM": { - "id": "cf9f641ea0d9a98fee310f8df288601d", - "name": "Level", - "units": null, - "value": "311", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "SCHEDULE_LEVEL_PARAM" - }, - "ALL_MODEL_DESCRIPTION": { - "id": "dc455c0fef6a720aff6c536385b6c433", - "name": "Description", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_DESCRIPTION" - }, - "ALL_MODEL_FAMILY_NAME": { - "id": "7ef14a150734e2bbefb591fab775d23e", - "name": "Family Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_FAMILY_NAME" - }, - "IFC_EXPORT_ELEMENT_AS": { - "id": "32da53c27657cacc0bd4d9bf2340705e", - "name": "Export to IFC As", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT_AS" - }, - "OMNICLASS_DESCRIPTION": { - "id": "1ff48b1d6e07459451e87d61fb809f18", - "name": "OmniClass Title", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "OMNICLASS_DESCRIPTION" - }, - "UNIFORMAT_DESCRIPTION": { - "id": "026207f8c83f70e3dccb1c9d4f0a195c", - "name": "Assembly Description", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "UNIFORMAT_DESCRIPTION" - }, - "ALL_MODEL_MANUFACTURER": { - "id": "03e476c9ecb3a8c39c42a4a99cd15782", - "name": "Manufacturer", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MANUFACTURER" - }, - "ELEM_CATEGORY_PARAM_MT": { - "id": "a9a91cfa6bc04ca8a0f097d69beb2dda", - "name": "Category", - "units": null, - "value": "-2000151", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM_MT" - }, - "ALL_MODEL_TYPE_COMMENTS": { - "id": "389eba7a64948e921f41b0f13cab0ff8", - "name": "Type Comments", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_COMMENTS" - }, - "IFC_EXPORT_ELEMENT_TYPE": { - "id": "0c72bf98d9abf2f9db170f5045bf26e9", - "name": "Export Type to IFC", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT_TYPE" - }, - "IFC_EXPORT_PREDEFINEDTYPE": { - "id": "1bbe93dc48596577683307830377663e", - "name": "IFC Predefined Type", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_PREDEFINEDTYPE" - }, - "INSTANCE_OFFSET_POS_PARAM": { - "id": "0a2158c7e56fda885b5b4a5a5cebe12c", - "name": "Moves With Nearby Elements", - "units": null, - "value": false, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "INSTANCE_OFFSET_POS_PARAM" - }, - "ELEM_FAMILY_AND_TYPE_PARAM": { - "id": "4608d1553a2ae24a4a02b0e0a592253a", - "name": "Family and Type", - "units": null, - "value": "350282", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_FAMILY_AND_TYPE_PARAM" - }, - "IFC_EXPORT_ELEMENT_TYPE_AS": { - "id": "cf49cd58a60d03878cf4c7475e053f7a", - "name": "Export Type to IFC As", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT_TYPE_AS" - }, - "ALL_MODEL_INSTANCE_COMMENTS": { - "id": "4025b5ee5e68c7b65fdfc179bef5eab1", - "name": "Comments", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_INSTANCE_COMMENTS" - }, - "STRUCTURAL_FAMILY_CODE_NAME": { - "id": "d9e23cc21311d6878acf9df17a045f8c", - "name": "Code Name", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "STRUCTURAL_FAMILY_CODE_NAME" - }, - "IFC_EXPORT_PREDEFINEDTYPE_TYPE": { - "id": "b7398ab9ec911545bcf3ff348222774a", - "name": "Type IFC Predefined Type", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_PREDEFINEDTYPE_TYPE" - }, - "FAMILY_FREEINST_DEFAULT_ELEVATION": { - "id": "43095255b110c23ab675e11b971bdb0c", - "name": "Default Elevation", - "units": "cm", - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "FAMILY_FREEINST_DEFAULT_ELEVATION" - } - }, - "handFlipped": false, - "phaseCreated": "New Construction", - "speckle_type": "Objects.Other.Revit.RevitInstance", - "applicationId": "66aabebb-82e6-45ae-897b-fedc64863bb7-000558ed", - "facingFlipped": false, - "renderMaterial": null, - "builtInCategory": "OST_GenericModel", - "isRevitLinkedModel": false, - "materialQuantities": [], - "totalChildrenCount": 0, - "revitLinkedModelPath": "C:\\Users\\conno\\Downloads\\objects_R23.rvt" - }, - { - "id": "9f9f7958ee36b2b582970b2153b96d05", - "area": 0, - "bbox": null, - "faces": [ - { - "referencedId": "52c485bd16243d285dad61fa712421ce", - "speckle_type": "reference" - } - ], - "units": "cm", - "colors": [], - "volume": 0, - "vertices": [ - { - "referencedId": "e85bd8c0246c15998785930e21b9f291", - "speckle_type": "reference" - } - ], - "__closure": { - "52c485bd16243d285dad61fa712421ce": 1, - "e85bd8c0246c15998785930e21b9f291": 1 - }, - "speckle_type": "Objects.Geometry.Mesh", - "applicationId": null, - "renderMaterial": { - "id": "19471384302737d6ce6b2f9309007ead", - "name": "Site - Hardcore", - "diffuse": -5952982, - "opacity": 1, - "emissive": -16777216, - "metalness": 0, - "roughness": 1, - "speckle_type": "Objects.Other.RenderMaterial", - "applicationId": null, - "totalChildrenCount": 0 - }, - "textureCoordinates": [], - "totalChildrenCount": 0 - }, - { - "id": "a27fe83ee1f177b67f4f3b08885d7ec3", - "name": "Sand", - "units": "cm", - "category": "Materials", - "elementId": "522", - "shininess": 128, - "worksetId": "0", - "parameters": { - "id": "13624337daeafddd1821f531ab868076", - "IFC_GUID": { - "id": "2869dc2e70992bc90aa63e08e8cf9712", - "name": "IfcGUID", - "units": null, - "value": "3Zu5C40LOHrPC10026FoMd", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_GUID" - }, - "DOOR_COST": { - "id": "70a90fcdc412ffb329242075e203a4d2", - "name": "Cost", - "units": "฿", - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:currency-1.0.0", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DOOR_COST" - }, - "speckle_type": "Base", - "ALL_MODEL_URL": { - "id": "6bc4103dfaced7e000e0cf70a83947f9", - "name": "URL", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_URL" - }, - "KEYNOTE_PARAM": { - "id": "464e3bdcb7e701e6268d75b04aa3e4c8", - "name": "Keynote", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "KEYNOTE_PARAM" - }, - "MATERIAL_NAME": { - "id": "b9ae457215355d0e56b62f00da373962", - "name": "Name", - "units": null, - "value": "Sand", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_NAME" - }, - "applicationId": null, - "ALL_MODEL_MARK": { - "id": "bbee379d7cce40dbf051ca9ff1c082d4", - "name": "Mark", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MARK" - }, - "ALL_MODEL_IMAGE": { - "id": "061343fdcc12e983dfae8136fd33ab7e", - "name": "Image", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_IMAGE" - }, - "ALL_MODEL_MODEL": { - "id": "71e1f3c0a017f967bfa10cb9bbba8339", - "name": "Model", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MODEL" - }, - "DESIGN_OPTION_ID": { - "id": "226f48801e3084d3491eb079e8dd0af8", - "name": "Design Option", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DESIGN_OPTION_ID" - }, - "IFC_EXPORT_ELEMENT": { - "id": "9433ec034c7dc84e9769c9f9ba332bb5", - "name": "Export to IFC", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT" - }, - "totalChildrenCount": 0, - "ALL_MODEL_TYPE_NAME": { - "id": "82132d22cc87843fba383206476c52a6", - "name": "Type Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_NAME" - }, - "ELEM_CATEGORY_PARAM": { - "id": "5c19163426b2c299f7163af68a41a3c9", - "name": "Category", - "units": null, - "value": "-2000700", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM" - }, - "MATERIAL_PARAM_GLOW": { - "id": "f7948f94bb4cd4874fcfac385b99710a", - "name": "Glow", - "units": null, - "value": false, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_GLOW" - }, - "MATERIAL_PARAM_COLOR": { - "id": "5e92b98190fcae6b3011bedef7aa2c58", - "name": "Color", - "units": null, - "value": 11712447, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_COLOR" - }, - "ALL_MODEL_DESCRIPTION": { - "id": "b78c9f4ccde34e07c38fd97c9c33d1f2", - "name": "Description", - "units": null, - "value": "Sand", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_DESCRIPTION" - }, - "ALL_MODEL_FAMILY_NAME": { - "id": "7ef14a150734e2bbefb591fab775d23e", - "name": "Family Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_FAMILY_NAME" - }, - "IFC_EXPORT_ELEMENT_AS": { - "id": "32da53c27657cacc0bd4d9bf2340705e", - "name": "Export to IFC As", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT_AS" - }, - "ALL_MODEL_MANUFACTURER": { - "id": "4a3f5e11988e1dc8bc3a460da541f759", - "name": "Manufacturer", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MANUFACTURER" - }, - "ELEM_CATEGORY_PARAM_MT": { - "id": "f19ce7e9ee16a8b4b1af534dc221364d", - "name": "Category", - "units": null, - "value": "-2000700", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM_MT" - }, - "PHY_MATERIAL_PARAM_TYPE": { - "id": "4f8f1461e5fec1b303a4eb2c0dd80f61", - "name": "Material Type", - "units": null, - "value": 4, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_TYPE" - }, - "MATERIAL_PARAM_SHININESS": { - "id": "a9cec9768cfc309623f977f1f9893a47", - "name": "Shininess", - "units": null, - "value": 128, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_SHININESS" - }, - "PHY_MATERIAL_PARAM_CLASS": { - "id": "12d13621d8d2575a5250474d54f99597", - "name": "Class", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_CLASS" - }, - "IFC_EXPORT_PREDEFINEDTYPE": { - "id": "1bbe93dc48596577683307830377663e", - "name": "IFC Predefined Type", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_PREDEFINEDTYPE" - }, - "MATERIAL_PARAM_SMOOTHNESS": { - "id": "90d91b34c9ac4a57f91891af4807f73f", - "name": "Smoothness", - "units": null, - "value": 50, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_SMOOTHNESS" - }, - "ALL_MODEL_INSTANCE_COMMENTS": { - "id": "77da8d6ddd91fd48c9a5b29afc99c2e5", - "name": "Comments", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_INSTANCE_COMMENTS" - }, - "MATERIAL_PARAM_TRANSPARENCY": { - "id": "dfc016c6c3c3e7fae046c80082deffa7", - "name": "Transparency", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_TRANSPARENCY" - }, - "PHY_MATERIAL_PARAM_BEHAVIOR": { - "id": "28207a248cf16ca498e3691e5d203efb", - "name": "Behavior", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_BEHAVIOR" - }, - "PHY_MATERIAL_PARAM_SUBCLASS": { - "id": "e47305dca132008d877248bc69f9847c", - "name": "Subclass", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_SUBCLASS" - }, - "PHY_MATERIAL_PARAM_EXP_COEFF1": { - "id": "2dbf6ba098193992b4a52f681ca6639d", - "name": "Thermal expansion coefficient X", - "units": "1/°C", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:inverseDegreesCelsius-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_EXP_COEFF1" - }, - "PHY_MATERIAL_PARAM_EXP_COEFF2": { - "id": "524095403d54d9182ff4b85f29a1ad5e", - "name": "Thermal expansion coefficient Y", - "units": "1/°C", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:inverseDegreesCelsius-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_EXP_COEFF2" - }, - "PHY_MATERIAL_PARAM_EXP_COEFF3": { - "id": "b97653d1544a1114ee7ec525af08adbd", - "name": "Thermal expansion coefficient Z", - "units": "1/°C", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:inverseDegreesCelsius-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_EXP_COEFF3" - }, - "PHY_MATERIAL_PARAM_SHEAR_MOD1": { - "id": "54b7dbaffed47acc7eda2b8dff874714", - "name": "Shear modulus X", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_SHEAR_MOD1" - }, - "PHY_MATERIAL_PARAM_SHEAR_MOD2": { - "id": "f9e8f4cc6dc5e91d9c9cd978638292cf", - "name": "Shear modulus Y", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_SHEAR_MOD2" - }, - "PHY_MATERIAL_PARAM_SHEAR_MOD3": { - "id": "33b52e54420e7a2bb4be967df6de4937", - "name": "Shear modulus Z", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_SHEAR_MOD3" - }, - "PHY_MATERIAL_PARAM_YOUNG_MOD1": { - "id": "8c7b2277766a934bd220ecccb66ad87b", - "name": "Young modulus X", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_YOUNG_MOD1" - }, - "PHY_MATERIAL_PARAM_YOUNG_MOD2": { - "id": "d9cb280f196bfd9bb133b8a03ae1dec6", - "name": "Young modulus Y", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_YOUNG_MOD2" - }, - "PHY_MATERIAL_PARAM_YOUNG_MOD3": { - "id": "595e6b4df9f150d65d6433ca74e38819", - "name": "Young modulus Z", - "units": "MPa", - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:megapascals-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_YOUNG_MOD3" - }, - "PHY_MATERIAL_PARAM_UNIT_WEIGHT": { - "id": "0365141133c0bec432d42c52dac5f98c", - "name": "Unit weight", - "units": "kN/m³", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:kilonewtonsPerCubicMeter-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_UNIT_WEIGHT" - }, - "PHY_MATERIAL_PARAM_POISSON_MOD1": { - "id": "7bbcf88ea51db9d8c93848a33b79f0dc", - "name": "Poisson ratio X", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:general-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_POISSON_MOD1" - }, - "PHY_MATERIAL_PARAM_POISSON_MOD2": { - "id": "0b7efc45684d1d826de70867f32fb215", - "name": "Poisson ratio Y", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:general-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_POISSON_MOD2" - }, - "PHY_MATERIAL_PARAM_POISSON_MOD3": { - "id": "56da38f49a6279c207c33d41a003ca23", - "name": "Poisson ratio Z", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:general-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "PHY_MATERIAL_PARAM_POISSON_MOD3" - }, - "1190574f-2634-4c09-9dfc-856fca09d674": { - "id": "9cc7f8905be5567c97374f704c5246ef", - "name": "Malzeme UniFormat", - "units": null, - "value": null, - "isShared": true, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "1190574f-2634-4c09-9dfc-856fca09d674" - }, - "ba4ad29c-d864-4b61-84ba-1b992bebb003": { - "id": "ba170ec00ae31cd20182394c6f55e44a", - "name": "Malzeme Poz No", - "units": null, - "value": null, - "isShared": true, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ba4ad29c-d864-4b61-84ba-1b992bebb003" - } - }, - "smoothness": 50, - "speckle_type": "Objects.Other.Material:Objects.Other.Revit.RevitMaterial", - "transparency": 0, - "applicationId": "e3e05304-0156-11d5-9301-0000863f27ad-0000020a", - "materialClass": "Generic", - "renderMaterial": null, - "builtInCategory": "OST_Materials", - "materialCategory": "Generic", - "isRevitLinkedModel": false, - "materialQuantities": [], - "totalChildrenCount": 0, - "revitLinkedModelPath": "C:\\Users\\conno\\Downloads\\objects_R23.rvt" - }, - { - "id": "a724becac2af2d936a7c79349ce9b709", - "type": "Floor Opening", - "units": "cm", - "family": "Floor Opening", - "category": "Generic Models", - "elements": null, - "elementId": "350282", - "worksetId": "0", - "parameters": { - "id": "5b0a3c9b4b0c07d1fcddfe3f8d3e6cd7", - "DOOR_COST": { - "id": "eb6b241b8a9d30a8d060ed3045af62ee", - "name": "Cost", - "units": "฿", - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:currency-1.0.0", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DOOR_COST" - }, - "speckle_type": "Base", - "ALL_MODEL_URL": { - "id": "8abe9322516ea72e715da245b4303d09", - "name": "URL", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_URL" - }, - "IFC_TYPE_GUID": { - "id": "eaeee9de0d8007e3302d5c2d77c4d2ed", - "name": "Type IfcGUID", - "units": null, - "value": "1cghwxWkP5hebx$jnaWsFz", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_TYPE_GUID" - }, - "KEYNOTE_PARAM": { - "id": "bcf04d1e0a8e59168a66d0b63eeb1ab8", - "name": "Keynote", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "KEYNOTE_PARAM" - }, - "applicationId": null, - "OMNICLASS_CODE": { - "id": "b75af5017b17f1a11641d8f261601929", - "name": "OmniClass Number", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "OMNICLASS_CODE" - }, - "UNIFORMAT_CODE": { - "id": "8ed423285d1d5d7118b7a43e40b32883", - "name": "Assembly Code", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "UNIFORMAT_CODE" - }, - "WINDOW_TYPE_ID": { - "id": "6b8a0975069f64a97adb326251fb057a", - "name": "Type Mark", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "WINDOW_TYPE_ID" - }, - "ALL_MODEL_MODEL": { - "id": "934bca477ca5e150978b7babe1483839", - "name": "Model", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MODEL" - }, - "DESIGN_OPTION_ID": { - "id": "226f48801e3084d3491eb079e8dd0af8", - "name": "Design Option", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DESIGN_OPTION_ID" - }, - "totalChildrenCount": 0, - "ALL_MODEL_TYPE_NAME": { - "id": "3ce74d6037cfbfc5450f8d3ea2fb10c1", - "name": "Type Name", - "units": null, - "value": "Floor Opening", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_NAME" - }, - "ELEM_CATEGORY_PARAM": { - "id": "b1907dd0236c7091c80d6da690100dc9", - "name": "Category", - "units": null, - "value": "-2000151", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM" - }, - "ALL_MODEL_TYPE_IMAGE": { - "id": "e6417f0a96a3c38d9a622ab5494e8612", - "name": "Type Image", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_IMAGE" - }, - "ALL_MODEL_DESCRIPTION": { - "id": "dc455c0fef6a720aff6c536385b6c433", - "name": "Description", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_DESCRIPTION" - }, - "ALL_MODEL_FAMILY_NAME": { - "id": "74e464c15502e62ccd3e6dd90cc221e2", - "name": "Family Name", - "units": null, - "value": "Floor Opening", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_FAMILY_NAME" - }, - "OMNICLASS_DESCRIPTION": { - "id": "1ff48b1d6e07459451e87d61fb809f18", - "name": "OmniClass Title", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "OMNICLASS_DESCRIPTION" - }, - "UNIFORMAT_DESCRIPTION": { - "id": "026207f8c83f70e3dccb1c9d4f0a195c", - "name": "Assembly Description", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "UNIFORMAT_DESCRIPTION" - }, - "ALL_MODEL_MANUFACTURER": { - "id": "03e476c9ecb3a8c39c42a4a99cd15782", - "name": "Manufacturer", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MANUFACTURER" - }, - "ELEM_CATEGORY_PARAM_MT": { - "id": "a9a91cfa6bc04ca8a0f097d69beb2dda", - "name": "Category", - "units": null, - "value": "-2000151", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM_MT" - }, - "ALL_MODEL_TYPE_COMMENTS": { - "id": "389eba7a64948e921f41b0f13cab0ff8", - "name": "Type Comments", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_COMMENTS" - }, - "IFC_EXPORT_ELEMENT_TYPE": { - "id": "0c72bf98d9abf2f9db170f5045bf26e9", - "name": "Export Type to IFC", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT_TYPE" - }, - "IFC_EXPORT_ELEMENT_TYPE_AS": { - "id": "cf49cd58a60d03878cf4c7475e053f7a", - "name": "Export Type to IFC As", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT_TYPE_AS" - }, - "STRUCTURAL_FAMILY_CODE_NAME": { - "id": "d9e23cc21311d6878acf9df17a045f8c", - "name": "Code Name", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "STRUCTURAL_FAMILY_CODE_NAME" - }, - "IFC_EXPORT_PREDEFINEDTYPE_TYPE": { - "id": "b7398ab9ec911545bcf3ff348222774a", - "name": "Type IFC Predefined Type", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": true, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_PREDEFINEDTYPE_TYPE" - }, - "FAMILY_FREEINST_DEFAULT_ELEVATION": { - "id": "43095255b110c23ab675e11b971bdb0c", - "name": "Default Elevation", - "units": "cm", - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:centimeters-1.0.1", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "FAMILY_FREEINST_DEFAULT_ELEVATION" - } - }, - "displayValue": [], - "speckle_type": "Objects.BuiltElements.Revit.RevitElementType:Objects.BuiltElements.Revit.RevitSymbolElementType", - "applicationId": "66aabebb-82e6-45ae-897b-fedc64863bb7-0005584a", - "placementType": "OneLevelBasedHosted", - "builtInCategory": "OST_GenericModel", - "isRevitLinkedModel": false, - "materialQuantities": [], - "totalChildrenCount": 0, - "revitLinkedModelPath": "C:\\Users\\conno\\Downloads\\objects_R23.rvt" - }, - { - "id": "e34b9581f041267f18092ba75dde35fb", - "data": [ - 6349.65567993164, - -1699.9149600219728, - -0.00000000000017596590851098882, - 6349.65567993164, - -1199.9148980712891, - 0.0000000000001353583911622991, - 5849.655501708984, - -1199.9148980712891, - 100.00000076293945, - 5849.655501708984, - -1699.9149600219728, - 100.00000076293945, - 6074.40457397461, - -1537.387787475586, - 55.050219011306766, - 6074.40457397461, - -1387.3877572631836, - 55.050219011306766, - 6157.563218994141, - -1387.3877572631836, - 38.41847620010376, - 6157.563218994141, - -1537.387787475586, - 38.41847620010376 - ], - "speckle_type": "Speckle.Core.Models.DataChunk", - "applicationId": null, - "totalChildrenCount": 0 - }, - { - "id": "e56082f6410025dec8f3cc658a77e4d4", - "data": [ - 3, - 1, - 6, - 0, - 3, - 6, - 1, - 5, - 3, - 0, - 7, - 4, - 3, - 7, - 0, - 6, - 3, - 5, - 2, - 3, - 3, - 2, - 5, - 1, - 3, - 4, - 3, - 0, - 3, - 3, - 4, - 5 - ], - "speckle_type": "Speckle.Core.Models.DataChunk", - "applicationId": null, - "totalChildrenCount": 0 - }, - { - "id": "e85bd8c0246c15998785930e21b9f291", - "data": [ - 6349.65567993164, - -1199.9148980712891, - -36.91689997673035, - 6349.65567993164, - -1699.9149600219728, - -36.91689997673035, - 5849.655501708984, - -1699.9149600219728, - 63.08309715270996, - 5849.655501708984, - -1199.9148980712891, - 63.08309715270996, - 6070.820141601563, - -1537.387787475586, - 18.85021749973297, - 6070.820141601563, - -1387.3877572631836, - 18.85021749973297, - 6007.563072509765, - -1387.3877572631836, - 31.50157645225525, - 6007.563072509765, - -1537.387787475586, - 31.50157645225525, - 6349.65567993164, - -1199.9148980712891, - -36.91689997673035, - 6349.65567993164, - -1199.9148980712891, - 0.0000000000001353583911622991, - 6349.65567993164, - -1699.9149600219728, - -0.00000000000017596590851098882, - 6349.65567993164, - -1699.9149600219728, - -36.91689997673035, - 6349.65567993164, - -1699.9149600219728, - -36.91689997673035, - 6349.65567993164, - -1699.9149600219728, - -0.00000000000017596590851098882, - 5849.655501708984, - -1699.9149600219728, - 100.00000076293945, - 5849.655501708984, - -1699.9149600219728, - 63.08309715270996, - 5849.655501708984, - -1699.9149600219728, - 63.08309715270996, - 5849.655501708984, - -1699.9149600219728, - 100.00000076293945, - 5849.655501708984, - -1199.9148980712891, - 100.00000076293945, - 5849.655501708984, - -1199.9148980712891, - 63.08309715270996, - 5849.655501708984, - -1199.9148980712891, - 63.08309715270996, - 5849.655501708984, - -1199.9148980712891, - 100.00000076293945, - 6349.65567993164, - -1199.9148980712891, - 0.0000000000001353583911622991, - 6349.65567993164, - -1199.9148980712891, - -36.91689997673035, - 6157.563218994141, - -1387.3877572631836, - 18.85021749973297, - 6070.820141601563, - -1387.3877572631836, - 18.85021749973297, - 6070.820141601563, - -1537.387787475586, - 18.85021749973297, - 6157.563218994141, - -1537.387787475586, - 18.85021749973297, - 6007.563072509765, - -1387.3877572631836, - 55.050219011306766, - 6074.40457397461, - -1387.3877572631836, - 55.050219011306766, - 6074.40457397461, - -1537.387787475586, - 55.050219011306766, - 6007.563072509765, - -1537.387787475586, - 55.050219011306766, - 6070.820141601563, - -1387.3877572631836, - 18.85021749973297, - 6157.563218994141, - -1387.3877572631836, - 18.85021749973297, - 6157.563218994141, - -1387.3877572631836, - 38.41847620010376, - 6074.40457397461, - -1387.3877572631836, - 55.050219011306766, - 6007.563072509765, - -1387.3877572631836, - 55.050219011306766, - 6007.563072509765, - -1387.3877572631836, - 31.50157645225525, - 6007.563072509765, - -1537.387787475586, - 55.050219011306766, - 6007.563072509765, - -1537.387787475586, - 31.50157645225525, - 6007.563072509765, - -1387.3877572631836, - 31.50157645225525, - 6007.563072509765, - -1387.3877572631836, - 55.050219011306766, - 6157.563218994141, - -1537.387787475586, - 18.85021749973297, - 6070.820141601563, - -1537.387787475586, - 18.85021749973297, - 6007.563072509765, - -1537.387787475586, - 31.50157645225525, - 6007.563072509765, - -1537.387787475586, - 55.050219011306766, - 6074.40457397461, - -1537.387787475586, - 55.050219011306766, - 6157.563218994141, - -1537.387787475586, - 38.41847620010376, - 6157.563218994141, - -1537.387787475586, - 18.85021749973297, - 6157.563218994141, - -1537.387787475586, - 38.41847620010376, - 6157.563218994141, - -1387.3877572631836, - 38.41847620010376, - 6157.563218994141, - -1387.3877572631836, - 18.85021749973297 - ], - "speckle_type": "Speckle.Core.Models.DataChunk", - "applicationId": null, - "totalChildrenCount": 0 - }, - { - "id": "f4ff3dd4a33c3711164fcae43a2e1376", - "name": "Site - Hardcore", - "units": "cm", - "category": "Materials", - "elementId": "5121", - "shininess": 0, - "worksetId": "0", - "parameters": { - "id": "091981a976a6d8fadb5590cc663c37b6", - "IFC_GUID": { - "id": "2f7d81a271371a035b5831450f8df07a", - "name": "IfcGUID", - "units": null, - "value": "3O98Cq8xiHrPCo0026FpEi", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_GUID" - }, - "DOOR_COST": { - "id": "70a90fcdc412ffb329242075e203a4d2", - "name": "Cost", - "units": "฿", - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": "autodesk.unit.unit:currency-1.0.0", - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DOOR_COST" - }, - "speckle_type": "Base", - "ALL_MODEL_URL": { - "id": "6bc4103dfaced7e000e0cf70a83947f9", - "name": "URL", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_URL" - }, - "KEYNOTE_PARAM": { - "id": "464e3bdcb7e701e6268d75b04aa3e4c8", - "name": "Keynote", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "KEYNOTE_PARAM" - }, - "MATERIAL_NAME": { - "id": "39bb393e4e62b9550033932a3a1ca949", - "name": "Name", - "units": null, - "value": "Site - Hardcore", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_NAME" - }, - "applicationId": null, - "ALL_MODEL_MARK": { - "id": "bbee379d7cce40dbf051ca9ff1c082d4", - "name": "Mark", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MARK" - }, - "ALL_MODEL_IMAGE": { - "id": "061343fdcc12e983dfae8136fd33ab7e", - "name": "Image", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_IMAGE" - }, - "ALL_MODEL_MODEL": { - "id": "71e1f3c0a017f967bfa10cb9bbba8339", - "name": "Model", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MODEL" - }, - "DESIGN_OPTION_ID": { - "id": "226f48801e3084d3491eb079e8dd0af8", - "name": "Design Option", - "units": null, - "value": "-1", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "DESIGN_OPTION_ID" - }, - "IFC_EXPORT_ELEMENT": { - "id": "9433ec034c7dc84e9769c9f9ba332bb5", - "name": "Export to IFC", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT" - }, - "totalChildrenCount": 0, - "ALL_MODEL_TYPE_NAME": { - "id": "82132d22cc87843fba383206476c52a6", - "name": "Type Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_TYPE_NAME" - }, - "ELEM_CATEGORY_PARAM": { - "id": "5c19163426b2c299f7163af68a41a3c9", - "name": "Category", - "units": null, - "value": "-2000700", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM" - }, - "MATERIAL_PARAM_GLOW": { - "id": "f7948f94bb4cd4874fcfac385b99710a", - "name": "Glow", - "units": null, - "value": false, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_GLOW" - }, - "MATERIAL_PARAM_COLOR": { - "id": "f49b83da3a43b7d4b6e076cee58a1dc4", - "name": "Color", - "units": null, - "value": 2763429, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_COLOR" - }, - "ALL_MODEL_DESCRIPTION": { - "id": "668571a7858e6ce18616937000a787d4", - "name": "Description", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_DESCRIPTION" - }, - "ALL_MODEL_FAMILY_NAME": { - "id": "7ef14a150734e2bbefb591fab775d23e", - "name": "Family Name", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_FAMILY_NAME" - }, - "IFC_EXPORT_ELEMENT_AS": { - "id": "32da53c27657cacc0bd4d9bf2340705e", - "name": "Export to IFC As", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_ELEMENT_AS" - }, - "ALL_MODEL_MANUFACTURER": { - "id": "4a3f5e11988e1dc8bc3a460da541f759", - "name": "Manufacturer", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_MANUFACTURER" - }, - "ELEM_CATEGORY_PARAM_MT": { - "id": "f19ce7e9ee16a8b4b1af534dc221364d", - "name": "Category", - "units": null, - "value": "-2000700", - "isShared": false, - "isReadOnly": true, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ELEM_CATEGORY_PARAM_MT" - }, - "MATERIAL_PARAM_SHININESS": { - "id": "88d27eb9a813394c1550ec14075d7d2d", - "name": "Shininess", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_SHININESS" - }, - "IFC_EXPORT_PREDEFINEDTYPE": { - "id": "1bbe93dc48596577683307830377663e", - "name": "IFC Predefined Type", - "units": null, - "value": null, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "IFC_EXPORT_PREDEFINEDTYPE" - }, - "MATERIAL_PARAM_SMOOTHNESS": { - "id": "0f7233f2095dee428f15e249c08cd15b", - "name": "Smoothness", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_SMOOTHNESS" - }, - "ALL_MODEL_INSTANCE_COMMENTS": { - "id": "77da8d6ddd91fd48c9a5b29afc99c2e5", - "name": "Comments", - "units": null, - "value": "", - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ALL_MODEL_INSTANCE_COMMENTS" - }, - "MATERIAL_PARAM_TRANSPARENCY": { - "id": "dfc016c6c3c3e7fae046c80082deffa7", - "name": "Transparency", - "units": null, - "value": 0, - "isShared": false, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "MATERIAL_PARAM_TRANSPARENCY" - }, - "1190574f-2634-4c09-9dfc-856fca09d674": { - "id": "9cc7f8905be5567c97374f704c5246ef", - "name": "Malzeme UniFormat", - "units": null, - "value": null, - "isShared": true, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "1190574f-2634-4c09-9dfc-856fca09d674" - }, - "ba4ad29c-d864-4b61-84ba-1b992bebb003": { - "id": "ba170ec00ae31cd20182394c6f55e44a", - "name": "Malzeme Poz No", - "units": null, - "value": null, - "isShared": true, - "isReadOnly": false, - "speckle_type": "Objects.BuiltElements.Revit.Parameter", - "applicationId": null, - "applicationUnit": null, - "isTypeParameter": false, - "totalChildrenCount": 0, - "applicationUnitType": null, - "applicationInternalName": "ba4ad29c-d864-4b61-84ba-1b992bebb003" - } - }, - "smoothness": 0, - "speckle_type": "Objects.Other.Material:Objects.Other.Revit.RevitMaterial", - "transparency": 0, - "applicationId": "d8248334-23bb-11d5-9332-0000863f27ad-00001401", - "materialClass": "Miscellaneous", - "renderMaterial": null, - "builtInCategory": "OST_Materials", - "materialCategory": "Miscellaneous", - "isRevitLinkedModel": false, - "materialQuantities": [], - "totalChildrenCount": 0, - "revitLinkedModelPath": "C:\\Users\\conno\\Downloads\\objects_R23.rvt" - } -] \ No newline at end of file diff --git a/tests/Speckle.Sdk.Serialization.Tests/RevitObject.json.gz b/tests/Speckle.Sdk.Serialization.Tests/RevitObject.json.gz new file mode 100644 index 00000000..1f6789ba Binary files /dev/null and b/tests/Speckle.Sdk.Serialization.Tests/RevitObject.json.gz differ diff --git a/tests/Speckle.Sdk.Serialization.Tests/SerializationTests.cs b/tests/Speckle.Sdk.Serialization.Tests/SerializationTests.cs index 1fb9cfab..f6cbb628 100644 --- a/tests/Speckle.Sdk.Serialization.Tests/SerializationTests.cs +++ b/tests/Speckle.Sdk.Serialization.Tests/SerializationTests.cs @@ -1,3 +1,4 @@ +using System.IO.Compression; using System.Reflection; using NUnit.Framework; using Shouldly; @@ -43,6 +44,12 @@ public void Setup() private async Task ReadJson(string fullName) { await using var stream = _assembly.GetManifestResourceStream(fullName).NotNull(); + if (fullName.EndsWith(".gz")) + { + await using var z = new GZipStream(stream, CompressionMode.Decompress); + using var reader2 = new StreamReader(z); + return await reader2.ReadToEndAsync(); + } using var reader = new StreamReader(stream); return await reader.ReadToEndAsync(); } @@ -96,7 +103,7 @@ CancellationToken cancellationToken } [Test] - [TestCase("RevitObject.json")] + [TestCase("RevitObject.json.gz")] public async Task Basic_Namespace_Validation(string fileName) { var fullName = _assembly.GetManifestResourceNames().Single(x => x.EndsWith(fileName)); @@ -130,14 +137,14 @@ public async Task Basic_Namespace_Validation(string fileName) } [Test] - [TestCase("RevitObject.json")] + [TestCase("RevitObject.json.gz")] public async Task Basic_Namespace_Validation_New(string fileName) { var fullName = _assembly.GetManifestResourceNames().Single(x => x.EndsWith(fileName)); var json = await ReadJson(fullName); var closures = ReadAsObjects(json); var process = new DeserializeProcess(null, new TestObjectLoader(closures)); - await process.Deserialize("551513ff4f3596024547fc818f1f3f70", default); + await process.Deserialize("3416d3fe01c9196115514c4a2f41617b", default); foreach (var (id, objJson) in closures) { var jObject = JObject.Parse(objJson); diff --git a/tests/Speckle.Sdk.Serialization.Tests/Speckle.Sdk.Serialization.Tests.csproj b/tests/Speckle.Sdk.Serialization.Tests/Speckle.Sdk.Serialization.Tests.csproj index 2950a290..ce4c686e 100644 --- a/tests/Speckle.Sdk.Serialization.Tests/Speckle.Sdk.Serialization.Tests.csproj +++ b/tests/Speckle.Sdk.Serialization.Tests/Speckle.Sdk.Serialization.Tests.csproj @@ -21,7 +21,7 @@ - +