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日
  • 相关阅读:
    linux下压缩-解压命令
    配置 samba
    我如何在Linux shell脚本提示输入?
    乔布斯语录
    Oracle 查看表空间及扩容
    Linux添加/删除用户和用户组
    学习进度条
    作业8:单元测试练习(个人练习)
    作业7: 用户体验设计案例分析
    作业6 成绩录入系统设计 阶段一
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/13226117.html
Copyright © 2011-2022 走看看