public static BeamResults St7GetBeamResultsEnds(List <int> caseIds, List <int> beamIDs, List <int> beamEnd, St7ResultForceComponent component, St7BeamResultsTypes resultType = St7BeamResultsTypes.BeamForce, St7BeamResultAxis resultAxis = St7BeamResultAxis.Principal, bool active = false) { if (!active) { return(null); } int err; int uID = 1; List <List <double> > valuesResults = new List <List <double> >(); List <List <int> > resultsPerStation = new List <List <int> >(); // output from strand 7 double[] beamResult = new double[St7.kMaxBeamResult]; int numColumns = 0; for (int i = 0; i < beamIDs.Count; i++) { int beamId = beamIDs[i]; List <double> interValues = new List <double>(); List <int> interResPerStation = new List <int>(); foreach (int loadcaseId in caseIds) { err = St7.St7GetBeamResultEndPos(uID, (int)resultType, (int)resultAxis, beamId, loadcaseId, ref numColumns, beamResult); if (component == St7ResultForceComponent.All) { interResPerStation.Add(numColumns); } else { interResPerStation.Add(1); } if (beamEnd[i] == 1) { interValues.AddRange(beamResult.Take(numColumns)); } else { interValues.AddRange(beamResult.Skip(numColumns).Take(numColumns)); } } valuesResults.Add(interValues); resultsPerStation.Add(interResPerStation); } return(new BeamResults(true, new List <List <double> >(), valuesResults, new List <List <int> >(), resultsPerStation)); }