Example #1
0
        public ETABSLinearSpring LinearSpringToSpeckle(string name)
        {
            double           stiffnessX        = 0;
            double           stiffnessY        = 0;
            double           stiffnessZ        = 0;
            double           stiffnessXX       = 0;
            int              nonLinearOpt1     = 0;
            int              nonLinearOpt2     = 0;
            int              color             = 0;
            string           notes             = null;
            string           GUID              = null;
            NonLinearOptions nonLinearOptions1 = NonLinearOptions.Linear;
            NonLinearOptions nonLinearOptions2 = NonLinearOptions.Linear;

            var s = Model.PropLineSpring.GetLineSpringProp(name, ref stiffnessX, ref stiffnessY, ref stiffnessZ, ref stiffnessXX, ref nonLinearOpt1, ref nonLinearOpt2, ref color, ref notes, ref GUID);

            switch (nonLinearOpt1)
            {
            case 0:
                nonLinearOptions1 = NonLinearOptions.Linear;
                break;

            case 1:
                nonLinearOptions1 = NonLinearOptions.CompressionOnly;
                break;

            case 2:
                nonLinearOptions1 = NonLinearOptions.TensionOnly;
                break;
            }
            switch (nonLinearOpt2)
            {
            case 0:
                nonLinearOptions2 = NonLinearOptions.Linear;
                break;

            case 1:
                nonLinearOptions2 = NonLinearOptions.CompressionOnly;
                break;

            case 2:
                nonLinearOptions2 = NonLinearOptions.TensionOnly;
                break;
            }

            if (s == 0)
            {
                ETABSLinearSpring speckleLinearSpring = new ETABSLinearSpring(name, stiffnessX, stiffnessY, stiffnessZ, stiffnessXX, nonLinearOptions1, nonLinearOptions2, GUID);
                return(speckleLinearSpring);
            }
            return(null);
        }
Example #2
0
        public void LinearSpringPropertyToNative(ETABSLinearSpring linearSpringProperty)
        {
            var linearOption1 = 0;
            var linearOption2 = 0;

            switch (linearSpringProperty.LinearOption1)
            {
            case NonLinearOptions.CompressionOnly:
                linearOption1 = 0;
                break;

            case NonLinearOptions.Linear:
                linearOption1 = 1;
                break;

            case NonLinearOptions.TensionOnly:
                linearOption1 = 2;
                break;
            }
            switch (linearSpringProperty.LinearOption2)
            {
            case NonLinearOptions.CompressionOnly:
                linearOption2 = 0;
                break;

            case NonLinearOptions.Linear:
                linearOption2 = 1;
                break;

            case NonLinearOptions.TensionOnly:
                linearOption2 = 2;
                break;
            }
            Model.PropLineSpring.SetLineSpringProp(linearSpringProperty.name, linearSpringProperty.stiffnessX, linearSpringProperty.stiffnessY, linearSpringProperty.stiffnessZ, linearSpringProperty.stiffnessXX, linearOption1, linearOption2, iGUID: linearSpringProperty.applicationId);
            return;
        }