public override SAPSection GetInitialSection(SAPMaterial mat) { ISectionAssumption assumption = ISectionAssumption.GetInitialSection(); StringBuilder nameStr = new StringBuilder(); nameStr.Append("I "); nameStr.Append(assumption.Height * 100); nameStr.Append("x"); nameStr.Append(assumption.WebThickness * 100); nameStr.Append("/"); nameStr.Append(assumption.TopFlangeWidth * 100); nameStr.Append("x"); nameStr.Append(assumption.TopFlangeThickness * 100); nameStr.Append("/"); nameStr.Append(assumption.BotFlangeWidth * 100); nameStr.Append("x"); nameStr.Append(assumption.BotFlangeThickness * 100); if (assumption == null) { return(null); } SAPISection sec = new SAPISection(nameStr.ToString(), mat, mat, mat , assumption.Height, assumption.TopFlangeWidth, assumption.TopFlangeThickness, assumption.BotFlangeWidth, assumption.BotFlangeThickness, assumption.WebThickness); return(sec); }
public override SAPSection GetInitialSection(SAPMaterial mat) { SAPISection startSection = new SAPISection(); SAPISection endSection = new SAPISection(); startSection.GetInitialSection(mat); startSection.GetInitialSection(mat); endSection.Height *= 3; StringBuilder nameStr = new StringBuilder(); nameStr.Append("I "); nameStr.Append(startSection.Height * 100); nameStr.Append("-"); nameStr.Append(endSection.Height * 100); nameStr.Append("x"); nameStr.Append(startSection.WebThickness * 100); nameStr.Append("-"); nameStr.Append(endSection.WebThickness * 100); nameStr.Append("/"); nameStr.Append(startSection.TopFlangeWidth * 100); nameStr.Append("x"); nameStr.Append(startSection.TopFlangeThickness * 100); nameStr.Append("/"); nameStr.Append(startSection.BotFlangeWidth * 100); nameStr.Append("x"); nameStr.Append(startSection.BotFlangeThickness * 100); if (startSection == null || endSection == null) { return(null); } return(new SAPITaperedSection(nameStr.ToString(), startSection, endSection, 1)); }
public static bool DefineCustomMaterial(SAPMaterial material) { int flag = mySapModel.PropMaterial.SetMaterial(material.MatName, material.MatType); flag = mySapModel.PropMaterial.SetWeightAndMass(material.MatName, 1, material.Weight); flag = mySapModel.PropMaterial.SetMPIsotropic(material.MatName, material.ElasticityModulus, material.PoissonRatio, material.ThermalCoef); switch (material.MatType) { case eMatType.Steel: SAPSteelMaterial steelMaterial = (SAPSteelMaterial)material; flag = mySapModel.PropMaterial.SetOSteel(steelMaterial.MatName, steelMaterial.Fy, steelMaterial.Fu, steelMaterial.eFy, steelMaterial.eFu, 1, 0, 0.015, 0.11, 0.17); break; case eMatType.Concrete: SAPConcreteMaterial rcMaterial = (SAPConcreteMaterial)material; //TODO //mySapModel.PropMaterial.SetOConcrete(rcMaterial.MatName break; case eMatType.NoDesign: break; case eMatType.Aluminum: break; case eMatType.ColdFormed: break; case eMatType.Rebar: break; case eMatType.Tendon: break; case eMatType.Masonry: break; default: break; } if (flag != 0) { material.IsDefinedInSAP = false; return(false); } else { material.IsDefinedInSAP = true; return(true); } }
public SAPISection(string name, SAPMaterial webMaterial, SAPMaterial topFlangeMaterial, SAPMaterial botFlangeMaterial, double height, double topFlangeWidth, double topFlangeThickness, double botFlangeWidth, double botFlangeThickness, double webThickness) { Name = name; WebMaterial = webMaterial; TopFlangeMaterial = topFlangeMaterial; BotFlangeMaterial = botFlangeMaterial; Height = height; TopFlangeWidth = topFlangeWidth; TopFlangeThickness = topFlangeThickness; BotFlangeWidth = botFlangeWidth; BotFlangeThickness = botFlangeThickness; WebThickness = webThickness; }
public static SAPMaterial[] SetDefaultMaterials() { SAPMaterial[] materials = new SAPMaterial[3]; materials[0] = new SAPSteelMaterial("StGr37", 7.85, 21000000, 0.3, 1.170E-05, 24000, 36000, 24000, 36000); materials[1] = new SAPSteelMaterial("StGr44", 7.85, 21000000, 0.3, 1.170E-05, 28000, 44000, 28000, 44000); materials[2] = new SAPSteelMaterial("StGr52", 7.85, 21000000, 0.3, 1.170E-05, 36000, 52000, 36000, 52000); // materials[3] = new SAPConcreteMaterial("RC300", 2400); foreach (SAPMaterial material in materials) { DefineCustomMaterial(material); } return(materials); }
public SAPMaterial ConvertFromHndzMaterial(HndzStructuralMaterial material) { SAPMaterial sapMaterial = null; switch (material.MatType) { case HndzMaterialType.Steel: HndzSteelMaterial matS = (HndzSteelMaterial)material; sapMaterial = new SAPSteelMaterial(matS.Name, matS.Weight, matS.ElasticityModulus, matS.PoissonRatio, matS.ThermalCoef, matS.Fy, matS.Fu, matS.eFy, matS.eFu); break; case HndzMaterialType.Concrete: //HndzConcreteMaterial matC = (HndzConcreteMaterial)material; //sapMaterial = new SAPConcreteMaterial(matS.Name, matS.Weight, matS.ElasticityModulus, matS.PoissonRatio, matS.ThermalCoef, matS.Fy, matS.Fu, matS.eFy, matS.eFu); //TODO throw new NotImplementedException(); break; case HndzMaterialType.NoDesign: break; case HndzMaterialType.Aluminum: break; case HndzMaterialType.ColdFormed: break; case HndzMaterialType.Rebar: break; case HndzMaterialType.Tendon: break; case HndzMaterialType.Masonry: break; default: break; } return(sapMaterial); }
public abstract SAPSection GetInitialSection(SAPMaterial mat);