04_修改坐标系矩阵UF_CSYS_edit_matrix_of_object

NX二开-坐标系篇

修改坐标系矩阵UF_CSYS_edit_matrix_of_object

一个坐标系被创建出来了之后。我们还是可以通过坐标系的TAG 值 去修改坐标系的原点矩阵的。

比如,通过函数UF_CSYS_set_origin() 我们可以设置现有坐标系的原点,通过函数UF_CSYS_edit_matrix_of_object() 我们可以设置现有坐标系的关联矩阵。

	tag_t matrix_id ,csys_id, matrix_id1 = NULL_TAG;
	double matrix_values[9] = {0};

     //初始化一个3*3的矩阵
	double mtx[9];
    double vecX[3] = { 2,3,5 };
	double vecY[3] = { 0,1,0 };
	UF_MTX3_initialize(vecX, vecY, mtx);

    //创建坐标系矩阵
	UF_CSYS_create_matrix(mtx, &matrix_id);

   // 通过原点 和坐标系矩阵 创建一个坐标系
	double csys_origin[3] = { 10.0,10.0,10.0 };
	UF_CSYS_create_csys(csys_origin, matrix_id, &csys_id);

	
		
	double vecX1[3] = { 1,0,0 };
	double vecY1[3] = { 0,0,1 };
	double mtx1[9];
	double csys_origin1[3] = { 400,400.0,100.0 };
	UF_MTX3_initialize(vecX1, vecY1, mtx1);
	UF_CSYS_create_matrix(mtx1, &matrix_id1); //演示修改坐标系矩阵需要 修改坐标系点

   	//修改坐标系矩阵和点
    UF_CSYS_edit_matrix_of_object(csys_id, matrix_id1);
	UF_CSYS_set_origin(csys_id, csys_origin1);

	UF_MODL_update (); //必须要由这一句才生效。

你可能感兴趣的:(NX二次开发,矩阵,算法,线性代数)