Exemplo n.º 1
0
        public static Dictionary<string, object> IncisingFactor(bool IsIncised =false,
             string WoodMemberType = "SawnDimensionLumber", string Code = "NDS2015")
        {
            //Default values

            double C_i_Fb=1.0;
            double C_i_Ft=1.0;
            double C_i_Fv=1.0;
            double C_i_Fc=1.0;
            double C_i_E =1.0;

            //Calculation logic:


            if (IsIncised == true)
            {
                if (WoodMemberType.Contains("Sawn") && WoodMemberType.Contains("Lumber"))
                {
                    DimensionalLumber m = new DimensionalLumber();
                    C_i_Fb = m.GetInsizingFactor(ww.ReferenceDesignValueType.Bending);
                    C_i_Ft = m.GetInsizingFactor(ww.ReferenceDesignValueType.TensionParallelToGrain);
                    C_i_Fv = m.GetInsizingFactor(ww.ReferenceDesignValueType.ShearParallelToGrain);
                    C_i_Fc = m.GetInsizingFactor(ww.ReferenceDesignValueType.CompresionParallelToGrain);
                    C_i_E = m.GetInsizingFactor(ww.ReferenceDesignValueType.ModulusOfElasticity);
                }
                else if (WoodMemberType.Contains("Sawn") && WoodMemberType.Contains("Timber"))
                {
                    Timber t = new Timber();
                    C_i_Fb = t.GetInsizingFactor(ww.ReferenceDesignValueType.Bending);
                    C_i_Ft = t.GetInsizingFactor(ww.ReferenceDesignValueType.TensionParallelToGrain);
                    C_i_Fv = t.GetInsizingFactor(ww.ReferenceDesignValueType.ShearParallelToGrain);
                    C_i_Fc = t.GetInsizingFactor(ww.ReferenceDesignValueType.CompresionParallelToGrain);
                    C_i_E =  t.GetInsizingFactor(ww.ReferenceDesignValueType.ModulusOfElasticity);
                }
                else
                {
                    throw new Exception("Wood member type not supported.");
                } 
            }

            return new Dictionary<string, object>
            {
                { "C_i_Fb", C_i_Fb }
                ,{ "C_i_Ft", C_i_Ft }
                ,{ "C_i_Fv", C_i_Fv }
                ,{ "C_i_Fc", C_i_Fc }
                ,{ "C_i_E", C_i_E }
 
            };
        }
        public static Dictionary <string, object> IncisingFactor(bool IsIncised        = false,
                                                                 string WoodMemberType = "SawnDimensionLumber", string Code = "NDS2015")
        {
            //Default values

            double C_i_Fb = 1.0;
            double C_i_Ft = 1.0;
            double C_i_Fv = 1.0;
            double C_i_Fc = 1.0;
            double C_i_E  = 1.0;

            //Calculation logic:


            if (IsIncised == true)
            {
                if (WoodMemberType.Contains("Sawn") && WoodMemberType.Contains("Lumber"))
                {
                    DimensionalLumber m = new DimensionalLumber();
                    C_i_Fb = m.GetInsizingFactor(ww.ReferenceDesignValueType.Bending);
                    C_i_Ft = m.GetInsizingFactor(ww.ReferenceDesignValueType.TensionParallelToGrain);
                    C_i_Fv = m.GetInsizingFactor(ww.ReferenceDesignValueType.ShearParallelToGrain);
                    C_i_Fc = m.GetInsizingFactor(ww.ReferenceDesignValueType.CompresionParallelToGrain);
                    C_i_E  = m.GetInsizingFactor(ww.ReferenceDesignValueType.ModulusOfElasticity);
                }
                else if (WoodMemberType.Contains("Sawn") && WoodMemberType.Contains("Timber"))
                {
                    Timber t = new Timber();
                    C_i_Fb = t.GetInsizingFactor(ww.ReferenceDesignValueType.Bending);
                    C_i_Ft = t.GetInsizingFactor(ww.ReferenceDesignValueType.TensionParallelToGrain);
                    C_i_Fv = t.GetInsizingFactor(ww.ReferenceDesignValueType.ShearParallelToGrain);
                    C_i_Fc = t.GetInsizingFactor(ww.ReferenceDesignValueType.CompresionParallelToGrain);
                    C_i_E  = t.GetInsizingFactor(ww.ReferenceDesignValueType.ModulusOfElasticity);
                }
                else
                {
                    throw new Exception("Wood member type not supported.");
                }
            }

            return(new Dictionary <string, object>
            {
                { "C_i_Fb", C_i_Fb }
                , { "C_i_Ft", C_i_Ft }
                , { "C_i_Fv", C_i_Fv }
                , { "C_i_Fc", C_i_Fc }
                , { "C_i_E", C_i_E }
            });
        }