我现在在试一个把物体平移的功能.我看了UG/open 里面的函数帮助,也仔细研究了清华出的那本书,他里面是先将所选对象的坐标矩正进行正则化处理,然后为正则化矩正给出一个新的ID,最后创建一个零时坐标系.然后就用uf5943,uf5947两个函数进行平移了.
而现在我自己做的时候,也采用上面相同的步骤,但我调试时发现我选取的对象没有矩阵ID,当然也就得不到坐标系统矩阵.我后面采用获取工作坐标系的ID,然后获取其矩阵ID的方法,但调试后仍得不到平移结果.
请指教:下面是我的一段代码;
i_ret=UF_CSYS_ask_wcs ([$wcs_id )]
UF_CSYS_ask_csys_info (wcs_id,[$matrix_id,csys_origin)]
UF_CSYS_ask_matrix_values (matrix_id,matrix_values);
UF_MTX3_ortho_normalize(matrix_values);
i_ret=UF_CSYS_create_matrix(matrix_values,[$new_matrix_id)]
i_ret=UF_CSYS_create_temp_csys(csys_origin,new_matrix_id,[$temp_csys_id)]
FTN(uf5943) (Dxyz,D_target );
FTN(uf5947) (D_target,[$temp_csys_id,&one,&one,&zero,&two,NULL,NULL,&resp)]
程序的前后两段好像没有什么联系?Dxyz和D_target在哪赋值? |