Esempio n. 1
0
        private IAgCrdnAxes CreateAxes(IAgStkObject stkObject, string name, IAgCrdnAxes referenceAxes, string alignedAxis, string constrainedAxis, double angle)
        {
            IAgCrdnAxesFactory factory = stkObject.Vgt.Axes.Factory;

            double[] eulerAngles = GetEulerArray(alignedAxis, constrainedAxis, angle);

            // Check if component exists.
            CheckExistingVgtComponent(stkObject.Vgt.Axes, name);

            IAgCrdnAxesFixed axes = factory.Create(name, "", AgECrdnAxesType.eCrdnAxesTypeFixed) as IAgCrdnAxesFixed;

            axes.ReferenceAxes.SetAxes(referenceAxes);
            axes.FixedOrientation.AssignEulerAngles(AgEEulerOrientationSequence.e123, eulerAngles[0], eulerAngles[1], eulerAngles[2]);

            return(axes as IAgCrdnAxes);
        }
Esempio n. 2
0
        private IAgCrdnAxes CreateAxes(IAgStkObject stkObject, string name, IAgCrdnVector alignedVector, string alignedAxis, IAgCrdnVector constrainedVector, string constrainedAxis)
        {
            IAgCrdnAxesFactory factory = stkObject.Vgt.Axes.Factory;

            double[] alignedArray     = GetCartesianArray(alignedAxis);
            double[] constrainedArray = GetCartesianArray(constrainedAxis);

            // Check if component exists.
            CheckExistingVgtComponent(stkObject.Vgt.Axes, name);

            IAgCrdnAxesAlignedAndConstrained axes = factory.Create(name, "", AgECrdnAxesType.eCrdnAxesTypeAlignedAndConstrained) as IAgCrdnAxesAlignedAndConstrained;

            axes.AlignmentReferenceVector.SetVector(alignedVector);
            axes.AlignmentDirection.AssignXYZ(alignedArray[0], alignedArray[1], alignedArray[2]);

            axes.ConstraintReferenceVector.SetVector(constrainedVector);
            axes.ConstraintDirection.AssignXYZ(constrainedArray[0], constrainedArray[1], constrainedArray[2]);

            return(axes as IAgCrdnAxes);
        }