コード例 #1
0
        /// <summary>
        /// This function retrieves the load application control parameters for the specified load case.
        /// </summary>
        /// <param name="name">The name of an existing static nonlinear load case.</param>
        /// <param name="loadControl">The load application control method.</param>
        /// <param name="controlDisplacementType">Type of control displacement.</param>
        /// <param name="targetDisplacement">The structure is loaded to a monitored displacement of this magnitude.
        /// [L] when <paramref name="degreeOfFreedom" /> = <see cref="eDegreeOfFreedom.U1" />, <see cref="eDegreeOfFreedom.U2" /> or <see cref="eDegreeOfFreedom.U3" /> and [rad] when <paramref name="degreeOfFreedom" /> = <see cref="eDegreeOfFreedom.R1" />, <see cref="eDegreeOfFreedom.R2" /> or <see cref="eDegreeOfFreedom.R3" />.
        /// This item applies only when displacement control is used, that is, <paramref name="loadControl" /> = <see cref="eLoadControl.DisplacementControl" />.</param>
        /// <param name="monitoredDisplacementType">Type of monitored displacement.</param>
        /// <param name="degreeOfFreedom">The degree of freedom for which the displacement at a point object is monitored.
        /// This item applies only when <paramref name="monitoredDisplacementType" /> = <see cref="eMonitoredDisplacementType.AtSpecifiedPoint" /></param>
        /// <param name="namePoint">The name of the point object at which the displacement is monitored.
        /// This item applies only when <paramref name="monitoredDisplacementType" /> = <see cref="eMonitoredDisplacementType.AtSpecifiedPoint" />.</param>
        /// <param name="nameGeneralizedDisplacement">The name of the generalized displacement for which the displacement is monitored.
        /// This item applies only when <paramref name="monitoredDisplacementType" /> = <see cref="eMonitoredDisplacementType.GeneralizedDisplacement" /></param>
        /// <exception cref="CSiException"></exception>
        public void GetLoadApplication(string name,
                                       ref eLoadControl loadControl,
                                       ref eLoadControlDisplacement controlDisplacementType,
                                       ref double targetDisplacement,
                                       ref eMonitoredDisplacementType monitoredDisplacementType,
                                       ref eDegreeOfFreedom degreeOfFreedom,
                                       ref string namePoint,
                                       ref string nameGeneralizedDisplacement)
        {
            int csiLoadControl               = 0;
            int csiControlDisplacementType   = 0;
            int csiMonitoredDisplacementType = 0;
            int csiDegreeOfFreedom           = 0;

            _callCode = _sapModel.LoadCases.StaticNonlinear.GetLoadApplication(name,
                                                                               ref csiLoadControl, ref csiControlDisplacementType, ref targetDisplacement, ref csiMonitoredDisplacementType, ref csiDegreeOfFreedom, ref namePoint, ref nameGeneralizedDisplacement);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException();
            }

            loadControl               = (eLoadControl)csiLoadControl;
            controlDisplacementType   = (eLoadControlDisplacement)csiControlDisplacementType;
            monitoredDisplacementType = (eMonitoredDisplacementType)csiMonitoredDisplacementType;
            degreeOfFreedom           = (eDegreeOfFreedom)csiDegreeOfFreedom;
        }
コード例 #2
0
ファイル: LoadCaseTests.cs プロジェクト: VB6Hobbyst7/MPT.Net
 public void GetLoadApplication(string name,
                                ref eLoadControl loadControl,
                                ref eLoadControlDisplacement controlDisplacementType,
                                ref double targetDisplacement,
                                ref eMonitoredDisplacementType monitoredDisplacementType,
                                ref eDegreeOfFreedom degreeOfFreedom,
                                ref string namePoint,
                                ref string nameGeneralizedDisplacement)
 {
 }
コード例 #3
0
 /// <inheritdoc />
 /// <summary>
 /// Sets the load application control parameters for the specified load case.
 /// </summary>
 /// <param name="name">The name of an existing static nonlinear load case.</param>
 /// <param name="loadControl">The load application control method.</param>
 /// <param name="controlDisplacementType">Type of control displacement.</param>
 /// <param name="targetDisplacement">The structure is loaded to a monitored displacement of this magnitude.
 /// [L] when <paramref name="degreeOfFreedom" /> = <see cref="eDegreeOfFreedom.U1" />, <see cref="eDegreeOfFreedom.U2" /> or <see cref="eDegreeOfFreedom.U3" /> and [rad] when <paramref name="degreeOfFreedom" /> = <see cref="eDegreeOfFreedom.R1" />, <see cref="eDegreeOfFreedom.R2" /> or <see cref="eDegreeOfFreedom.R3" />.
 /// This item applies only when displacement control is used, that is, <paramref name="loadControl" /> = <see cref="eLoadControl.DisplacementControl" />.</param>
 /// <param name="monitoredDisplacementType">Type of monitored displacement.</param>
 /// <param name="degreeOfFreedom">The degree of freedom for which the displacement at a point object is monitored.
 /// This item applies only when <paramref name="monitoredDisplacementType" /> = <see cref="eMonitoredDisplacementType.AtSpecifiedPoint" /></param>
 /// <param name="namePoint">The name of the point object at which the displacement is monitored.
 /// This item applies only when <paramref name="monitoredDisplacementType" /> = <see cref="eMonitoredDisplacementType.AtSpecifiedPoint" />.</param>
 /// <param name="nameGeneralizedDisplacement">The name of the generalized displacement for which the displacement is monitored.
 /// This item applies only when <paramref name="monitoredDisplacementType" /> = <see cref="eMonitoredDisplacementType.GeneralizedDisplacement" /></param>
 /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
 public void SetLoadApplication(string name,
                                eLoadControl loadControl,
                                eLoadControlDisplacement controlDisplacementType,
                                double targetDisplacement,
                                eMonitoredDisplacementType monitoredDisplacementType,
                                eDegreeOfFreedom degreeOfFreedom,
                                string namePoint,
                                string nameGeneralizedDisplacement)
 {
     _callCode = _sapModel.LoadCases.StaticNonlinear.SetLoadApplication(name,
                                                                        (int)loadControl, (int)controlDisplacementType, targetDisplacement, (int)monitoredDisplacementType, (int)degreeOfFreedom, namePoint, nameGeneralizedDisplacement);
     if (throwCurrentApiException(_callCode))
     {
         throw new CSiException(API_DEFAULT_ERROR_CODE);
     }
 }
コード例 #4
0
        /// <inheritdoc />
        /// <summary>
        /// Returns the load application control parameters for the specified load case.
        /// </summary>
        /// <param name="name">The name of an existing static nonlinear load case.</param>
        /// <param name="loadControl">The load application control method.</param>
        /// <param name="controlDisplacementType">Type of control displacement.</param>
        /// <param name="targetDisplacement">The structure is loaded to a monitored displacement of this magnitude.
        /// [L] when <paramref name="degreeOfFreedom" /> = <see cref="eDegreeOfFreedom.U1" />, <see cref="eDegreeOfFreedom.U2" /> or <see cref="eDegreeOfFreedom.U3" /> and [rad] when <paramref name="degreeOfFreedom" /> = <see cref="eDegreeOfFreedom.R1" />, <see cref="eDegreeOfFreedom.R2" /> or <see cref="eDegreeOfFreedom.R3" />.
        /// This item applies only when displacement control is used, that is, <paramref name="loadControl" /> = <see cref="eLoadControl.DisplacementControl" />.</param>
        /// <param name="monitoredDisplacementType">Type of monitored displacement.</param>
        /// <param name="degreeOfFreedom">The degree of freedom for which the displacement at a point object is monitored.
        /// This item applies only when <paramref name="monitoredDisplacementType" /> = <see cref="eMonitoredDisplacementType.AtSpecifiedPoint" /></param>
        /// <param name="namePoint">The name of the point object at which the displacement is monitored.
        /// This item applies only when <paramref name="monitoredDisplacementType" /> = <see cref="eMonitoredDisplacementType.AtSpecifiedPoint" />.</param>
        /// <param name="nameGeneralizedDisplacement">The name of the generalized displacement for which the displacement is monitored.
        /// This item applies only when <paramref name="monitoredDisplacementType" /> = <see cref="eMonitoredDisplacementType.GeneralizedDisplacement" /></param>
        /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
        public void GetLoadApplication(string name,
                                       out eLoadControl loadControl,
                                       out eLoadControlDisplacement controlDisplacementType,
                                       out double targetDisplacement,
                                       out eMonitoredDisplacementType monitoredDisplacementType,
                                       out eDegreeOfFreedom degreeOfFreedom,
                                       out string namePoint,
                                       out string nameGeneralizedDisplacement)
        {
            targetDisplacement          = -1;
            namePoint                   = string.Empty;
            nameGeneralizedDisplacement = string.Empty;

            int csiLoadControl               = -1;
            int csiControlDisplacementType   = -1;
            int csiMonitoredDisplacementType = -1;
            int csiDegreeOfFreedom           = -1;

            _callCode = _sapModel.LoadCases.StaticNonlinear.GetLoadApplication(name,
                                                                               ref csiLoadControl,
                                                                               ref csiControlDisplacementType,
                                                                               ref targetDisplacement,
                                                                               ref csiMonitoredDisplacementType,
                                                                               ref csiDegreeOfFreedom,
                                                                               ref namePoint,
                                                                               ref nameGeneralizedDisplacement);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException(API_DEFAULT_ERROR_CODE);
            }

            loadControl               = (eLoadControl)csiLoadControl;
            controlDisplacementType   = (eLoadControlDisplacement)csiControlDisplacementType;
            monitoredDisplacementType = (eMonitoredDisplacementType)csiMonitoredDisplacementType;
            degreeOfFreedom           = (eDegreeOfFreedom)csiDegreeOfFreedom;
        }