购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008 QQ号:85585969
symbol定制符号:
可以吧零散的曲线、剖面线、文字等实体对象组成一个 symbol符号(比如顶针、螺丝符号)
symbol定制符号例子:
#include <uf_drf.h>
#include <uf_obj.h>
#include <uf_curve.h>
#include <uf_csys.h>
//UF_DRF_create_custom_symbol_instance 定制符号
//UF_DRF_set_custom_symbol_angle 设置符号角度
//UF_DRF_set_custom_symbol_scale 设置符号大小
//你还可以参考 其它函数 创建*. *** f符号文件
UF_CURVE_line_t line_coords;
tag_t line_tags[3];
line_coords.start_point[0] = 5.0;
line_coords.start_point[1] = 5.0;
line_coords.start_point[2] = 0.0;
line_coords.end_point[0] = 20.0;
line_coords.end_point[1] = 20.0;
line_coords.end_point[2] = 0.0;
UF_CURVE_create_line(&line_coords,&line_tags[0]);
line_coords.start_point[0] = 20.0;
line_coords.start_point[1] = 20.0;
line_coords.start_point[2] = 0.0;
line_coords.end_point[0] = 20.0;
line_coords.end_point[1] = 60.0;
line_coords.end_point[2] = 0.0;

●●●请先
登陆 或
注册 后查看●●●
tag_t new_symbol_tag=NULL_TAG;
UF_DRF_custom_symbol_s symbol_definition;
symbol_definition.geometry=line_tags;
//输入实体,圆弧、样条函数阴影和区域填充符号定义
symbol_definition.num_geometry=3;
//对象数量
symbol_definition.num_text=0;
//文本数量
tag_t anchor_point=NULL_TAG;
double point_coords[3]={0,0,0};
//点坐标xyz - 符号的锚点标记
UF_CURVE_create_point(point_coords,&anchor_point);
//创建点
symbol_definition.anchor_point=anchor_point;
//符号的锚点标记 一般是要设置的
symbol_definition.num_connections=0;
//领袖连接点的数量 可能是0或1或2
/***************************************************
//UF_DRF_symbol_connection_s connections;
//connections.connection_point=anchor_point;
symbol_definition.connections=NULL; //数组标记象征领袖连接的点。
//
//UF_DRF_leader_s leaderaa;
//leaderaa.num_leaders=0; //指针指向有关领导的信息
symbol_definition.leader=NULL;
***************************************************/
symbol_definition.connections=NULL;//数组标记象征领袖连接的点。
symbol_definition.leader=NULL; //指针指向有关领导的信息
symbol_definition.angle=0; //角度对WCS轴
symbol_definition.scale=1; //大小缩放比例
symbol_definition.origin[0]=point_coords[0];//原点坐标
symbol_definition.origin[1]=point_coords[1];
symbol_definition.origin[2]=point_coords[2];
int err=UF_DRF_create_custom_symbol_instance(&symbol_definition, &new_symbol_tag );
if (err!=0)
{
char messages[132]="";
UF_get_fail_message( err,messages);
uc1601(messages,1);
}