Пример #1
0
        /// <summary>
        /// Returns auto seismic loading parameters for User-type seismic loading.
        /// </summary>
        /// <param name="name">The name of an existing Seismic-type load pattern that has a User-type auto seismic load assigned.</param>
        /// <param name="applicationPtType">The application point type for the user load.</param>
        /// <param name="eccentricity">Eccentricity ratio that applies to all diaphragms.
        /// This item is only applicable when <paramref name="applicationPtType" /> = <see cref="eApplicationPointType.CenterOfMassWithEccentricity" /></param>
        /// <param name="diaphragms">The names of the diaphragms that have user seismic loads.</param>
        /// <param name="Fx">The global X-direction force assigned to the specified diaphragm. [F].</param>
        /// <param name="Fy">The global Y-direction force assigned to the specified diaphragm. [F].</param>
        /// <param name="Mz">The global Z-axis moment assigned to the specified diaphragm. [F*L].</param>
        /// <param name="applicationCoordinate">The global X-/Y-coordinate of the point where the seismic force is applied to the diaphragm. [L].</param>
        /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
        public void GetLoad(string name,
                            ref eApplicationPointType applicationPtType,
                            ref double eccentricity,
                            ref string[] diaphragms,
                            ref double[] Fx,
                            ref double[] Fy,
                            ref double[] Mz,
                            ref Coordinate2DCartesian[] applicationCoordinate)
        {
            int csiApplicationPoint = 0;

            double[] csiX = new double[0];
            double[] csiY = new double[0];

            _callCode = _sapModel.LoadPatterns.AutoSeismic.GetUserLoad(name,
                                                                       ref csiApplicationPoint,
                                                                       ref eccentricity,
                                                                       ref _numberOfItems,
                                                                       ref diaphragms,
                                                                       ref Fx, ref Fy, ref Mz,
                                                                       ref csiX, ref csiY);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException(API_DEFAULT_ERROR_CODE);
            }

            applicationPtType = (eApplicationPointType)csiApplicationPoint;

            applicationCoordinate = new Coordinate2DCartesian[_numberOfItems];
            for (int i = 0; i < _numberOfItems; i++)
            {
                applicationCoordinate[i].X = csiX[i];
                applicationCoordinate[i].Y = csiY[i];
            }
        }
Пример #2
0
 public void GetLoad(string name,
                     ref eApplicationPointType applicationPtType,
                     ref double eccentricity,
                     ref string[] diaphragms,
                     ref double[] Fx,
                     ref double[] Fy,
                     ref double[] Mz,
                     ref Coordinate2DCartesian[] applicationCoordinate)
 {
 }
Пример #3
0
 /// <summary>
 /// Assigns auto seismic loading parameters for User-type seismic loading.
 /// </summary>
 /// <param name="name">The name of an existing Seismic-type load pattern that has a User-type auto seismic load assigned.</param>
 /// <param name="applicationPtType">The application point type for the user load.</param>
 /// <param name="eccentricity">Eccentricity ratio that applies to all diaphragms.
 /// This item is only applicable when <paramref name="applicationPtType" /> = <see cref="eApplicationPointType.CenterOfMassWithEccentricity" /></param>
 /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
 public void SetLoad(string name,
                     eApplicationPointType applicationPtType,
                     double eccentricity)
 {
     _callCode = _sapModel.LoadPatterns.AutoSeismic.SetUserLoad(name,
                                                                (int)applicationPtType,
                                                                eccentricity);
     if (throwCurrentApiException(_callCode))
     {
         throw new CSiException(API_DEFAULT_ERROR_CODE);
     }
 }
Пример #4
0
 public void SetLoad(string name,
                     eApplicationPointType applicationPtType,
                     double eccentricity)
 {
 }