Exemple #1
0
 public void SetLoadDeformation(string name,
                                string loadPattern,
                                DegreesOfFreedomLocal degreesOfFreedom,
                                Deformations deformations,
                                eItemType itemType = eItemType.Object)
 {
 }
Exemple #2
0
        // === Get/Set

        /// <summary>
        /// This function retrieves the release assignments for a frame end release.
        /// </summary>
        /// <param name="name">The name of an existing frame end release.</param>
        /// <param name="iEndRelease">Booleans indicating the I-End releases.</param>
        /// <param name="jEndRelease">Booleans indicating the J-End releases.</param>
        /// <param name="iEndFixity">Values indicating the I-End partial fixity springs.</param>
        /// <param name="jEndFixity">Values indicating the J-End partial fixity springs.</param>
        /// <exception cref="CSiException">API_DEFAULT_ERROR_CODE</exception>
        public void GetReleases(string name,
                                out DegreesOfFreedomLocal iEndRelease,
                                out DegreesOfFreedomLocal jEndRelease,
                                out Fixity iEndFixity,
                                out Fixity jEndFixity)
        {
            bool[]   csiiEndRelease = new bool[0];
            bool[]   csijEndRelease = new bool[0];
            double[] csiiEndFixity  = new double[0];
            double[] csijEndFixity  = new double[0];

            _callCode = _sapModel.NamedAssign.ReleaseFrame.GetReleases(name, ref csiiEndRelease, ref csijEndRelease, ref csiiEndFixity, ref csijEndFixity);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException(API_DEFAULT_ERROR_CODE);
            }

            iEndRelease = new DegreesOfFreedomLocal();
            iEndRelease.FromArray(csiiEndRelease);

            jEndRelease = new DegreesOfFreedomLocal();
            jEndRelease.FromArray(csijEndRelease);

            iEndFixity = new Fixity();
            iEndFixity.FromArray(csiiEndFixity);

            jEndFixity = new Fixity();
            jEndFixity.FromArray(csijEndFixity);
        }
Exemple #3
0
 public void SetReleases(string name,
                         DegreesOfFreedomLocal iEndRelease,
                         DegreesOfFreedomLocal jEndRelease,
                         Fixity iEndFixity,
                         Fixity jEndFixity)
 {
 }
Exemple #4
0
        /// <summary>
        /// This function returns a list of constraint assignments made to one or more specified point elements.
        /// </summary>
        /// <param name="name">The name of an existing point element.</param>
        /// <param name="degreesOfFreedom">These are the restraint assignments for each local degree of freedom (DOF), where 'True' means the DOF is fixed.</param>
        /// <exception cref="CSiException"></exception>
        public void GetRestraint(string name,
                                 ref DegreesOfFreedomLocal degreesOfFreedom)
        {
            bool[] values = new bool[0];

            _callCode = _sapModel.PointElm.GetRestraint(name, ref values);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException();
            }

            degreesOfFreedom.FromArray(values);
        }
Exemple #5
0
        /// <summary>
        /// This function retrieves the deformation load assignments to elements.
        /// </summary>
        /// <param name="name">The name of an existing object, element or group of objects, depending on the value of <paramref name="itemType" />.</param>
        /// <param name="numberItems">The total number of deformation loads retrieved for the specified elements.</param>
        /// <param name="names">The name of the element associated with each deformation load.</param>
        /// <param name="loadPatterns">The name of the load pattern associated with each deformation load.</param>
        /// <param name="degreesOfFreedom">Indicates if the considered degree of freedom has a deformation load for each load pattern.</param>
        /// <param name="deformations">Deformation load values for each load pattern.
        /// The deformations specified for a given degree of freedom are applicable only if the corresponding DOF item for that degree of freedom is True.</param>
        /// <param name="itemType">If this item is <see cref="eItemTypeElement.ObjectElement" />, the load assignments are retrieved for the elements corresponding to the object specified by the <paramref name="name" /> item.
        /// If this item is <see cref="eItemTypeElement.Element" />, the load assignments are retrieved for the element specified by the <paramref name="name" /> item.
        /// If this item is <see cref="eItemTypeElement.GroupElement" />, the load assignments are retrieved for the elements corresponding to all objects included in the group specified by the <paramref name="name" /> item.
        /// If this item is <see cref="eItemTypeElement.SelectionElement" />, the load assignments are retrieved for elements corresponding to all selected objects, and the <paramref name="name" /> item is ignored.</param>
        /// <exception cref="CSiException"></exception>
        public void GetLoadDeformation(string name,
                                       ref int numberItems,
                                       ref string[] names,
                                       ref string[] loadPatterns,
                                       ref DegreesOfFreedomLocal[] degreesOfFreedom,
                                       ref Deformations[] deformations,
                                       eItemTypeElement itemType = eItemTypeElement.Element)
        {
            bool[] dof1 = new bool[0];
            bool[] dof2 = new bool[0];
            bool[] dof3 = new bool[0];
            bool[] dof4 = new bool[0];
            bool[] dof5 = new bool[0];
            bool[] dof6 = new bool[0];

            double[] u1Deformation = new double[0];
            double[] u2Deformation = new double[0];
            double[] u3Deformation = new double[0];
            double[] r1Deformation = new double[0];
            double[] r2Deformation = new double[0];
            double[] r3Deformation = new double[0];

            _callCode = _sapModel.LinkElm.GetLoadDeformation(name, ref numberItems, ref names, ref loadPatterns,
                                                             ref dof1, ref dof2, ref dof3, ref dof4, ref dof5, ref dof6,
                                                             ref u1Deformation, ref u2Deformation, ref u3Deformation, ref r1Deformation, ref r2Deformation, ref r3Deformation,
                                                             EnumLibrary.Convert <eItemTypeElement, CSiProgram.eItemTypeElm>(itemType));
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException();
            }

            degreesOfFreedom = new DegreesOfFreedomLocal[numberItems - 1];
            deformations     = new Deformations[numberItems - 1];
            for (int i = 0; i < numberItems; i++)
            {
                degreesOfFreedom[i].U1 = dof1[i];
                degreesOfFreedom[i].U2 = dof2[i];
                degreesOfFreedom[i].U3 = dof3[i];
                degreesOfFreedom[i].R1 = dof4[i];
                degreesOfFreedom[i].R2 = dof5[i];
                degreesOfFreedom[i].R3 = dof6[i];

                deformations[i].U1 = u1Deformation[i];
                deformations[i].U2 = u2Deformation[i];
                deformations[i].U3 = u3Deformation[i];
                deformations[i].R1 = r1Deformation[i];
                deformations[i].R2 = r2Deformation[i];
                deformations[i].R3 = r3Deformation[i];
            }
        }
Exemple #6
0
        /// <summary>
        /// Returns a list of constraint assignments made to one or more specified point elements.
        /// These are the restraint assignments for each local degree of freedom (DOF), where 'True' means the DOF is fixed.
        /// </summary>
        /// <param name="name">The name of an existing point element.</param>
        /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception>
        public DegreesOfFreedomLocal GetRestraint(string name)
        {
            bool[] values = new bool[0];

            _callCode = _sapModel.PointElm.GetRestraint(name, ref values);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException(API_DEFAULT_ERROR_CODE);
            }

            DegreesOfFreedomLocal degreesOfFreedom = new DegreesOfFreedomLocal();

            degreesOfFreedom.FromArray(values);
            return(degreesOfFreedom);
        }
 /// <summary>
 /// Sets the joint restraint assignments.
 /// </summary>
 /// <param name="model">The model.</param>
 /// <param name="table">The table.</param>
 private static void setJOINT_RESTRAINT_ASSIGNMENTS(Model model, List <Dictionary <string, string> > table)
 {
     foreach (Dictionary <string, string> tableRow in table)
     {
         Point point = model.Structure.Points[tableRow["Joint"]];
         DegreesOfFreedomLocal degreesOfFreedom = new DegreesOfFreedomLocal()
         {
             U1 = !Adaptor.fromYesNo(tableRow["U1"]),
             U2 = !Adaptor.fromYesNo(tableRow["U2"]),
             U3 = !Adaptor.fromYesNo(tableRow["U3"]),
             R1 = !Adaptor.fromYesNo(tableRow["R1"]),
             R2 = !Adaptor.fromYesNo(tableRow["R2"]),
             R3 = !Adaptor.fromYesNo(tableRow["R3"])
         };
         point.DegreesOfFreedom = degreesOfFreedom;
     }
 }
Exemple #8
0
        /// <summary>
        /// This function defines a named frame end release.
        /// </summary>
        /// <param name="name">The name of a new or existing frame end release.</param>
        /// <param name="iEndRelease">Booleans indicating the I-End releases.</param>
        /// <param name="jEndRelease">Booleans indicating the J-End releases.</param>
        /// <param name="iEndFixity">Values indicating the I-End partial fixity springs.
        /// The value will be inactive if there is not a released specified for the corresponding degree of freedom.</param>
        /// <param name="jEndFixity">Values indicating the J-End partial fixity springs.
        /// The value will be inactive if there is not a released specified for the corresponding degree of freedom.</param>
        /// <exception cref="CSiException">API_DEFAULT_ERROR_CODE</exception>
        public void SetReleases(string name,
                                DegreesOfFreedomLocal iEndRelease,
                                DegreesOfFreedomLocal jEndRelease,
                                Fixity iEndFixity,
                                Fixity jEndFixity)
        {
            bool[]   csiiEndRelease = iEndRelease.ToArray();
            bool[]   csijEndRelease = jEndRelease.ToArray();
            double[] csiiEndFixity  = iEndFixity.ToArray();
            double[] csijEndFixity  = jEndFixity.ToArray();

            _callCode = _sapModel.NamedAssign.ReleaseFrame.SetReleases(name, ref csiiEndRelease, ref csijEndRelease, ref csiiEndFixity, ref csijEndFixity);
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException(API_DEFAULT_ERROR_CODE);
            }
        }
Exemple #9
0
 public void SetRestraint(string name,
                          DegreesOfFreedomLocal degreesOfFreedom,
                          eItemType itemType = eItemType.Object)
 {
 }
Exemple #10
0
 public void GetRestraint(string name,
                          ref DegreesOfFreedomLocal degreesOfFreedom)
 {
 }