示例#1
0
        private void readStaticCase(XmlNode node)
        {
            AnalysisCase aCase = null;
            string name = readAttribute(node, "Case", "").Trim();
            name = (name.Length > 0) ? name : Culture.Get("Case");
            foreach (AbstractCase ac in model.AbstractCases)
                if (ac.Name.Equals(name))
                {
                    aCase = ac as AnalysisCase;
                    break;
                }
            AnalysisCaseProps props = aCase.Properties;
            if (props is StaticCaseProps)
            {
                StaticCaseProps scprops = (StaticCaseProps)props;

                string lType = readAttribute(node, "LoadType", "Load Case");
                string lName = readAttribute(node, "LoadName", "").Trim();
                lName = (lName.Length > 0) ? lName : Culture.Get("Case");
                string sFact = readAttribute(node, "LoadSF", "0");

                AnalysisCaseAppliedLoad appLoad = null;
                if ("Load case".Equals(lType))
                    appLoad = model.LoadCases[lName];
                else
                    appLoad = new AccelLoad((AccelLoad.AccelLoadValues)Enum.Parse(typeof(AccelLoad.AccelLoadValues), lName));
                if (appLoad != null)
                {
                    StaticCaseFactor factor = new StaticCaseFactor(appLoad, float.Parse(sFact));
                    List<StaticCaseFactor> list = scprops.Loads;
                    list.Add(factor);
                    scprops.Loads = list;
                }
            }
        }