现在的位置: 首页 > 综合 > 正文

记录一下获取NC程序名称的方法

2013年01月11日 ⁄ 综合 ⁄ 共 851字 ⁄ 字号 评论关闭

记得以前写过一个程序,获取加工过程中的程序名称,相隔日久有些遗忘了,因而较少去写加工方面的代码吧。这里特地重新回忆了一下,但是一时也确定不好做个什么样的案例,暂时也就这样吧。

 

案例源代码如下:

#include <uf_obj.h>
#include <uf_setup.h>
#include <uf_ncgroup.h>

static logical cycelGenerateCb(tag_t tag, void* data)
{
	logical is_group;
	char name[133];

	UF_CALL(UF_NCGROUP_is_group(tag, &is_group));

	UF_CALL(UF_OBJ_ask_name(tag, name));
	
	UF_UI_write_listing_window(name);
	UF_UI_write_listing_window("\n");
	return TRUE;
}

static void do_it(void)
{
	UF_UI_open_listing_window();

	tag_t setup_tag;
	tag_t program_group;

	UF_CALL(UF_SETUP_ask_setup(&setup_tag));
	UF_CALL(UF_SETUP_ask_program_root(setup_tag, &program_group));
	UF_CALL(UF_NCGROUP_cycle_members(program_group, cycelGenerateCb, NULL));
}

其中,有几点注意一下:

1) 将UF_SETUP_ask_program_root换成UF_SETUP_ask_geom_root或UF_SETUP_ask_mthd_root或UF_SETUP_ask_mct_root,则UF_NCGROUP_cycle_members转而对几何体、加工方法、刀具遍历;

2) 刀具tag的获取也可以用UF_OBJ_cycle_objs_in_part来获得,估计其它项也可以;

抱歉!评论已关闭.