NX-二次开发创建圆弧(三点圆弧)UF_CURVE_create_arc_3point

 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();

原文地址:https://www.cnblogs.com/nxopen2018/p/10957294.html