【NX二次开发】基准特征
创建基准特征
UF_MODL_create_fixed_daxis 创建一个固定的基准轴特征,方向由点1指向点2
UF_MODL_create_fixed_dplane 创建一个固定的基准面特征,输入点和方向
UF_MODL_create_relative_daxis 建立一个对NX对象相关联的基准轴(后面有例子)
UF_MODL_create_relative_dplane 建立一个对NX对象相关联的基准面(后面有例子)
查询基准特征
UF_MODL_ask_datum_axis_parms 获取基准轴的原点和方向
UF_MODL_ask_datum_plane_parms 获得基准平面的原点、方向、偏置距离和偏置角
UF_MODL_is_datum_axis_reversed 查询基准轴的方向是否反向
UF_MODL_is_datum_plane_reversed 查询基准面的方向是否反向
UF_MODL_ask_daxis_size 获得基准轴的长度
UF_MODL_ask_datum_point_and_direction 获得基准特征的点和方向,没有则返回NULL
编辑基准特征的函数
UF_MODL_reverse_datum_axis 将基准轴反向
UF_MODL_reverse_datum_plane 将基准面反向
UF_MODL_convert_to_fixed_datum 将基准转换为固定基准
UF_MODL_edit_datum_direction 用新的方向对象标识来修改基准特征
UF_MODL_edit_datum_point 用新的点对象标识来修改基准特征
例子
extern DllExport void ufsta(char *param, int *returnCode, int rlen) { UF_initialize(); //创建关联的基准轴 int num_refs_daxis = 1; tag_t obj_eids[3]; obj_eids[0] = 45021;//圆柱面 int point_select_daxis[3] = { 0 ,0,0 }; tag_t daxis_feid; UF_MODL_create_relative_daxis(num_refs_daxis, obj_eids, point_select_daxis, &daxis_feid); //创建关联的基准面 int num_refes = 2; tag_t object_tags[3]; object_tags[0] = 45021;//圆柱面1 object_tags[1] = 45318;//圆柱面2 int point_select[3] = { 0,0,0 }; int which_plane = 2; char angle_string = NULL; char offset_string = NULL; int num_dplanes; tag_t dplane_tag_relative[2]; UF_MODL_create_relative_dplane(num_refes, object_tags, point_select, which_plane, NULL, &angle_string, &offset_string, &num_dplanes, dplane_tag_relative); UF_terminate(); }