UFUN函数 UF_CURVE函数(UF_CURVE_create_lineUF_CURVE_create_arcUF_CURVE_ask_arc_dataUF_CURVE_ask_line_d(代码

Posted zzyfym

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UFUN函数 UF_CURVE函数(UF_CURVE_create_lineUF_CURVE_create_arcUF_CURVE_ask_arc_dataUF_CURVE_ask_line_d(代码相关的知识,希望对你有一定的参考价值。

 1 UF_initialize();
 2     //CSYS_ask_wcs
 3     tag_t wcs_id=NULL_TAG;
 4     //CSYS_ask_csys_info
 5     double csys_orign[3]={0.0};
 6     //CURVE_create_line
 7     UF_CURVE_line_t line_coords;
 8     tag_t line=NULL_TAG;
 9     //CURVE_create_arc
10     UF_CURVE_arc_t arc_coords;
11     tag_t arc=NULL_TAG;
12     //CURVE_ask_arc_data
13     UF_CURVE_arc_t ask_arc_coords;
14     //CURVE_ask_line_data
15     UF_CURVE_line_t ask_line_coords;
16     //获取当的wcs坐标系的tag
17     UF_CSYS_ask_wcs(&wcs_id);
18     //寻问坐标系的信息(原点和矩阵的tag)
19     UF_CSYS_ask_csys_info(wcs_id,&arc_coords.matrix_tag,csys_orign);
20     //CURVE_create_arc
21     arc_coords.start_angle=10.0*DEGRA;/*注意创建圆弧时,需要在后面乘以弧度,不乘以弧度,不报错不出现圆弧线*/
22     arc_coords.end_angle=300.0*DEGRA;/*      DEGRA   .01745329251994328*/
23     arc_coords.arc_center[0]=100.0;
24     arc_coords.arc_center[1]=0.0;
25     arc_coords.arc_center[2]=0.0;
26     arc_coords.radius=100.0;
27     //CURVE_create_line
28     line_coords.start_point[0]=0.0;
29     line_coords.start_point[1]=0.0;
30     line_coords.start_point[2]=0.0;
31     line_coords.end_point[0]=100.0;
32     line_coords.end_point[1]=0.0;
33     line_coords.end_point[2]=0.0;
34     //创建直线
35     UF_CURVE_create_line(&line_coords,&line);
36     //创建圆弧
37     UF_CURVE_create_arc (&arc_coords,&arc);
38     //圆弧数据
39     UF_CURVE_ask_arc_data(arc,&ask_arc_coords);
40     //直线数据
41     UF_CURVE_ask_line_data (line,&ask_line_coords);
42     //转换数据(圆弧)
43     char arc_center[256],arc_angle[256],arc_radius[256],arc_mtx_tag[256];
44     sprintf(arc_center,"圆弧中心为:%f,%f,%f
",ask_arc_coords.arc_center[0],ask_arc_coords.arc_center[1],ask_arc_coords.arc_center[2]);
45     sprintf(arc_angle,"圆弧起始角度为:%f,终止角度为:%f
",ask_arc_coords.start_angle,ask_arc_coords.end_angle);
46     sprintf(arc_radius,"弧度为:%f
",ask_arc_coords.radius);
47     sprintf(arc_mtx_tag,"矩阵tag值为:%d
",ask_arc_coords.matrix_tag);
48     //转换数据(直线)
49     char line_data[256];
50     sprintf(line_data,"直线起始点位置为:%f,%f,%f
终点位置为:%f,%f,%f
",ask_line_coords.start_point[0],ask_line_coords.start_point[1],ask_line_coords.start_point[2],ask_line_coords.end_point[0],ask_line_coords.end_point[1],ask_line_coords.end_point[2]);
51     //打印信息
52     UF_UI_open_listing_window();
53     //******************圆弧信息***********************//
54     UF_UI_write_listing_window(arc_center);
55     UF_UI_write_listing_window(arc_angle);
56     UF_UI_write_listing_window(arc_radius);
57     UF_UI_write_listing_window(arc_mtx_tag);
58     //******************直线信息***********************//
59     UF_UI_write_listing_window("
");
60     UF_UI_write_listing_window("
");
61     UF_UI_write_listing_window(line_data);
62     
63     UF_terminate();

技术图片

以上是关于UFUN函数 UF_CURVE函数(UF_CURVE_create_lineUF_CURVE_create_arcUF_CURVE_ask_arc_dataUF_CURVE_ask_line_d(代码的主要内容,如果未能解决你的问题,请参考以下文章

NX二次开发-UFUN三点创建圆弧UF_CURVE_create_arc_thru_3pts

NX二次开发-UFUN获取投影曲线里的曲线UF_MODL_ask_proj_curves

NX二次开发-UFUN获取投影曲线里的曲线UF_CURVE_ask_proj_curves

UFUN函数 UF_ATTR函数(UF_ATTR_cycle )

NX二次开发-UFUN获得两条曲线的交点UF_MODL_intersect_curve_to_curve

UFUN函数 UF_CSYS函数 UF_MTX函数(如何创建坐标系);