本文主要是介绍NX二次开发—进阶(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、创建圆弧
在NX上通过代码画出圆弧,定义起始和终止位置,还有圆心位置和半径
创建圆弧,需要获取CSYS的矩阵ID,通过UF_CURVE_create_arc函数进行创建
//定义参数UF_CURVE_arc_t arc;arc.start_angle = 0.0;arc.end_angle = 225 * DEGRA;//DEGRA=PI/180//中心坐标arc.arc_center[0] = 0.0;//X坐标arc.arc_center[1] = 0.0;//Y坐标arc.arc_center[2] = 0.0;//Z坐标arc.radius = 50.0;//半径//得到CSYS的矩阵IDtag_t wcsTAG = NULL_TAG;UF_CSYS_ask_wcs(&wcsTAG);UF_CSYS_ask_matrix_of_object(wcsTAG, &arc.matrix_tag);//创建圆弧tag_t arcTAG = NULL_TAG;UF_CURVE_create_arc(&arc, &arcTAG);
运行结果:
二、与图层操作相关函数的用法
1.查询图层的分类、名字、描述及分类的成员
在NX里找到图层设置,我的是NX12.0,图层设置在视图里,在图层设置里显示选择所有图层,就可以看到所有的图层信息
//获取一个图层类别的TAGtag_t catgoryTAG = NULL_TAG;UF_LAYER_ask_category_tag("01_BODY", &catgoryTAG);//获取图层类别的信息UF_LAYER_category_info_t info;UF_LAYER_ask_category_info(catgoryTAG, &info);UF_UI_open_listing_window();UF_UI_write_listing_window(info.name);UF_UI_write_listing_window("\n");UF_UI_write_listing_window(info.descr);
查询图层状态
int layerStatus;UF_LAYER_ask_status(2, &layerStatus);//重新设置图层状态//UF_LAYER_set_status(2, 1);//设置所有图层UF_LAYER_set_all_but_work(3);//转换数据char msg[256];sprintf(msg, "%d", layerStatus);//打印UF_UI_write_listing_window(msg);UF_terminate();
2.创建或者编辑图层类别,名字,描述及分类成员
UF_LAYER_category_info_t category;strcpy(category.name, "图层类别名字");strcpy(category.descr, "图层类别描述");for (int i = 0; i < 256; i++){if (i > 0 && i < 5)category.layer_mask[i] = true;elsecategory.layer_mask[i] = false;}tag_t categoryTAG = NULL_TAG;UF_LAYER_create_category(&category, &categoryTAG);
这篇关于NX二次开发—进阶(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!