OPENC函数 UF_CURVE函数(UF_CURVE_create_line、UF_CURVE_create_arc、UF_CURVE_ask_arc_data、UF_CURVE_ask_line_data)
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\n",ask_arc_coords.arc_center[0],ask_arc_coords.arc_center[1],ask_arc_coords.arc_center[2]); 45 sprintf(arc_angle,"圆弧起始角度为:%f,终止角度为:%f\n",ask_arc_coords.start_angle,ask_arc_coords.end_angle); 46 sprintf(arc_radius,"弧度为:%f\n",ask_arc_coords.radius); 47 sprintf(arc_mtx_tag,"矩阵tag值为:%d\n",ask_arc_coords.matrix_tag); 48 //转换数据(直线) 49 char line_data[256]; 50 sprintf(line_data,"直线起始点位置为:%f,%f,%f\n终点位置为:%f,%f,%f\n",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("\n"); 60 UF_UI_write_listing_window("\n"); 61 UF_UI_write_listing_window(line_data); 62 63 UF_terminate();
Life's is not that binary