NX二次开发-获取指定矩阵标识的矩阵值

函数:UF_CSYS_ask_matrix_values ()

函数说明:获取指定矩阵标识的矩阵值。

用法:

#include <uf.h>
#include <uf_csys.h>
extern DllExport void ufusr(char *param, int *returnCode, int rlen)
{
    UF_initialize();

    //获取WCS标识
    tag_t tagWCS = NULL_TAG;
    UF_CSYS_ask_wcs(&tagWCS);

    //获取WCS的原点坐标和矩阵标识
    tag_t tagCsys;   //原点坐标
    tag_t tagMatrix; //矩阵标识
    double couCsysOrigin[3];
    UF_CSYS_ask_csys_info(tagWCS,&tagMatrix, couCsysOrigin);

    //获取指定矩阵标识的矩阵值
    double douMatrixValues[9];
    UF_CSYS_ask_matrix_values(tagMatrix,douMatrixValues)

    UF_terminate();
}

extern int ufusr_ask_unload(void)
{
    return (UF_UNLOAD_IMMEDIATELY);
}

有了矩阵值后就可以:

1.获取WCS的X、Y、Z轴



相关文章:

《NX二次开发-获取WCS坐标系的原点坐标和矩阵标识》

《NX二次开发-获取矩阵的X、Y、Z矢量 》暂未发布

《NX二次开发-移动》暂未发布



导航:

Open C

UF_CSYS 坐标系操作



NX二次开发-获取指定矩阵标识的矩阵值

原文地址:https://www.cnblogs.com/KMould/p/11826529.html

时间: 2024-08-02 13:19:30

NX二次开发-获取指定矩阵标识的矩阵值的相关文章

NX二次开发-获取矩阵值UF_CSYS_ask_matrix_values

1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_csys.h> 5 6 7 UF_initialize(); 8 9 //获取WCS标识 10 tag_t WcsId = NULL_TAG; 11 UF_CSYS_ask_wcs(&WcsId); 12 13 //获取坐标系信息 14 tag_t MatrixId = NULL_TAG; 15 double CsysOrigin[3]; 16 UF_CSYS_ask_csys_

NX二次开发-获取坐标系信息UF_CSYS_ask_csys_info

1 NX9+VS2012 2 3 4 #include <uf.h> 5 #include <uf_csys.h> 6 7 8 9 UF_initialize(); 10 11 //获取WCS标识 12 tag_t WcsId = NULL_TAG; 13 UF_CSYS_ask_wcs(&WcsId); 14 15 //获取坐标系信息 16 tag_t MatrixId = NULL_TAG; 17 double CsysOrigin[3]; 18 UF_CSYS_ask

NX二次开发-创建一个3 x 3矩阵UF_CSYS_create_matrix

1 NX9+VS2012 2 3 4 #include <uf.h> 5 #include <uf_csys.h> 6 #include <uf_mtx.h> 7 8 9 10 UF_initialize(); 11 12 //输入X向量Y向量输出一个3*3矩阵 13 double XVec[3] = {0.0, 0.0, 1.0}; 14 double YVec[3] = {0.0, 1.0, 0.0}; 15 double Mtx[9]; 16 UF_MTX3_in

NX二次开发-通过3x3矩阵获取XYZ轴矢量

函数:UF_CSYS_ask_wcs() 函数说明:通过3x3矩阵获取XYZ轴矢量 用法: 1 #include <uf.h> 2 #include <uf_mtx.h> 3 extern DllExport void ufusr(char *param, int *returnCode, int rlen) 4 { 5 UF_initialize(); 6 7 double douMatrixValues[9] = {1,0,0,0,1,0,0,0,1}; 8 double dV

NX二次开发-移动WCS坐标系

说明:移动WCS坐标系 用法: #include <uf.h> #include <uf_csys.h> extern DllExport void ufusr(char *param, int *returnCode, int rlen) { UF_initialize(); //移动WCS,到点 couCsysOrigin2 double couCsysOrigin2[3] = { 10,10,10 }; //获取当前WCS标识 tag_t tagWCS = NULL_TAG;

NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))

NX二次开发API里没有对EXCAL读写操作的相关函数,市面上有很多种方法去实现,比如UFUN调KF,ODBC,OLE(COM组件)等等.这里我是用的OLE(COM组件)方式去做的,这种在VC上创建的方法,无论C++还是C#还是VB方式思路都是一样的.先介绍用MFC去做,然后在写一篇博客介绍怎么在NX的二次开发的向导模板里去做.NX二次开发-基于NX开发向导模板的NX对Excel读写操作(OLE方式(COM组件))https://ufun-nxopen.blog.csdn.net/article

Visual Stadio 与NX二次开发的环境配置(以VS2010、NX10.0为例)

问题描述: 许多博文发布了关于Visual Stadio 与NX二次开发的环境配置,这些博文的提示事修改了文件NX10_Open.vsz中的引擎为10.0,但实际结果是创建C++引导失败. 问题解决概述: 创建正确引导应该同时修改NX10_Open.vsz与NX10_NXOpenCPP.vsz两个文件的引擎版本号. 解决步骤: 将NX10.0 UGOPEN目录下的所有文件夹(VB.VC.VC#)复制,并粘贴到Visual Stadio 2010安装目录下与对应的文件夹合并即可(覆盖). 例如,将

NX二次开发-NX+VS写代码设断点调试技巧

在做NX二次开发的时候写完代码,编译可以通过,但是执行的时候却没有反应,或者得到的结果不对,说明肯定有地方传值出错了.我在查找代码错误的时候有几种方法:1.uc1601打印函数输入和输出的值看对不对.2.VS设断点-添加进程调试,来看输入输出值对不对3.UF_CALL也就是UF_get_fail_message这个函数,来看函数自己用的对不对.4.查看NX-Help-LogFile(日志),拖到最后看提示了哪些错误. 我一般用的比较多的是设断点调试,这里先说设断点调试.其他方法改天再写. 写举一

NX二次开发-Block UI C++界面关于 在Block UI中UF_initialize();和UF_terminate();的使用

关于 在Block UI中UF_initialize();和UF_terminate();的使用 1 用Block UI作NX二次开发的时候,不需要在使用UFUN函数的时候加UF_initialize();和UF_terminate();. 2 可以直接加在CPP里这个位置: 3 4 extern "C" DllExport void ufusr(char *param, int *retcod, int param_len) 5 { 6 TwoPointCyl *theTwoPoin