https://www.cnblogs.com/nxopen2018/p/13173905.html 这个UF例子的C#写法
using System; using NXOpen; using NXOpen.UF; using NXOpenUI; using NXOpen.Utilities; //初始化3*3矩阵 double[] x_vec = { 1, 0, 0 }; double[] y_vec = { 0, 1, 0 }; double[] mtx = new Double[9]; theUfSession.Mtx3.Initialize(x_vec, y_vec, mtx); //创建矩阵 Tag MatrixTag = Tag.Null; theUfSession.Csys.CreateMatrix(mtx,out MatrixTag); //创建坐标系 double[] csys_origin = {10,10,10}; Tag CsysTag = Tag.Null; theUfSession.Csys.CreateCsys(csys_origin, MatrixTag, out CsysTag); for (int i = 0; i < 36; i++ ) { //将矩阵绕任意轴旋转 double[] origin = { 10, 10, 10 }; double[] direction = { 0, 0, 1 }; double degrees_rotation = i; double[] matrix = new Double[12]; int status = 0; theUfSession.Trns.CreateRotationMatrix(origin, direction,ref degrees_rotation, matrix, out status); //变换矩阵 Tag[] objects = {CsysTag}; int n_objects = 1; int move_or_copy = 1; int dest_layer = 0; int trace_curves = 2; Tag[] copies = new Tag[1]; Tag trace_curve_group = Tag.Null; int status1 = 0; theUfSession.Trns.TransformObjects(matrix, objects, ref n_objects, ref move_or_copy, ref dest_layer, ref trace_curves,copies, out trace_curve_group, out status1); } Caesar卢尚宇 2020年7月2日