예제 #1
0
 public void BaseReaction(ref string[] loadCases,
                          ref string[] stepTypes,
                          ref double[] stepNumbers,
                          ref Reactions[] reactions,
                          ref Coordinate3DCartesian baseReactionCoordinate)
 {
 }
예제 #2
0
        /// <summary>
        /// This function retrieves auto seastate loading parameters.
        /// </summary>
        /// <param name="name">The name of an existing seastate-type load pattern.</param>
        /// <param name="loadMethod">This is one of the following three options defining what parameters are being specified.</param>
        /// <param name="coordinateSystem">The coordinate system used as a reference for specifying the center of rotation location and the inertia load parameters.</param>
        /// <param name="adjustGravityLateral">This item only applies when using LoadMethod 1 or 2.
        /// It is True if generated lateral loads should include the effects of the rotated structure, otherwise it is False.</param>
        /// <param name="adjustGravityLateralFactor">This item only applies when using LoadMethod 1 or 2.
        /// This is a scale factor on the lateral effects generated as a result of the rotated structure.</param>
        /// <param name="adjustGravityVertical">This item only applies when using LoadMethod 1 or 2.
        /// It is True if generated vetical loads should include the effects of the rotated structure, otherwise it is False.</param>
        /// <param name="adjustGravityVerticalFactor">This item only applies when using LoadMethod 1 or 2.
        /// This is a scale factor on the vertical effects generated as a result of the rotated structure.</param>
        /// <param name="centerRotation">The coordinates of the center of rotation, with respect to the selected coordinate system.</param>
        /// <param name="parameters">This is an array of the inertia load parameters, based on the specified LoadMethod, as described below.
        /// For all cases, the array contains the amplitude, period, &amp; phase for each DOF:
        /// Load Method = 1: UZ, RX, RY, Load Method = 2: UX, UY, UZ, RX, RY, RZ, Load Method = 3: UX, UY, UZ, RX, RY, RZ</param>
        /// <param name="ignorePhase">This item only applies when using LoadMethod 1 or 2.
        /// It is True if the input phases should be ignored, otherwise it is False.</param>
        /// <exception cref="CSiException">API_DEFAULT_ERROR_CODE</exception>
        public void SetLoad(string name,
                            eLoadMethod loadMethod,
                            string coordinateSystem,
                            bool adjustGravityLateral,
                            double adjustGravityLateralFactor,
                            bool adjustGravityVertical,
                            double adjustGravityVerticalFactor,
                            Coordinate3DCartesian centerRotation,
                            double[] parameters,
                            bool ignorePhase)
        {
            double[] csiCenterRotation = new double[3];
            csiCenterRotation[0] = centerRotation.X;
            csiCenterRotation[1] = centerRotation.Y;
            csiCenterRotation[2] = centerRotation.Z;

            _callCode = _sapModel.LoadPatterns.AutoSeastate.SetAuto(name, (int)loadMethod, coordinateSystem,
                                                                    adjustGravityLateral, adjustGravityLateralFactor,
                                                                    adjustGravityVertical, adjustGravityVerticalFactor,
                                                                    csiCenterRotation,
                                                                    parameters,
                                                                    ignorePhase);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException(API_DEFAULT_ERROR_CODE);
            }
        }
예제 #3
0
 public void ExtrudePointToFrameLinear(string name,
                                       string sectionPropertyName,
                                       Coordinate3DCartesian offsets,
                                       int numberOfFrames,
                                       ref string[] frameNames)
 {
 }
예제 #4
0
        /// <summary>
        /// This function retrieves auto seastate loading parameters.
        /// </summary>
        /// <param name="name">The name of an existing seastate-type load pattern.</param>
        /// <param name="loadMethod">This is one of the following three options defining what parameters are being specified.</param>
        /// <param name="coordinateSystem">The coordinate system used as a reference for specifying the center of rotation location and the inertia load parameters.</param>
        /// <param name="adjustGravityLateral">This item only applies when using LoadMethod 1 or 2.
        /// It is True if generated lateral loads should include the effects of the rotated structure, otherwise it is False.</param>
        /// <param name="adjustGravityLateralFactor">This item only applies when using LoadMethod 1 or 2.
        /// This is a scale factor on the lateral effects generated as a result of the rotated structure.</param>
        /// <param name="adjustGravityVertical">This item only applies when using LoadMethod 1 or 2.
        /// It is True if generated vetical loads should include the effects of the rotated structure, otherwise it is False.</param>
        /// <param name="adjustGravityVerticalFactor">This item only applies when using LoadMethod 1 or 2.
        /// This is a scale factor on the vertical effects generated as a result of the rotated structure.</param>
        /// <param name="centerRotation">The coordinates of the center of rotation, with respect to the selected coordinate system.</param>
        /// <param name="parameters">This is an array of the inertia load parameters, based on the specified LoadMethod, as described below. For all cases, the array contains the amplitude, period, &amp; phase for each DOF:
        /// Load Method = 1: UZ, RX, RY, Load Method = 2: UX, UY, UZ, RX, RY, RZ, Load Method = 3: UX, UY, UZ, RX, RY, RZ</param>
        /// <param name="ignorePhase">This item only applies when using LoadMethod 1 or 2.
        /// It is True if the input phases should be ignored, otherwise it is False.</param>
        /// <exception cref="CSiException">API_DEFAULT_ERROR_CODE</exception>
        public void GetLoad(string name,
                            ref eLoadMethod loadMethod,
                            ref string coordinateSystem,
                            ref bool adjustGravityLateral,
                            ref double adjustGravityLateralFactor,
                            ref bool adjustGravityVertical,
                            ref double adjustGravityVerticalFactor,
                            ref Coordinate3DCartesian centerRotation,
                            ref double[] parameters,
                            ref bool ignorePhase)
        {
            double[] csiCenterRotation = new double[3];
            int      csiLoadMethod     = 0;

            _callCode = _sapModel.LoadPatterns.AutoSeastate.GetAuto(name, ref csiLoadMethod, ref coordinateSystem,
                                                                    ref adjustGravityLateral, ref adjustGravityLateralFactor,
                                                                    ref adjustGravityVertical, ref adjustGravityVerticalFactor,
                                                                    ref csiCenterRotation,
                                                                    ref parameters,
                                                                    ref ignorePhase);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException(API_DEFAULT_ERROR_CODE);
            }

            centerRotation.X = csiCenterRotation[0];
            centerRotation.Y = csiCenterRotation[1];
            centerRotation.Z = csiCenterRotation[2];

            loadMethod = (eLoadMethod)csiLoadMethod;
        }
        /// <summary>
        /// Sets the section cuts 3 quadrilateral definitions.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <param name="table">The table.</param>
        private static void setSECTION_CUTS_3_QUADRILATERAL_DEFINITIONS(Model model, List <Dictionary <string, string> > table)
        {
            foreach (Dictionary <string, string> tableRow in table)
            {
                SectionCut            sectionCut    = model.Analysis.SectionCuts[tableRow["SectionCut"]];
                Quadrilateral         quadrilateral = new Quadrilateral();
                Coordinate3DCartesian point         = new Coordinate3DCartesian
                {
                    X = Adaptor.toDouble(tableRow["X"]),
                    Y = Adaptor.toDouble(tableRow["Y"]),
                    Z = Adaptor.toDouble(tableRow["Z"])
                };
                int quadrilateralNumber = Adaptor.toInteger(tableRow["QuadNum"]);

                switch (tableRow["PointNum"])
                {
                case "1":
                    quadrilateral.Point1 = point;
                    sectionCut.Quadrilaterals.Add(quadrilateral);
                    break;

                case "2":
                    sectionCut.Quadrilaterals[quadrilateralNumber - 1].Point2 = point;
                    break;

                case "3":
                    sectionCut.Quadrilaterals[quadrilateralNumber - 1].Point3 = point;
                    break;

                case "4":
                    sectionCut.Quadrilaterals[quadrilateralNumber - 1].Point4 = point;
                    break;
                }
            }
        }
예제 #6
0
 public void AddByCoordinate(Coordinate3DCartesian coordinate,
                             ref string name,
                             string userName         = "",
                             string coordinateSystem = CoordinateSystems.Global,
                             bool mergeOff           = false,
                             int mergeNumber         = 0)
 {
 }
예제 #7
0
 /// <summary>
 /// This function moves selected point, frame, cable, tendon, area, solid and link objects.
 /// </summary>
 /// <param name="offsets">The offsets used in the present coordinate system for moving the selected objects. [L]</param>
 /// <exception cref="MPT.CSI.API.Core.Support.CSiException"></exception>
 /// <exception cref="CSiException"></exception>
 public void Move(Coordinate3DCartesian offsets)
 {
     _callCode = _sapModel.EditGeneral.Move(offsets.X, offsets.Y, offsets.Z);
     if (throwCurrentApiException(_callCode))
     {
         throw new CSiException();
     }
 }
예제 #8
0
 public void ReplicateLinear(Coordinate3DCartesian offsets,
                             int numberReplication,
                             ref int numberOfObjects,
                             ref string[] objectNames,
                             ref eObjectType[] objectTypes,
                             bool remove = false)
 {
 }
예제 #9
0
 /// <summary>
 /// This function sets the global coordinates of the location at which the base reactions are reported.
 /// </summary>
 /// <param name="coordinates">The global coordinates of the location at which the base reactions are reported.</param>
 /// <exception cref="CSiException"></exception>
 /// <exception cref="MPT.CSI.API.Core.Support.CSiException"></exception>
 public void SetOptionBaseReactLocation(Coordinate3DCartesian coordinates)
 {
     _callCode = _sapModel.Results.Setup.SetOptionBaseReactLoc(coordinates.X, coordinates.Y, coordinates.Z);
     if (throwCurrentApiException(_callCode))
     {
         throw new CSiException();
     }
 }
예제 #10
0
 public void ExtrudeFrameToAreaLinear(string name,
                                      string sectionPropertyName,
                                      Coordinate3DCartesian offsets,
                                      int numberOfAreas,
                                      ref string[] areaNames,
                                      bool remove = true)
 {
 }
예제 #11
0
        /// <summary>
        /// Adds a point object to the model.
        /// The added point object will be tagged as a Special Point except if it was merged with another point object.
        /// Special points are allowed to exist in the model with no objects connected to them.
        /// Returns the name that the program ultimately assigns for the object.
        /// If no <paramref name="uniqueName" /> is specified, the program assigns a default name to the object.
        /// If a <paramref name="uniqueName" /> is specified and that name is not used for another object, the <paramref name="uniqueName" /> is assigned to the object; otherwise a default name is assigned to the object.
        /// If a point is merged with another point, this will be the name of the point object with which it was merged.
        /// </summary>
        /// <param name="coordinate">The coordinate.</param>
        /// <param name="uniqueName">Unique name of the point.
        /// If not supplied, the program will generate one automatically.</param>
        /// <returns>Point.</returns>
        internal static Point AddByCoordinate(
            Coordinate3DCartesian coordinate,
            string uniqueName = "")
        {
            Point item = Factory(uniqueName);

            item._coordinates = coordinate;
            return(item);
        }
예제 #12
0
 public void ExtrudeAreaToSolidLinearUser(string name,
                                          string sectionPropertyName,
                                          Coordinate3DCartesian offsets,
                                          int numberOfIncrements,
                                          int numberOfSolids,
                                          ref string[] solidNames,
                                          bool remove = true)
 {
 }
예제 #13
0
 public void ExtrudePointToFrameRadial(string name,
                                       string sectionPropertyName,
                                       eAxisExtrusion rotateAxis,
                                       Coordinate3DCartesian radialExtrusionCenter,
                                       double incrementAngle,
                                       double totalRise,
                                       int numberOfFrames,
                                       ref string[] frameNames)
 {
 }
예제 #14
0
 public void ReplicateMirror(eAxisOrientation planeAxis,
                             Coordinate3DCartesian planeAxisCoordinate1,
                             Coordinate3DCartesian planeAxisCoordinate2,
                             Coordinate3DCartesian planeCoordinate,
                             ref int numberOfObjects,
                             ref string[] objectNames,
                             ref eObjectType[] objectTypes,
                             bool remove = false)
 {
 }
예제 #15
0
 public void BaseReactionWithCentroid(ref string[] loadCases,
                                      ref string[] stepTypes,
                                      ref double[] stepNumbers,
                                      ref Reactions[] reactions,
                                      ref Coordinate3DCartesian baseReactionCoordinate,
                                      ref Coordinate3DCartesian[] centroidFxCoordinates,
                                      ref Coordinate3DCartesian[] centroidFyCoordinates,
                                      ref Coordinate3DCartesian[] centroidFzCoordinates)
 {
 }
예제 #16
0
 /// <summary>
 /// This function changes the coordinates of a specified point object.
 /// </summary>
 /// <param name="name">The name of an existing point object.</param>
 /// <param name="coordinate">Coordinate for the new point location.</param>
 /// <param name="noWindoRefresh">True: The model display window is not refreshed after the point object is moved.</param>
 /// <exception cref="MPT.CSI.API.Core.Support.CSiException"></exception>
 public void Move(string name,
                  Coordinate3DCartesian coordinate,
                  bool noWindoRefresh = false)
 {
     _callCode = _sapModel.EditPoint.ChangeCoordinates_1(name, coordinate.X, coordinate.Y, coordinate.Z, noWindoRefresh);
     if (throwCurrentApiException(_callCode))
     {
         throw new CSiException(API_DEFAULT_ERROR_CODE);
     }
 }
예제 #17
0
 /// <summary>
 /// Adds a point object to the model.
 /// The added point object will be tagged as a Special Point except if it was merged with another point object.
 /// Special points are allowed to exist in the model with no objects connected to them.
 /// Returns the name that the program ultimately assigns for the object.
 /// If no <paramref name="uniqueName" /> is specified, the program assigns a default name to the object.
 /// If a <paramref name="uniqueName" /> is specified and that name is not used for another object, the <paramref name="uniqueName" /> is assigned to the object; otherwise a default name is assigned to the object.
 /// If a point is merged with another point, this will be the name of the point object with which it was merged.
 /// </summary>
 /// <param name="coordinate">The coordinate.</param>
 /// <param name="uniqueName">Unique name of the point.
 /// If not supplied, the program will generate one automatically.</param>
 /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
 public bool Add(
     Coordinate3DCartesian coordinate,
     string uniqueName = "")
 {
     if (Contains(uniqueName))
     {
         return(false);
     }
     _items.Add(Point.AddByCoordinate(coordinate, uniqueName));
     return(true);
 }
예제 #18
0
 /// <summary>
 /// Adds a new section cut defined by a quadrilateral to the model or reinitializes an existing section cut to be defined by a quadrilateral.
 /// </summary>
 /// <param name="uniqueName">Name of the unique section cut.</param>
 /// <param name="group">The group associated with the section cut.</param>
 /// <param name="sectionCutType">The result type of the section cut.</param>
 /// <param name="coordinate1">This is one of four coordinates, one for each of the four points defining the quadrilateral.</param>
 /// <param name="coordinate2">This is one of four coordinates, one for each of the four points defining the quadrilateral.</param>
 /// <param name="coordinate3">This is one of four coordinates, one for each of the four points defining the quadrilateral.</param>
 /// <param name="coordinate4">This is one of four coordinates, one for each of the four points defining the quadrilateral.</param>
 /// <returns>SectionCut.</returns>
 /// <exception cref="NotImplementedException"></exception>
 public static SectionCut AddByQuadrilateral(
     string uniqueName,
     Group group,
     eSectionResultType sectionCutType,
     Coordinate3DCartesian coordinate1,
     Coordinate3DCartesian coordinate2,
     Coordinate3DCartesian coordinate3,
     Coordinate3DCartesian coordinate4)
 {
     throw new NotImplementedException();
 }
예제 #19
0
 public void ReplicateRadial(eAxisOrientation rotationAxis,
                             Coordinate3DCartesian axisCoordinate,
                             Coordinate3DCartesian axis3DCoordinate,
                             int numberReplication,
                             double incrementAngle,
                             ref int numberOfObjects,
                             ref string[] objectNames,
                             ref eObjectType[] objectTypes,
                             bool remove = false)
 {
 }
예제 #20
0
 public void ExtrudeFrameToAreaRadial(string name,
                                      string sectionPropertyName,
                                      eAxisExtrusion rotateAxis,
                                      Coordinate3DCartesian radialExtrusionCenter,
                                      double incrementAngle,
                                      double totalRise,
                                      int numberOfAreas,
                                      ref string[] areaNames,
                                      bool remove = true)
 {
 }
예제 #21
0
 public void ExtrudeAreaToSolidRadial(string name,
                                      string sectionPropertyName,
                                      eAxisExtrusion rotateAxis,
                                      Coordinate3DCartesian radialExtrusionCenter,
                                      double incrementAngle,
                                      double totalRise,
                                      int numberOfAngleIncrements,
                                      ref int numberOfSolids,
                                      ref string[] solidNames,
                                      bool remove = true)
 {
 }
예제 #22
0
 public void SetLoad(string name,
                     eLoadMethod loadMethod,
                     string coordinateSystem,
                     bool adjustGravityLateral,
                     double adjustGravityLateralFactor,
                     bool adjustGravityVertical,
                     double adjustGravityVerticalFactor,
                     Coordinate3DCartesian centerRotation,
                     double[] parameters,
                     bool ignorePhase)
 {
 }
예제 #23
0
 public void GetLoad(string name,
                     ref eLoadMethod loadMethod,
                     ref string coordinateSystem,
                     ref bool adjustGravityLateral,
                     ref double adjustGravityLateralFactor,
                     ref bool adjustGravityVertical,
                     ref double adjustGravityVerticalFactor,
                     ref Coordinate3DCartesian centerRotation,
                     ref double[] parameters,
                     ref bool ignorePhase)
 {
 }
예제 #24
0
 /// <summary>
 /// Adds a point object to the model.
 /// The added point object will be tagged as a Special Point except if it was merged with another point object.
 /// Special points are allowed to exist in the model with no objects connected to them.
 /// Returns the name that the program ultimately assigns for the object.
 /// If no <paramref name="uniqueName" /> is specified, the program assigns a default name to the object.
 /// If a <paramref name="uniqueName" /> is specified and that name is not used for another object, the <paramref name="uniqueName" /> is assigned to the object; otherwise a default name is assigned to the object.
 /// If a point is merged with another point, this will be the name of the point object with which it was merged.
 /// </summary>
 /// <param name="coordinate">The coordinate.</param>
 /// <param name="uniqueName">Unique name of the point.
 /// If not supplied, the program will generate one automatically.</param>
 /// <param name="mergeOff">False: A new point object that is added at the same location as an existing point object will be merged with the existing point object (assuming the two point objects have the same MergeNumber) and thus only one point object will exist at the location.
 /// True: Points will not merge and two point objects will exist at the same location.</param>
 /// <param name="mergeNumber">Two points objects in the same location will merge only if their merge number assignments are the same.
 /// By default all point objects have a merge number of zero.</param>
 /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
 public bool Add(
     Coordinate3DCartesian coordinate,
     string uniqueName = "",
     bool mergeOff     = false,
     int mergeNumber   = 0)
 {
     if (Contains(uniqueName))
     {
         return(false);
     }
     _items.Add(Point.AddByCoordinate(_apiApp, coordinate, uniqueName, mergeOff, mergeNumber));
     return(true);
 }
예제 #25
0
        /// <summary>
        /// Sets the joint coordinates.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <param name="table">The table.</param>
        private static void setJOINT_COORDINATES(Model model, List <Dictionary <string, string> > table)
        {
            foreach (Dictionary <string, string> tableRow in table)
            {
                eCoordinateType coordinateType = Enums.EnumLibrary.ConvertStringToEnumByDescription <eCoordinateType>(tableRow["CoordType"]);
                string          jointName      = tableRow["Joint"];

                switch (coordinateType)
                {
                case eCoordinateType.Cartesian:
                    Coordinate3DCartesian coordinateCartesian = new Coordinate3DCartesian
                    {
                        X = Adaptor.toDouble(tableRow["XorR"]),
                        Y = Adaptor.toDouble(tableRow["Y"]),
                        Z = Adaptor.toDouble(tableRow["Z"])
                    };
                    model.Structure.Points.Add(coordinateCartesian, jointName);
                    break;

                case eCoordinateType.Cylindrical:
                    // TODO: COnfirm output for cylindrical coord systems
                    Coordinate3DCylindrical coordinateCylindrical = new Coordinate3DCylindrical
                    {
                        Radius = Adaptor.toDouble(tableRow["XorR"]),
                        Theta  = Adaptor.toDouble(tableRow["Y"]),
                        Z      = Adaptor.toDouble(tableRow["Z"])
                    };
                    //model.Structure.Points.Add(coordinateCylindrical, jointName);
                    break;

                case eCoordinateType.Spherical:
                    // TODO: COnfirm output for spherical coord systems
                    Coordinate3DSpherical coordinateSpherical = new Coordinate3DSpherical
                    {
                        Radius = Adaptor.toDouble(tableRow["XorR"]),
                        Theta  = Adaptor.toDouble(tableRow["Y"]),
                        Phi    = Adaptor.toDouble(tableRow["Z"])
                    };
                    //model.Structure.Points.Add(coordinateSpherical, jointName);
                    break;

                default:
                    break;
                }

                Point point = model.Structure.Points[jointName];
                point.IsSpecialPoint   = Adaptor.fromYesNo(tableRow["SpecialJt"]);
                point.CoordinateSystem = tableRow["CoordSys"];
                point.CoordinateType   = coordinateType;
            }
        }
예제 #26
0
 /// <summary>
 /// This function creates new frame objects by linearly extruding a specified point object into frame objects.
 /// </summary>
 /// <param name="name">The name of an existing point object to be extruded.</param>
 /// <param name="sectionPropertyName">This is Default, None or the name of a defined frame section property to be used for the new extruded frame objects.</param>
 /// <param name="offsets">The offsets used, in the present coordinate system, to create each new frame object.</param>
 /// <param name="numberOfFrames">The number of frame objects created when the specified point object is extruded.</param>
 /// <param name="frameNames">The name of each frame object created when the specified point object is extruded.</param>
 /// <exception cref="MPT.CSI.API.Core.Support.CSiException"></exception>
 /// <exception cref="CSiException"></exception>
 public void ExtrudePointToFrameLinear(string name,
                                       string sectionPropertyName,
                                       Coordinate3DCartesian offsets,
                                       int numberOfFrames,
                                       ref string[] frameNames)
 {
     _callCode = _sapModel.EditGeneral.ExtrudePointToFrameLinear(name, sectionPropertyName,
                                                                 offsets.X, offsets.Y, offsets.Z,
                                                                 numberOfFrames, ref frameNames);
     if (throwCurrentApiException(_callCode))
     {
         throw new CSiException();
     }
 }
예제 #27
0
 /// <summary>
 /// This function creates new area objects by linearly extruding a specified straight frame object into area objects.
 /// </summary>
 /// <param name="name">The name of an existing frame object to be extruded.</param>
 /// <param name="sectionPropertyName">This is Default, None or the name of a defined area section property to be used for the new extruded area objects.</param>
 /// <param name="offsets">The offsets used, in the present coordinate system, to create each new area object.</param>
 /// <param name="numberOfAreas">The number of area objects created when the specified point object is extruded.</param>
 /// <param name="areaNames">The name of each area object created when the specified point object is extruded.</param>
 /// <param name="remove">True: The area object indicated by the <paramref name="name" /> item is deleted after the extrusion is complete.</param>
 /// <exception cref="MPT.CSI.API.Core.Support.CSiException"></exception>
 /// <exception cref="CSiException"></exception>
 public void ExtrudeFrameToAreaLinear(string name,
                                      string sectionPropertyName,
                                      Coordinate3DCartesian offsets,
                                      int numberOfAreas,
                                      ref string[] areaNames,
                                      bool remove = true)
 {
     _callCode = _sapModel.EditGeneral.ExtrudeFrameToAreaLinear(name, sectionPropertyName,
                                                                offsets.X, offsets.Y, offsets.Z,
                                                                numberOfAreas, ref areaNames, remove);
     if (throwCurrentApiException(_callCode))
     {
         throw new CSiException();
     }
 }
예제 #28
0
        /// <summary>
        /// This function retrieves the global coordinates of the location at which the base reactions are reported.
        /// </summary>
        /// <param name="coordinates">The global coordinates of the location at which the base reactions are reported.</param>
        /// <exception cref="CSiException"></exception>
        /// <exception cref="MPT.CSI.API.Core.Support.CSiException"></exception>
        public void GetOptionBaseReactLocation(ref Coordinate3DCartesian coordinates)
        {
            double gx = 0;
            double gy = 0;
            double gz = 0;

            _callCode = _sapModel.Results.Setup.GetOptionBaseReactLoc(ref gx, ref gy, ref gz);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException();
            }

            coordinates.X = gx;
            coordinates.Y = gy;
            coordinates.Z = gz;
        }
예제 #29
0
        /// <summary>
        /// Sets the tendon layout data 02 segments.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <param name="table">The table.</param>
        private static void setTENDON_LAYOUT_DATA_02_SEGMENTS(Model model, List <Dictionary <string, string> > table)
        {
            foreach (Dictionary <string, string> tableRow in table)
            {
                Tendon tendon = model.Structure.Tendons[tableRow["Tendon"]];

                eTendonGeometryDefinition segmentType = Enums.EnumLibrary.ConvertStringToEnumByDescription <eTendonGeometryDefinition>(tableRow["SegType"]);
                Coordinate3DCartesian     coordinate  = new Coordinate3DCartesian
                {
                    X = Adaptor.toDouble(tableRow["XGlobal"]),
                    Y = Adaptor.toDouble(tableRow["YGlobal"]),
                    Z = Adaptor.toDouble(tableRow["ZGlobal"])
                };
                tendon.Segments.Add(new Tuple <eTendonGeometryDefinition, Coordinate3DCartesian>(segmentType, coordinate));
            }
        }
예제 #30
0
 public void SetSpring(string name,
                       eSpringType springType,
                       double stiffness,
                       eSpringSimpleType springSimpleType,
                       string linkProperty,
                       eFace face,
                       eSpringLocalOneType springLocalOneType,
                       int direction,
                       bool isOutward,
                       Coordinate3DCartesian vector,
                       double angleOffset,
                       bool replace,
                       string coordinateSystem = CoordinateSystems.Local,
                       eItemType itemType      = eItemType.Object)
 {
 }