Beispiel #1
0
        public RecProfile(double h, double b, IMaterial material, IBeam beam, ILoad load)
        {
            _height = h;
            _widht  = b;

            if (h * b > _max_area)
            {
                _area = 0; throw new TooLargeArea(_max_area);
            }
            else
            {
                _area = h * b;
                if (_area == 0)
                {
                    throw new WrongDimensions();
                }
            }
            _momentOFInertia = (b * Math.Pow(h, 3)) / 12;
            _weight          = _area * material.Density;
            _fle_tension     = (beam.maxMoment(load) + ((_weight * (Math.Pow(beam.Lenght, 2))) / 8)) / (_momentOFInertia / (h / 2));
            _she_tension     = (beam.maxForce(load) + beam.Lenght * _weight) * (1.5 * _height);
            _fle_effort      = _fle_tension / material.FlexuralStrenght;
            _strenght        = material.FlexuralStrenght;
            _she_effort      = _she_tension / material.ShearStrenght;
        }
Beispiel #2
0
        public I_Profile(double H, double B, double h, double t, IMaterial material, IBeam beam, ILoad load)
        {
            _height  = H;
            _widht   = B;
            _height2 = h;
            _width2  = t;
            hw       = H - (2 * h);
            bw       = (B - t) / 2;

            if (bw < 0 || hw < 0)
            {
                throw new WrongDimensions();
            }
            _area = (2 * B * h) + (t * (H - (2 * h)));
            if (_area == 0)
            {
                throw new WrongDimensions();
            }
            if (_area > _max_area)
            {
                _area = 0; throw new TooLargeArea(_max_area);
            }
            _momentOFInertia = ((B * Math.Pow(H, 3)) / 12) - (2 * ((bw * Math.Pow(hw, 3)) / 12));
            _weight          = _area * material.Density;
            _fle_tension     = (beam.maxMoment(load) + ((_weight * (Math.Pow(beam.Lenght, 2))) / 8)) / (_momentOFInertia / (h / 2));
            _she_tension     = (beam.maxForce(load) + beam.Lenght * _weight) * (1.5 * hw);
            _fle_effort      = _fle_tension / material.FlexuralStrenght;
            _strenght        = material.FlexuralStrenght;
            _she_effort      = _she_tension / material.ShearStrenght;
        }