public ShellType ConvertShellType(eShellType eShellType) { ShellType shellType = new ShellType(); switch (eShellType) { case eShellType.Membrane: shellType = ShellType.Membrane; break; case eShellType.ShellThick: shellType = ShellType.ShellThick; break; case eShellType.ShellThin: shellType = ShellType.ShellThin; break; case eShellType.Layered: shellType = ShellType.Layered; break; default: shellType = ShellType.Null; break; } return(shellType); }
ETABSProperty2D Property2DToSpeckle(string area, string property) { eAreaDesignOrientation areaDesignOrientation = eAreaDesignOrientation.Null; Model.AreaObj.GetDesignOrientation(area, ref areaDesignOrientation); eDeckType deckType = eDeckType.Filled; eSlabType slabType = eSlabType.Drop; eWallPropType wallPropType = eWallPropType.Specified; eShellType shellType = eShellType.Layered; string matProp = ""; double thickness = 0; int color = 0; string notes = ""; string GUID = ""; switch (areaDesignOrientation) { case eAreaDesignOrientation.Wall: return(WallPropertyToSpeckle(property)); break; case eAreaDesignOrientation.Floor: return(FloorPropertyToSpeckle(property)); break; } double[] value = null; return(null); }
/// <summary> /// Converts the type of to shell. /// </summary> /// <param name="value">The value.</param> /// <returns>eShellType.</returns> private static string convertFromShellType(eShellType value) { switch (value) { case eShellType.ShellThin: return("Shell-Thin"); case eShellType.ShellThick: return("Shell-Thick"); case eShellType.ShellLayered: return("Shell-Layered"); case eShellType.PlateThin: return("Plate-Thin"); case eShellType.PlateThick: return("Plate-Thick"); case eShellType.Membrane: return("Membrane"); default: return(string.Empty); } }
internal Wall_Section(string secName, string secMat, double Th, Shell_Stiffness_Modifier sSM, eShellType shellType) { SecName = secName; SecMat = secMat; H = Th; SSM = sSM; ShellType = shellType; }
public void SetDeck(string name, double thickness, eDeckType deckType, eShellType shellType, string nameMaterial, int color = -1, string notes = "", string GUID = "") { }
public void SetWall(string name, double thickness, eWallPropertyType walltype, eShellType shellType, string nameMaterial, int color = -1, string notes = "", string GUID = "") { }
public void GetSlab(string name, ref double thickness, ref eSlabType slabType, ref eShellType shellType, ref string nameMaterial, ref int color, ref string notes, ref string GUID) { }
public void GetWall(string name, ref double thickness, ref eWallPropertyType walltype, ref eShellType shellType, ref string nameMaterial, ref int color, ref string notes, ref string GUID) { }
public void SetSlab(string name, double thickness, eSlabType slabType, eShellType shellType, string nameMaterial, int color = -1, string notes = "", string GUID = "") { }
public void GetDeck(string name, ref double thickness, ref eDeckType deckType, ref eShellType shellType, ref string nameMaterial, ref int color, ref string notes, ref string GUID) { }
/***************************************************/ private void SetShellType(ISurfaceProperty property, eShellType shellType) { oM.Adapters.ETABS.ShellType?bhSHellType = ShellTypeToBHoM(shellType); if (bhSHellType.HasValue) { property.Fragments.AddOrReplace(new ShellTypeFragment { ShellType = bhSHellType.Value }); } }
public void SetShell(string name, eShellType shellType, bool includeDrillingDOF, string nameMaterial, double materialAngle, double membraneThickness, double bendingThickness, int color = -1, string notes = "", string GUID = "") { }
public void GetShell(string name, ref eShellType shellType, ref bool includeDrillingDOF, ref string nameMaterial, ref double materialAngle, ref double membraneThickness, ref double bendingThickness, ref int color, ref string notes, ref string GUID) { }
/***************************************************/ /*** Helper Methods ***/ /***************************************************/ private oM.Adapters.ETABS.ShellType? ShellTypeToBHoM(eShellType shellType) { switch (shellType) { case eShellType.ShellThin: return(oM.Adapters.ETABS.ShellType.ShellThin); case eShellType.ShellThick: return(oM.Adapters.ETABS.ShellType.ShellThick); case eShellType.Membrane: return(oM.Adapters.ETABS.ShellType.Membrane); default: return(null); } }
/***************************************************/ private void SetShellType(ISurfaceProperty prop, eShellType eShellType) { switch (eShellType) { case eShellType.ShellThin: prop.CustomData["ShellType"] = oM.Adapters.ETABS.ShellType.ShellThin; break; case eShellType.ShellThick: prop.CustomData["ShellType"] = oM.Adapters.ETABS.ShellType.ShellThick; break; case eShellType.Membrane: prop.CustomData["ShellType"] = oM.Adapters.ETABS.ShellType.Membrane; break; } }
public ETABSProperty2D WallPropertyToSpeckle(string property) { eWallPropType wallPropType = eWallPropType.Specified; eShellType shellType = eShellType.Layered; string matProp = ""; double thickness = 0; int color = 0; string notes = ""; string GUID = ""; var specklePropery2DWall = new ETABSProperty2D(); specklePropery2DWall.type = Structural.PropertyType2D.Shell; Model.PropArea.GetWall(property, ref wallPropType, ref shellType, ref matProp, ref thickness, ref color, ref notes, ref GUID); var speckleShellType = ConvertShellType(shellType); specklePropery2DWall.shellType = speckleShellType; setProperties(specklePropery2DWall, matProp, thickness, property); specklePropery2DWall.type2D = Structural.ETABS.Analysis.ETABSPropertyType2D.Wall; specklePropery2DWall.applicationId = GUID; return(specklePropery2DWall); }
public ETABSProperty2D FloorPropertyToSpeckle(string property) { eDeckType deckType = eDeckType.Filled; eSlabType slabType = eSlabType.Drop; eShellType shellType = eShellType.Layered; string matProp = ""; double thickness = 0; int color = 0; string notes = ""; string GUID = ""; int d = Model.PropArea.GetDeck(property, ref deckType, ref shellType, ref matProp, ref thickness, ref color, ref notes, ref GUID); if (d == 0) { var speckleProperties2D = new ETABSProperty2D(); double slabDepth = 0; double shearStudDia = 0; double shearStudFu = 0; double shearStudHt = 0; double ribDepth = 0; double ribWidthTop = 0; double ribWidthBot = 0; double ribSpacing = 0; double shearThickness = 0; double unitWeight = 0; var speckleShellType = ConvertShellType(shellType); if (deckType == eDeckType.Filled) { var speckleProperty2D = new ETABSProperty2D.DeckFilled(); Model.PropArea.GetDeckFilled(property, ref slabDepth, ref ribDepth, ref ribWidthTop, ref ribWidthBot, ref ribSpacing, ref shearThickness, ref unitWeight, ref shearStudDia, ref shearStudHt, ref shearStudFu); speckleProperty2D.SlabDepth = slabDepth; speckleProperty2D.ShearStudDia = shearStudDia; speckleProperty2D.ShearStudFu = shearStudFu; speckleProperty2D.RibDepth = ribDepth; speckleProperty2D.RibWidthTop = ribWidthTop; speckleProperty2D.RibWidthBot = ribWidthBot; speckleProperty2D.RibSpacing = ribSpacing; speckleProperty2D.ShearThickness = shearThickness; speckleProperty2D.UnitWeight = unitWeight; speckleProperty2D.ShearStudHt = shearStudHt; speckleProperty2D.deckType = Structural.ETABS.Analysis.DeckType.Filled; setProperties(speckleProperty2D, matProp, thickness, property); speckleProperty2D.type2D = Structural.ETABS.Analysis.ETABSPropertyType2D.Deck; speckleProperty2D.shellType = speckleShellType; speckleProperty2D.applicationId = GUID; return(speckleProperty2D); } else if (deckType == eDeckType.Unfilled) { var speckleProperty2D = new ETABSProperty2D.DeckUnFilled(); Model.PropArea.GetDeckUnfilled(property, ref ribDepth, ref ribWidthTop, ref ribWidthBot, ref ribSpacing, ref shearThickness, ref unitWeight); speckleProperty2D.RibDepth = ribDepth; speckleProperty2D.RibWidthTop = ribWidthTop; speckleProperty2D.RibWidthBot = ribWidthBot; speckleProperty2D.RibSpacing = ribSpacing; speckleProperty2D.ShearThickness = shearThickness; speckleProperty2D.UnitWeight = unitWeight; speckleProperty2D.deckType = Structural.ETABS.Analysis.DeckType.Filled; setProperties(speckleProperty2D, matProp, thickness, property); speckleProperty2D.type2D = Structural.ETABS.Analysis.ETABSPropertyType2D.Deck; speckleProperty2D.shellType = speckleShellType; speckleProperty2D.applicationId = GUID; return(speckleProperty2D); } else if (deckType == eDeckType.SolidSlab) { var speckleProperty2D = new ETABSProperty2D.DeckSlab(); Model.PropArea.GetDeckSolidSlab(property, ref slabDepth, ref shearStudDia, ref shearStudDia, ref shearStudFu); speckleProperty2D.SlabDepth = slabDepth; speckleProperty2D.ShearStudDia = shearStudDia; speckleProperty2D.ShearStudFu = shearStudFu; speckleProperty2D.ShearStudHt = shearStudHt; speckleProperty2D.deckType = Structural.ETABS.Analysis.DeckType.SolidSlab; setProperties(speckleProperty2D, matProp, thickness, property); speckleProperty2D.type2D = Structural.ETABS.Analysis.ETABSPropertyType2D.Deck; speckleProperty2D.shellType = speckleShellType; speckleProperty2D.applicationId = GUID; return(speckleProperty2D); } } int s = Model.PropArea.GetSlab(property, ref slabType, ref shellType, ref matProp, ref thickness, ref color, ref notes, ref GUID); if (s == 0) { var specklePropery2DSlab = new ETABSProperty2D(); setProperties(specklePropery2DSlab, matProp, thickness, property); specklePropery2DSlab.type2D = Structural.ETABS.Analysis.ETABSPropertyType2D.Slab; double overallDepth = 0; double slabThickness = 0; double stemWidthTop = 0; double stemWidthBot = 0; double ribSpacingDir1 = 0; double ribSpacingDir2 = 0; double ribSpacing = 0; int ribParrallelTo = 0; var speckleShellType = ConvertShellType(shellType); if (slabType == eSlabType.Waffle) { var speckleProperty2D = new ETABSProperty2D.WaffleSlab(); Model.PropArea.GetSlabWaffle(property, ref overallDepth, ref slabThickness, ref stemWidthTop, ref stemWidthBot, ref ribSpacingDir1, ref ribSpacingDir2); speckleProperty2D.OverAllDepth = overallDepth; speckleProperty2D.StemWidthBot = stemWidthBot; speckleProperty2D.StemWidthTop = stemWidthTop; speckleProperty2D.RibSpacingDir1 = ribSpacingDir1; speckleProperty2D.RibSpacingDir2 = ribSpacingDir2; speckleProperty2D.slabType = Structural.ETABS.Analysis.SlabType.Waffle; speckleProperty2D.deckType = Structural.ETABS.Analysis.DeckType.Null; setProperties(speckleProperty2D, matProp, thickness, property); speckleProperty2D.shellType = speckleShellType; speckleProperty2D.applicationId = GUID; return(speckleProperty2D); } else if (slabType == eSlabType.Ribbed) { var speckleProperty2D = new ETABSProperty2D.RibbedSlab(); Model.PropArea.GetSlabRibbed(property, ref overallDepth, ref slabThickness, ref stemWidthTop, ref stemWidthBot, ref ribSpacing, ref ribParrallelTo); speckleProperty2D.OverAllDepth = overallDepth; speckleProperty2D.StemWidthBot = stemWidthBot; speckleProperty2D.StemWidthTop = stemWidthTop; speckleProperty2D.RibSpacing = ribSpacing; speckleProperty2D.RibsParallelTo = ribParrallelTo; speckleProperty2D.slabType = Structural.ETABS.Analysis.SlabType.Ribbed; speckleProperty2D.deckType = Structural.ETABS.Analysis.DeckType.Null; setProperties(speckleProperty2D, matProp, thickness, property); speckleProperty2D.shellType = speckleShellType; speckleProperty2D.applicationId = GUID; return(speckleProperty2D); } else { switch (slabType) { case eSlabType.Slab: specklePropery2DSlab.slabType = Structural.ETABS.Analysis.SlabType.Slab; break; case eSlabType.Drop: specklePropery2DSlab.slabType = Structural.ETABS.Analysis.SlabType.Drop; break; case eSlabType.Mat: specklePropery2DSlab.slabType = Structural.ETABS.Analysis.SlabType.Mat; break; case eSlabType.Footing: specklePropery2DSlab.slabType = Structural.ETABS.Analysis.SlabType.Footing; break; default: specklePropery2DSlab.slabType = Structural.ETABS.Analysis.SlabType.Null; break; } specklePropery2DSlab.deckType = Structural.ETABS.Analysis.DeckType.Null; specklePropery2DSlab.shellType = speckleShellType; specklePropery2DSlab.applicationId = GUID; return(specklePropery2DSlab); } } return(null); }
/***************************************************/ /*** Create Methods ***/ /***************************************************/ private bool CreateObject(ISurfaceProperty property2d) { bool success = true; int retA = 0; string propertyName = property2d.DescriptionOrName(); SetAdapterId(property2d, propertyName); string materialName = ""; if (CheckPropertyWarning(property2d, p => p.Material)) { materialName = GetAdapterId <string>(property2d.Material) ?? ""; } eShellType shellType = ShellTypeToCSI(property2d); if (property2d.GetType() == typeof(Waffle)) { Waffle waffleProperty = (Waffle)property2d; m_model.PropArea.SetSlab(propertyName, eSlabType.Waffle, shellType, materialName, waffleProperty.Thickness); retA = m_model.PropArea.SetSlabWaffle(propertyName, waffleProperty.TotalDepthX, waffleProperty.Thickness, waffleProperty.StemWidthX, waffleProperty.StemWidthX, waffleProperty.SpacingX, waffleProperty.SpacingY); } else if (property2d.GetType() == typeof(Ribbed)) { Ribbed ribbedProperty = (Ribbed)property2d; m_model.PropArea.SetSlab(propertyName, eSlabType.Ribbed, shellType, materialName, ribbedProperty.Thickness); retA = m_model.PropArea.SetSlabRibbed(propertyName, ribbedProperty.TotalDepth, ribbedProperty.Thickness, ribbedProperty.StemWidth, ribbedProperty.StemWidth, ribbedProperty.Spacing, (int)ribbedProperty.Direction); } else if (property2d.GetType() == typeof(LoadingPanelProperty)) { retA = m_model.PropArea.SetSlab(propertyName, eSlabType.Slab, shellType, materialName, 0); } else if (property2d.GetType() == typeof(ConstantThickness)) { ConstantThickness constantThickness = (ConstantThickness)property2d; if (constantThickness.PanelType == PanelType.Wall) { retA = m_model.PropArea.SetWall(propertyName, eWallPropType.Specified, shellType, materialName, constantThickness.Thickness); } else { retA = m_model.PropArea.SetSlab(propertyName, eSlabType.Slab, shellType, materialName, constantThickness.Thickness); } } SurfacePropertyModifier modifier = property2d.FindFragment <SurfacePropertyModifier>(); if (modifier != null) { double[] modifiers = new double[] { modifier.FXX, modifier.FYY, modifier.FXY, modifier.MXX, modifier.MYY, modifier.MXY, modifier.VXZ, modifier.VYZ, modifier.Mass, modifier.Weight }; m_model.PropArea.SetModifiers(propertyName, ref modifiers); } if (retA != 0) { success = false; } return(success); }
//Define a new Slab_Section object public static Slab_Section DefineSlabSection(string SectionName, string MaterialProperty, double Thickness, Shell_Stiffness_Modifier Stiffness_Modifier, eSlabType SlabType, eShellType ShellType) { Slab_Section SlabSec = new Slab_Section(SectionName, MaterialProperty, Thickness, Stiffness_Modifier, SlabType, ShellType); return(SlabSec); }
/***************************************************/ private List <ISurfaceProperty> ReadProperty2d(List <string> ids = null) { List <ISurfaceProperty> propertyList = new List <ISurfaceProperty>(); int nameCount = 0; string[] nameArr = { }; if (ids == null) { m_model.PropArea.GetNameList(ref nameCount, ref nameArr); ids = nameArr.ToList(); } foreach (string id in ids) { ISurfaceProperty bhProperty = null; eSlabType slabType = eSlabType.Slab; eShellType shellType = eShellType.ShellThin; eWallPropType wallType = eWallPropType.Specified; string material = ""; double thickness = 0; int colour = 0; string notes = ""; string guid = ""; double depth = 0; double stemWidthTop = 0; double stemWidthBottom = 0;//not used double ribSpacing = 0; double ribSpacing2nd = 0; int direction = 0; double[] modifiers = new double[] { }; bool hasModifiers = false; int ret = m_model.PropArea.GetSlab(id, ref slabType, ref shellType, ref material, ref thickness, ref colour, ref notes, ref guid); if (ret != 0) { m_model.PropArea.GetWall(id, ref wallType, ref shellType, ref material, ref thickness, ref colour, ref notes, ref guid); } if (m_model.PropArea.GetModifiers(id, ref modifiers) == 0) { hasModifiers = true; } if (wallType == eWallPropType.AutoSelectList) { string[] propList = null; string currentProperty = ""; m_model.PropArea.GetWallAutoSelectList(id, ref propList, ref currentProperty); m_model.PropArea.GetWall(currentProperty, ref wallType, ref shellType, ref material, ref thickness, ref colour, ref notes, ref guid); ConstantThickness panelConstant = new ConstantThickness(); panelConstant.Name = currentProperty; panelConstant.CustomData[AdapterId] = id; panelConstant.Material = ReadMaterials(new List <string>() { material })[0]; panelConstant.Thickness = thickness; panelConstant.PanelType = PanelType.Wall; SetShellType(panelConstant, shellType); if (hasModifiers) { panelConstant.CustomData.Add("Modifiers", modifiers); } propertyList.Add(panelConstant); } else { switch (slabType) { case eSlabType.Ribbed: Ribbed panelRibbed = new Ribbed(); m_model.PropArea.GetSlabRibbed(id, ref depth, ref thickness, ref stemWidthTop, ref stemWidthBottom, ref ribSpacing, ref direction); panelRibbed.Name = id; panelRibbed.CustomData[AdapterId] = id; panelRibbed.Material = ReadMaterials(new List <string>() { material })[0]; panelRibbed.Thickness = thickness; panelRibbed.PanelType = PanelType.Slab; panelRibbed.Direction = (PanelDirection)direction; panelRibbed.Spacing = ribSpacing; panelRibbed.StemWidth = stemWidthTop; panelRibbed.TotalDepth = depth; SetShellType(panelRibbed, shellType); if (hasModifiers) { panelRibbed.CustomData.Add("Modifiers", modifiers); } propertyList.Add(panelRibbed); break; case eSlabType.Waffle: Waffle panelWaffle = new Waffle(); m_model.PropArea.GetSlabWaffle(id, ref depth, ref thickness, ref stemWidthTop, ref stemWidthBottom, ref ribSpacing, ref ribSpacing2nd); panelWaffle.Name = id; panelWaffle.CustomData[AdapterId] = id; panelWaffle.Material = ReadMaterials(new List <string>() { material })[0]; panelWaffle.SpacingX = ribSpacing; panelWaffle.SpacingY = ribSpacing2nd; panelWaffle.StemWidthX = stemWidthTop; panelWaffle.StemWidthY = stemWidthTop; //ETABS does not appear to support direction dependent stem width panelWaffle.Thickness = thickness; panelWaffle.TotalDepthX = depth; panelWaffle.TotalDepthY = depth; // ETABS does not appear to to support direction dependent depth panelWaffle.PanelType = PanelType.Slab; SetShellType(panelWaffle, shellType); if (hasModifiers) { panelWaffle.CustomData.Add("Modifiers", modifiers); } propertyList.Add(panelWaffle); break; case eSlabType.Slab: case eSlabType.Drop: case eSlabType.Stiff_DO_NOT_USE: default: ConstantThickness panelConstant = new ConstantThickness(); panelConstant.CustomData[AdapterId] = id; panelConstant.Name = id; panelConstant.Material = ReadMaterials(new List <string>() { material })[0]; panelConstant.Thickness = thickness; panelConstant.Name = id; panelConstant.PanelType = PanelType.Slab; SetShellType(panelConstant, shellType); if (hasModifiers) { panelConstant.CustomData.Add("Modifiers", modifiers); } propertyList.Add(panelConstant); break; } } } return(propertyList); }
//Define a new Wall_Section object public static Wall_Section DefineWallSection(string SectionName, string MaterialProperty, double Thickness, Shell_Stiffness_Modifier Stiffness_Modifier, eShellType ShellType) { Wall_Section WallSec = new Wall_Section(SectionName, MaterialProperty, Thickness, Stiffness_Modifier, ShellType); return(WallSec); }
/***************************************************/ /*** Read Methods ***/ /***************************************************/ private List <ISurfaceProperty> ReadSurfaceProperty(List <string> ids = null) { List <ISurfaceProperty> propertyList = new List <ISurfaceProperty>(); Dictionary <string, IMaterialFragment> bhomMaterials = ReadMaterial().ToDictionary(x => GetAdapterId <string>(x)); int nameCount = 0; string[] nameArr = { }; m_model.PropArea.GetNameList(ref nameCount, ref nameArr); ids = FilterIds(ids, nameArr); foreach (string id in ids) { eSlabType slabType = eSlabType.Slab; eShellType shellType = eShellType.ShellThin; eWallPropType wallType = eWallPropType.Specified; string material = ""; double thickness = 0; int colour = 0; string notes = ""; string guid = null; double depth = 0; double stemWidthTop = 0; double stemWidthBottom = 0;//not used double ribSpacing = 0; double ribSpacing2nd = 0; int direction = 0; double[] modifiers = new double[] { }; int ret = m_model.PropArea.GetSlab(id, ref slabType, ref shellType, ref material, ref thickness, ref colour, ref notes, ref guid); if (ret != 0) { m_model.PropArea.GetWall(id, ref wallType, ref shellType, ref material, ref thickness, ref colour, ref notes, ref guid); } SurfacePropertyModifier modifier = null; if (m_model.PropArea.GetModifiers(id, ref modifiers) == 0 && modifiers != null && modifiers.Length == 10 && modifiers.Any(x => x != 1)) { modifier = new SurfacePropertyModifier { FXX = modifiers[0], FYY = modifiers[1], FXY = modifiers[2], MXX = modifiers[3], MYY = modifiers[4], MXY = modifiers[5], VXZ = modifiers[6], VYZ = modifiers[7], Mass = modifiers[8], Weight = modifiers[9] }; } IMaterialFragment bhMaterial = null; try { bhMaterial = bhomMaterials[material]; } catch (Exception) { Engine.Base.Compute.RecordNote("Could not get material from ETABS. Material for surface property " + id + " will be null"); } if (wallType == eWallPropType.AutoSelectList) { string[] propList = null; string currentProperty = ""; m_model.PropArea.GetWallAutoSelectList(id, ref propList, ref currentProperty); m_model.PropArea.GetWall(currentProperty, ref wallType, ref shellType, ref material, ref thickness, ref colour, ref notes, ref guid); ConstantThickness panelConstant = new ConstantThickness(); panelConstant.Name = currentProperty; panelConstant.Material = bhMaterial; panelConstant.Thickness = thickness; panelConstant.PanelType = PanelType.Wall; SetShellType(panelConstant, shellType); if (modifier != null) { panelConstant.Fragments.Add(modifier); } SetAdapterId(panelConstant, id); propertyList.Add(panelConstant); } else { switch (slabType) { case eSlabType.Ribbed: Ribbed panelRibbed = new Ribbed(); m_model.PropArea.GetSlabRibbed(id, ref depth, ref thickness, ref stemWidthTop, ref stemWidthBottom, ref ribSpacing, ref direction); panelRibbed.Name = id; panelRibbed.Material = bhMaterial; panelRibbed.Thickness = thickness; panelRibbed.PanelType = PanelType.Slab; panelRibbed.Direction = (PanelDirection)direction; panelRibbed.Spacing = ribSpacing; panelRibbed.StemWidth = stemWidthTop; panelRibbed.TotalDepth = depth; SetShellType(panelRibbed, shellType); if (modifier != null) { panelRibbed.Fragments.Add(modifier); } SetAdapterId(panelRibbed, id); propertyList.Add(panelRibbed); break; case eSlabType.Waffle: Waffle panelWaffle = new Waffle(); m_model.PropArea.GetSlabWaffle(id, ref depth, ref thickness, ref stemWidthTop, ref stemWidthBottom, ref ribSpacing, ref ribSpacing2nd); panelWaffle.Name = id; panelWaffle.Material = bhMaterial; panelWaffle.SpacingX = ribSpacing; panelWaffle.SpacingY = ribSpacing2nd; panelWaffle.StemWidthX = stemWidthTop; panelWaffle.StemWidthY = stemWidthTop; //ETABS does not appear to support direction dependent stem width panelWaffle.Thickness = thickness; panelWaffle.TotalDepthX = depth; panelWaffle.TotalDepthY = depth; // ETABS does not appear to to support direction dependent depth panelWaffle.PanelType = PanelType.Slab; SetShellType(panelWaffle, shellType); if (modifier != null) { panelWaffle.Fragments.Add(modifier); } SetAdapterId(panelWaffle, id); propertyList.Add(panelWaffle); break; case eSlabType.Slab: case eSlabType.Drop: case eSlabType.Stiff_DO_NOT_USE: default: ConstantThickness panelConstant = new ConstantThickness(); panelConstant.Name = id; panelConstant.Material = bhMaterial; panelConstant.Thickness = thickness; panelConstant.Name = id; panelConstant.PanelType = PanelType.Slab; SetShellType(panelConstant, shellType); if (modifier != null) { panelConstant.Fragments.Add(modifier); } SetAdapterId(panelConstant, id); propertyList.Add(panelConstant); break; } } } return(propertyList); }
// eShellType internal static CSiProgram.eShellType ToCSi(eShellType enumValue) { return((CSiProgram.eShellType)enumValue); }