zoukankan      html  css  js  c++  java
  • NX二次开发-NXOPEN C#UF将矩阵绕任意轴旋转theUfSession.Trns.CreateRotationMatrix

    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日
  • 相关阅读:
    走进AngularJs(二) ng模板中常用指令的使用方式
    mysql知识汇总
    存储动态数据时,数据库的设计方法
    js判断密码强度
    svg―Raphael.js Library(一)
    常用js代码
    IE6实现图片或背景的圆角效果
    巧用css border
    IE6下的效果
    理解盒模型
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/13226117.html
Copyright © 2011-2022 走看看