NX二次开发 UFUN还原到指定标记 UF_UNDO_undo_to_mark
//NX8.0+VS2010
#include <uf_undo.h>
extern DllExport void ufsta(char* param, int* returnCode, int rlen)
{
if (UF_initialize())
return;
UF_UNDO_mark_id_t mark_id;
UF_UNDO_ask_next_vis_mark(&mark_id);//获得上一次标记
UF_UNDO_delete_mark(mark_id, NULL);//删除指定标记
/*创建标记*/
UF_UNDO_mark_id_t mark_id1;
UF_UNDO_set_mark(UF_UNDO_visible, NULL, &mark_id1);
tag_t line_tag = NULL_TAG;
UF_CURVE_line_t line_coords;
line_coords.start_point[0] = 0.0;
line_coords.start_point[1] = 0.0;
line_coords.start_point[2] = 0.0;
line_coords.end_point[0] = 0.0;
line_coords.end_point[1] = 0.0;
line_coords.end_point[2] = 100.0;
UF_CURVE_create_line(&line_coords, &line_tag);
/*还原到指定标记*/
UF_UNDO_undo_to_mark(mark_id1, NULL);
//因为还原标记所以 曲线line_tag 是没有创建的
UF_terminate();
}