1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_curve.h> 5 6 7 UF_initialize(); 8 9 //起点 10 double ArcStartPoint[3]; 11 ArcStartPoint[0] = 0.0; 12 ArcStartPoint[1] = 0.0; 13 ArcStartPoint[2] = 0.0; 14 tag_t ArcStartPointTag = NULL_TAG; 15 UF_CURVE_create_point(ArcStartPoint, &ArcStartPointTag); 16 17 //终点 18 double ArcEndPoint[3]; 19 ArcEndPoint[0] = 100.0; 20 ArcEndPoint[1] = 0.0; 21 ArcEndPoint[2] = 0.0; 22 tag_t ArcEndPointTag = NULL_TAG; 23 UF_CURVE_create_point(ArcEndPoint, &ArcEndPointTag); 24 25 //第三点 26 double Arc3Point[3]; 27 Arc3Point[0] = 50.0; 28 Arc3Point[1] = 50.0; 29 Arc3Point[2] = 0.0; 30 tag_t Arc3PointTag = NULL_TAG; 31 UF_CURVE_create_point(Arc3Point, &Arc3PointTag); 32 33 //设置类型 34 UF_CURVE_limit_t limit[2]; 35 UF_CURVE_limit_p_t pLimit[2] = { &limit[0], &limit[1] }; 36 limit[0].limit_type = UF_CURVE_limit_to_entity; 37 limit[0].limiting_obj = ArcStartPointTag;//按点 38 limit[1].limit_type = UF_CURVE_limit_to_entity; 39 limit[1].limiting_obj = ArcEndPointTag;//按点 40 41 tag_t SupportPlane = NULL_TAG;//放置平面 42 tag_t ArcTag = NULL_TAG; 43 UF_CURVE_create_arc_3point(ArcStartPointTag, ArcEndPointTag, Arc3PointTag, pLimit, SupportPlane, FALSE, &ArcTag); 44 45 UF_terminate();