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的矩阵ID
	tag_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,图层设置在视图里,在图层设置里显示选择所有图层,就可以看到所有的图层信息

	//获取一个图层类别的TAG
	tag_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;
		else
			category.layer_mask[i] = false;
	}
	tag_t categoryTAG = NULL_TAG;
	UF_LAYER_create_category(&category, &categoryTAG);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值