Пример #1
0
        private double _windz = 0.0;    //the wind vector

        /// <summary>
        /// Create the Robot model from scratch.
        /// </summary>
        /// <param name="_nodeInfo">A List of node objects.</param>
        /// <param name="_barInfo">A List of bar objects.</param>
        public RobotModel(IRobotApplication robot, IEnumerable <AnalyticalNode> nodeInfo, IEnumerable <AnalyticalBar> barInfo, IEnumerable <AnalyticalPlate> plateInfo)
        {
            robot.Project.New(RobotOM.IRobotProjectType.I_PT_SHELL);
            _project = robot.Project;

            if (_project == null)
            {
                throw new Exception("The robot project could not be initialized.");
            }

            //create the structure and the node and bar servers
            _structure = _project.Structure;
            _nodes     = _structure.Nodes;
            _bars      = _structure.Bars;
            _objects   = _structure.Objects;

            List <int> forWindLoads      = new List <int>();
            List <int> forLiveLoads      = new List <int>();
            List <int> forBuildingLoads  = new List <int>();
            List <int> forDeadLoadsBars  = new List <int>();
            List <int> forDeadLoadsSlabs = new List <int>();

            double windLoad     = 0.0;
            double liveLoad     = 0.0;
            double buildingLoad = 0.0;
            double fatManLoad   = 300 * 4.45;           //300lbs. -> Newton

            IRobotSimpleCase ll;
            IRobotSimpleCase dl;
            IRobotSimpleCase bl;
            IRobotSimpleCase wl;

            CreateLoadCases(out ll, out dl, out wl, out bl);

            CreateLoads(ll, dl, wl, bl);

            CreateBarEndRelease(_barInfo);

            CreateNodes();

            CreateBars(forDeadLoadsBars);

            #region plates

            CreatePlates(liveLoad, forLiveLoads, windLoad, forWindLoads, buildingLoad, forBuildingLoads, forDeadLoadsSlabs, ll, wl, bl, fatManLoad, dl, forDeadLoadsBars);

            #endregion
        }
Пример #2
0
        private double _windz = 0.0; //the wind vector

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Create the Robot model from scratch.
        /// </summary>
        /// <param name="_nodeInfo">A List of node objects.</param>
        /// <param name="_barInfo">A List of bar objects.</param>
        public RobotModel(IRobotApplication robot, IEnumerable<AnalyticalNode> nodeInfo, IEnumerable<AnalyticalBar> barInfo, IEnumerable<AnalyticalPlate> plateInfo)
        {
            robot.Project.New(RobotOM.IRobotProjectType.I_PT_SHELL);
            _project = robot.Project;

            if (_project == null)
                throw new Exception("The robot project could not be initialized.");

            //create the structure and the node and bar servers
            _structure = _project.Structure;
            _nodes = _structure.Nodes;
            _bars = _structure.Bars;
            _objects = _structure.Objects;

            List<int> forWindLoads = new List<int>();
            List<int> forLiveLoads = new List<int>();
            List<int> forBuildingLoads = new List<int>();
            List<int> forDeadLoadsBars = new List<int>();
            List<int> forDeadLoadsSlabs = new List<int>();

            double windLoad	= 0.0;
            double liveLoad = 0.0;
            double buildingLoad = 0.0;
            double fatManLoad = 300 * 4.45;	//300lbs. -> Newton

            IRobotSimpleCase ll;
            IRobotSimpleCase dl;
            IRobotSimpleCase bl;
            IRobotSimpleCase wl;
            CreateLoadCases(out ll, out dl, out wl, out bl);

            CreateLoads(ll,dl, wl, bl);

            CreateBarEndRelease(_barInfo);

            CreateNodes();

            CreateBars(forDeadLoadsBars);

            #region plates

            CreatePlates(liveLoad, forLiveLoads, windLoad, forWindLoads, buildingLoad, forBuildingLoads, forDeadLoadsSlabs, ll, wl, bl, fatManLoad, dl, forDeadLoadsBars);

            #endregion
        }