NX二次开发 UFUN创建SO智能标量 UF_SO_create_scalar_double
//NX8.0+VS2010
#include <uf.h>
#include <uf_ui.h>
#include <uf_obj.h>
#include <UF_SO.h>
#include <UF_ASSEM.h>
#include <UF_PART.h>
//创建so点
bool CreateSoPoint(double point[3], tag_t& so_pt_tag)
{
tag_t xyz[3];
tag_t part_tag = UF_ASSEM_ask_work_part();
so_pt_tag = NULL_TAG;
UF_SO_create_scalar_double(part_tag, UF_SO_update_after_modeling, point[0], &xyz[0]);
UF_SO_create_scalar_double(part_tag, UF_SO_update_after_modeling, point[1], &xyz[1]);
UF_SO_create_scalar_double(part_tag, UF_SO_update_after_modeling, point[2], &xyz[2]);
UF_SO_create_point_3_scalars(part_tag, UF_SO_update_after_modeling, xyz, &so_pt_tag);
if (so_pt_tag)
{//删除so_pt_tag后xyz[0-2]也会同时被删除
UF_SO_set_visibility_option(so_pt_tag, UF_SO_visible);//设置是否可见
return true;
}
return false;
}