示例#1
0
        // // Aluminum
        // // DesignSect="Program Determined"/FSEC1/...
        // // Fy=0/32
        // // (Reduced Live Load Factor)RLLF=0/11
        // // (Unbraced length ratios) XLMajor=0/12   XLMinor=0/13   XLLTB=0/14
        // // (Effective length)XKMajor=4   XKMinor=5
        // // CmMajor=0   CmMinor=0    Cb=0
        private static Dictionary <string, string> setOverwritesAluminumBasic(Frame frame)
        {
            FrameDesignOverwrites <AluminumDesignOverwrite, AluminumDesignOverwriteProperties> overwrite = frame.FrameDesignOverwrites.AluminumDesignOverwrite;

            Dictionary <string, string> tableRow = new Dictionary <string, string>
            {
                ["Frame"]      = Adaptor.ToStringEntryLimited(frame.Name),
                ["DesignSect"] =
                    Adaptor.ToStringEntryLimited(getNullableFrameSection(overwrite.GenericOverwrites.DesignSection)),
                ["Fy"]      = Adaptor.fromDouble(overwrite.GenericOverwrites.Fy),
                ["RLLF"]    = Adaptor.fromDouble(overwrite.GenericOverwrites.RLLF),
                ["XLMajor"] = Adaptor.fromDouble(overwrite.GenericOverwrites.XLMajor),
                ["XLMinor"] = Adaptor.fromDouble(overwrite.GenericOverwrites.XLMinor),
                ["XLLTB"]   = Adaptor.fromDouble(overwrite.GenericOverwrites.XLLTB),
                ["XKMajor"] = Adaptor.fromDouble(overwrite.GenericOverwrites.XKMajor),
                ["XKMinor"] = Adaptor.fromDouble(overwrite.GenericOverwrites.XKMinor),
                ["CmMajor"] = Adaptor.fromDouble(overwrite.GenericOverwrites.CmMajor),
                ["CmMinor"] = Adaptor.fromDouble(overwrite.GenericOverwrites.CmMinor),
                ["Cb"]      = Adaptor.fromDouble(overwrite.GenericOverwrites.Cb)
            };

            return(tableRow);
        }
        // //  Concrete
        // // ConcreteDesignSect="Program Determined"/FSEC1/...
        // // (Reduced Live Load Factor)RLLF=0/11
        // // (Unbraced length ratios) XLMajor=0/12   XLMinor=0/13
        // // (Effective length)XKMajor=0/15   XKMinor=0/16
        private static Dictionary <string, string> setOverwritesConcreteBasic(Frame frame)
        {
            FrameDesignOverwrites <ConcreteDesignOverwrite, ConcreteDesignOverwriteProperties> overwrite = frame.FrameDesignOverwrites.ConcreteDesignOverwrite;

            Dictionary <string, string> tableRow = new Dictionary <string, string>
            {
                ["Frame"]      = Adaptor.ToStringEntryLimited(frame.Name),
                ["DesignSect"] =
                    Adaptor.ToStringEntryLimited(getNullableFrameSection(overwrite.GenericOverwrites.DesignSection)),
                ["RLLF"]    = Adaptor.fromDouble(overwrite.GenericOverwrites.RLLF),
                ["XLMajor"] = Adaptor.fromDouble(overwrite.GenericOverwrites.XLMajor),
                ["XLMinor"] = Adaptor.fromDouble(overwrite.GenericOverwrites.XLMinor)
            };

            if (overwrite.GenericOverwrites.XKMajor.HasValue)
            {
                tableRow["XKMajor"] = Adaptor.fromDouble(overwrite.GenericOverwrites.XKMajor.Value);
            }
            if (overwrite.GenericOverwrites.XKMinor.HasValue)
            {
                tableRow["XKMinor"] = Adaptor.fromDouble(overwrite.GenericOverwrites.XKMinor.Value);
            }

            return(tableRow);
        }
        // TABLE:  "OVERWRITES - CONCRETE DESIGN - ITALIAN NTC 2008"
        // // FrameType="Program Determined"
        // // BetaMajor=0   BetaMinor=0
        // // TanTheta=0   Kr=0   KPhi=0
        private static void setOVERWRITES_CONCRETE_DESIGN_ITALIAN_NTC_2008(Model model, List <Dictionary <string, string> > table)
        {
            foreach (Frame frame in model.Structure.Frames)
            {
                NTC_2008_Overwrites overwrite =
                    frame.FrameDesignOverwrites.ConcreteDesignOverwrite.GetItem <NTC_2008_Overwrites>();

                Dictionary <string, string> tableRow = setOverwritesConcreteBasic(frame);
                tableRow["FrameType"] = getNullableEnum(overwrite.FrameType);

                tableRow.Remove("XKMajor");
                tableRow.Remove("XKMinor");
                FrameDesignOverwrites <ConcreteDesignOverwrite, ConcreteDesignOverwriteProperties> overwriteGeneric = frame.FrameDesignOverwrites.ConcreteDesignOverwrite;
                if (overwriteGeneric.GenericOverwrites.XKMajor.HasValue)
                {
                    tableRow["BetaMajor"] = Adaptor.fromDouble(overwriteGeneric.GenericOverwrites.XKMajor.Value);
                }
                if (overwriteGeneric.GenericOverwrites.XKMinor.HasValue)
                {
                    tableRow["BetaMinor"] = Adaptor.fromDouble(overwriteGeneric.GenericOverwrites.XKMinor.Value);
                }

                tableRow["TanTheta"] = Adaptor.fromDouble(overwrite.TangentTheta);
                tableRow["Kr"]       = Adaptor.fromDouble(overwrite.Kr);
                tableRow["KPhi"]     = Adaptor.fromDouble(overwrite.KPhi);

                table.Add(tableRow);
            }
        }
        // // Steel
        // // DesignSect="Program Determined"/FSEC1/...
        // // Fy=0/32
        // // (Reduced Live Load Factor)RLLF=0/11
        // // (Net Area to Total Area ratio)AreaRatio=0/10
        // // (Unbraced length ratios) XLMajor=0/12   XLMinor=0/13   XLLTB=0/14
        // // (Effective length)K1Major=0/15   K1Minor=0/16   K2Major=0/17         K2Minor=0/18      KLTB=0/41
        // // CheckDefl="Program Determined"/Yes/No
        // // DeflType="Program Determined"/Both/Ratio/Absolute
        // // (Ratio, L/)DLRat=0/1   SDLAndLLRat=0/2   LLRat=0/400   TotalRat=0/500   NetRat=0/3
        // // (Absolute) DLAbs=0/4   SDLAndLLAbs=0/5   LLAbs=0/6     TotalAbs=0/7     NetAbs=0/8
        // // (Specified Camber)SpecCamber=0/9
        // // DCLimit=0/40

        private static Dictionary <string, string> setOverwritesSteelBasic(Frame frame)
        {
            FrameDesignOverwrites <SteelDesignOverwrite, SteelDesignOverwriteProperties> overwrite = frame.FrameDesignOverwrites.SteelDesignOverwrite;

            Dictionary <string, string> tableRow = new Dictionary <string, string>
            {
                ["Frame"]      = Adaptor.ToStringEntryLimited(frame.Name),
                ["DesignSect"] =
                    Adaptor.ToStringEntryLimited(getNullableFrameSection(overwrite.GenericOverwrites.DesignSection)),
                ["Fy"]          = Adaptor.fromDouble(overwrite.GenericOverwrites.Fy),
                ["RLLF"]        = Adaptor.fromDouble(overwrite.GenericOverwrites.RLLF),
                ["AreaRatio"]   = Adaptor.fromDouble(overwrite.GenericOverwrites.AreaRatio),
                ["XLMajor"]     = Adaptor.fromDouble(overwrite.GenericOverwrites.XLMajor),
                ["XLMinor"]     = Adaptor.fromDouble(overwrite.GenericOverwrites.XLMinor),
                ["XLLTB"]       = Adaptor.fromDouble(overwrite.GenericOverwrites.XLLTB),
                ["KLTB"]        = Adaptor.fromDouble(overwrite.GenericOverwrites.KLTB),
                ["CheckDefl"]   = getNullableYesNo(overwrite.GenericOverwrites.IsDeflectionConsidered),
                ["DeflType"]    = getNullableEnum(overwrite.GenericOverwrites.DeflectionCheckType),
                ["DLRat"]       = Adaptor.fromDouble(overwrite.GenericOverwrites.RatioDL),
                ["SDLAndLLRat"] = Adaptor.fromDouble(overwrite.GenericOverwrites.RatioSDLAndLL),
                ["LLRat"]       = Adaptor.fromDouble(overwrite.GenericOverwrites.RatioLL),
                ["TotalRat"]    = Adaptor.fromDouble(overwrite.GenericOverwrites.RatioTotal),
                ["NetRat"]      = Adaptor.fromDouble(overwrite.GenericOverwrites.RatioNet),
                ["DLAbs"]       = Adaptor.fromDouble(overwrite.GenericOverwrites.AbsoluteDL),
                ["SDLAndLLAbs"] = Adaptor.fromDouble(overwrite.GenericOverwrites.AbsoluteSDLAndLL),
                ["LLAbs"]       = Adaptor.fromDouble(overwrite.GenericOverwrites.AbsoluteLL),
                ["TotalAbs"]    = Adaptor.fromDouble(overwrite.GenericOverwrites.AbsoluteTotal),
                ["NetAbs"]      = Adaptor.fromDouble(overwrite.GenericOverwrites.AbsoluteNet),
                ["SpecCamber"]  = Adaptor.fromDouble(overwrite.GenericOverwrites.SpecifiedCamber),
                ["DCLimit"]     = Adaptor.fromDouble(overwrite.GenericOverwrites.DemandCapacityRatioLimit)
            };

            if (overwrite.GenericOverwrites.K1Major.HasValue)
            {
                tableRow["K1Major"] = Adaptor.fromDouble(overwrite.GenericOverwrites.K1Major.Value);
            }
            if (overwrite.GenericOverwrites.K1Minor.HasValue)
            {
                tableRow["K1Minor"] = Adaptor.fromDouble(overwrite.GenericOverwrites.K1Minor.Value);
            }
            if (overwrite.GenericOverwrites.K2Major.HasValue)
            {
                tableRow["K2Major"] = Adaptor.fromDouble(overwrite.GenericOverwrites.K2Major.Value);
            }
            if (overwrite.GenericOverwrites.K2Minor.HasValue)
            {
                tableRow["K2Minor"] = Adaptor.fromDouble(overwrite.GenericOverwrites.K2Minor.Value);
            }

            return(tableRow);
        }