Пример #1
0
        private List <ILoad> ReadPointLoad(List <Loadcase> loadcases)
        {
            int          err      = 0;
            List <ILoad> bhLoads  = new List <ILoad>();
            List <Node>  allNodes = ReadNodes();

            foreach (Loadcase ldcs in loadcases)
            {
                foreach (Node node in allNodes)
                {
                    int      nodeId = GetAdapterId <int>(node);
                    double[] forces = new double[3];
                    err = St7.St7GetNodeForce3(1, nodeId, GetAdapterId <int>(ldcs), forces);
                    double[] moments = new double[3];
                    err = St7.St7GetNodeMoment3(1, nodeId, GetAdapterId <int>(ldcs), moments);
                    if (!IsZeroSqLength(forces) || !IsZeroSqLength(moments))
                    {
                        PointLoad bhLoad = new PointLoad()
                        {
                            Force = new Vector()
                            {
                                X = forces[0], Y = forces[1], Z = forces[2]
                            },
                            Moment = new Vector()
                            {
                                X = moments[0], Y = moments[1], Z = moments[2]
                            },
                            Loadcase = ldcs,
                            Objects  = new BHoMGroup <Node>()
                            {
                                Elements = { node }
                            }
                        };
                        bhLoads.Add(bhLoad);
                    }
                }
            }
            return(bhLoads);
        }