示例#1
0
        private void ParseQuerschnitte(IReadOnlyList <string> lines)
        {
            for (var i = 0; i < lines.Count; i++)
            {
                if (lines[i] != "Querschnitt")
                {
                    continue;
                }
                FeParser.InputFound += "\nQuerschnitt";
                do
                {
                    substrings = lines[i + 1].Split(delimiters);
                    switch (substrings.Length)
                    {
                    case 2:
                    {
                        var querschnittId = substrings[0];
                        var flaeche       = double.Parse(substrings[1]);
                        var querschnitt   = new Querschnitt(flaeche)
                        {
                            QuerschnittId = querschnittId
                        };
                        modell.Querschnitt.Add(querschnittId, querschnitt);
                        i++;
                        break;
                    }

                    case 3:
                    {
                        var querschnittId = substrings[0];
                        var flaeche       = double.Parse(substrings[1]);
                        var ixx           = double.Parse(substrings[2]);
                        var querschnitt   = new Querschnitt(flaeche, ixx)
                        {
                            QuerschnittId = querschnittId
                        };
                        modell.Querschnitt.Add(querschnittId, querschnitt);
                        i++;
                        break;
                    }

                    default:
                        throw new ParseAusnahme((i + 2) + ": Querschnitt, falsche Anzahl Parameter");
                    }
                } while (lines[i + 1].Length != 0);
                break;
            }
        }
示例#2
0
 public void SetCrossSectionReferences(FEModell modell)
 {
     // Elementquerschnitt für 2D Elemente
     if (ElementCrossSectionId == null)
     {
         return;
     }
     if (modell.Querschnitt.TryGetValue(ElementCrossSectionId, out var crossSection))
     {
         ElementCrossSection = crossSection;
     }
     else
     {
         var querschnitt = MessageBox.Show("Querschnitt " + ElementCrossSectionId + " ist nicht im Modell enthalten.", "Abstract2D");
         _ = querschnitt;
     }
 }
示例#3
0
        private void ParseQuerschnitte(IReadOnlyList <string> lines)
        {
            var delimiters = new[] { '\t' };

            for (var i = 0; i < lines.Count; i++)
            {
                if (lines[i] != "Querschnitt")
                {
                    continue;
                }
                FeParser.InputFound += "\nQuerschnitt";
                do
                {
                    substrings = lines[i + 1].Split(delimiters);
                    var querschnittId = substrings[0];
                    var thickness     = double.Parse(substrings[1]);

                    var querschnitt = new Querschnitt(thickness);
                    modell.Querschnitt.Add(querschnittId, querschnitt);
                    i++;
                } while (lines[i + 1].Length != 0);
                break;
            }
        }