예제 #1
0
        public static Dictionary<string, object> BoltHoleSize(double d_b, string BoltHoleType, bool IsTensionOrShear = true, string Code = "AISC360-10")
        {
            //Default values
            double d_hole = 0;
            double b_hole = 0;
            BoltHoleType holeType;
            bool IsValidString =Enum.TryParse(BoltHoleType, true, out holeType);
            if (IsValidString == true)
            {
                b.BoltGeneral b = new b.BoltGeneral(d_b, 0, 0);
                d_hole = b.GetBoltHoleWidth(holeType,  IsTensionOrShear);
                b_hole = b.GetBoltHoleLength(holeType, IsTensionOrShear);
            }
            else
            {
                throw new Exception("Bolt hole calculation failed. Invalid hole type designation.");
            }

            return new Dictionary<string, object>
            {
                { "d_hole", d_hole },
                 { "b_hole", b_hole }
 
            };
        }
예제 #2
0
        public void BoltHoleSSLReturnsLength()
        {
            b.BoltGeneral b   = new b.BoltGeneral(0.75, 0, 0);
            double        d_l = b.GetBoltHoleLength(BoltHoleType.SSL_Parallel, false);

            Assert.AreEqual(1.0, d_l);
        }
예제 #3
0
        public void BoltHoleSSLReturnsWidth()
        {
            b.BoltGeneral b   = new b.BoltGeneral(0.75, 0, 0);
            double        d_h = b.GetBoltHoleWidth(BoltHoleType.SSL_Parallel, false);

            Assert.AreEqual(13.0 / 16.0, d_h);
        }
예제 #4
0
        public void BoltHoleOVSReturnsSize()
        {
            b.BoltGeneral b   = new b.BoltGeneral(0.75, 0, 0);
            double        d_h = b.GetBoltHoleWidth(BoltHoleType.OVS, false);

            Assert.AreEqual(15.0 / 16.0, d_h);
        }
        private double GetM_max(double F_nv, double d_b, double C_prime)
        {
            BoltGeneral b = new BoltGeneral(d_b, F_nv, 0);
            double A_b = b.Area;
            double M_max = F_nv/(0.9)*(A_b*C_prime); //AISC Manual Equation 10-4

            return M_max;
        }
예제 #6
0
 public void BoltHoleSSLReturnsLength()
 {
     b.BoltGeneral b = new b.BoltGeneral(0.75, 0, 0);
     double d_l = b.GetBoltHoleLength(BoltHoleType.SSL_Parallel, false);
     Assert.AreEqual(1.0, d_l);
 }
예제 #7
0
 public void BoltHoleSSLReturnsWidth()
 {
     b.BoltGeneral b = new b.BoltGeneral(0.75, 0, 0);
     double d_h = b.GetBoltHoleWidth(BoltHoleType.SSL_Parallel, false);
     Assert.AreEqual(13.0 / 16.0, d_h);
 }
예제 #8
0
 public void BoltHoleOVSReturnsSize()
 {
     b.BoltGeneral b = new b.BoltGeneral(0.75, 0, 0);
     double d_h = b.GetBoltHoleWidth(BoltHoleType.OVS, false);
     Assert.AreEqual(15.0 / 16.0, d_h);
 }