예제 #1
0
        public CrossSection(Project _project, string _name, Shape _shape, MaterialSteel _material, double _height, double _width, double _thicknessFlange, double _thicknessWeb, double _radius)
        {
            this.name     = _name;
            this.shape    = _shape;
            this.material = _material;

            this.height          = _height;
            this.width           = _width;
            this.thicknessFlange = _thicknessFlange;
            this.thicknessWeb    = _thicknessWeb;
            this.radius          = _radius;

            this.project = _project;
            _project.crossSections.Add(this);
        }
예제 #2
0
        static public double CalcDirWebThroat(MaterialSteel materialSteel, double angle, double N)
        {
            //The full strenth factor returned is the factor for single fillet welds
            //In case of double fillet welds take halve of the factor
            //Calculation is made per 1 mm length piece

            double angleHalve = angle;//angle NOT halved
            double beta       = materialSteel.beta;
            double M2         = Project.gammaM2;
            double fy         = materialSteel.fy;
            double fu         = materialSteel.fu;

            double tuss = (2 * Math.Pow(Math.Cos(angleHalve), 2) + 1);

            double numerator   = Math.Pow(beta, 2) * Math.Pow(M2, 2) * Math.Pow(N, 2) * (Math.Pow(Math.Cos(angleHalve), 2) + 2);
            double denominator = Math.Pow(fu, 2);
            double throat      = Math.Sqrt(numerator / denominator);

            return(throat);
        }
예제 #3
0
        /// <summary>
        /// Create crosssection only if the cross-section does not exist yet in the project
        /// </summary>
        /// <param name="_project"></param>
        /// <param name="_name"></param>
        /// <param name="_shape"></param>
        /// <param name="_material"></param>
        /// <param name="_height"></param>
        /// <param name="_width"></param>
        /// <param name="_thicknessFlange"></param>
        /// <param name="_thicknessWeb"></param>
        /// <param name="_radius"></param>
        /// <returns></returns>
        public static CrossSection CreateNewOrExisting(Project _project, string _name, Shape _shape, MaterialSteel _material, double _height, double _width, double _thicknessFlange, double _thicknessWeb, double _radius)
        {
            double       tol = Project.tolerance;
            CrossSection p   = _project.crossSections.Where(a => a.name == _name && a.material == _material).FirstOrDefault();

            if (p == null)
            {
                p = new CrossSection(_project, _name, _shape, _material, _height, _width, _thicknessFlange, _thicknessWeb, _radius);
            }
            return(p);
        }