通过点数据创建样条曲线(UGNX二次开发)

        /// <summary>
        /// 通过点数据创建样条曲线
        /// </summary>
        /// <param name="points">x,y,z的顺序依次排</param>
        /// <param name="periodicity">0=non-periodic, 1=periodic</param>
        /// <returns></returns>
        public void CreateSplineByPointsCoordinates(double[] points, int periodicity, out Tag spline_tag)
        {
            int points_num = points.Length / 3;
            int degree = 3;
            UFCurve.PtSlopeCrvatr[] point_data = new UFCurve.PtSlopeCrvatr[points_num];
            int save_def_data = 1;
            int i = 0;
            for (i = 0; i < points_num; i++)
            {
                point_data[i].point = new double[3];
                point_data[i].point[0] = points[3 * i];
                point_data[i].point[1] = points[3 * i + 1];
                point_data[i].point[2] = points[3 * i + 2];

                point_data[i].slope_type = UFConstants.UF_CURVE_SLOPE_NONE;

                point_data[i].crvatr_type = UFConstants.UF_CURVE_CRVATR_NONE;
            }

            theUFSession.Curve.CreateSplineThruPts(degree, periodicity,
                points_num, point_data, null, save_def_data, out spline_tag);
        }

欢迎加入我的UGNX二次开发QQ群:282343540

posted @ 2012-12-10 11:42  yyFisheep  阅读(3171)  评论(0)    收藏  举报