1 NX9+VS2012 2 3 4 #include <uf.h> 5 #include <uf_modl.h> 6 #include <uf_curve.h> 7 #include <uf_ui.h> 8 9 10 UF_initialize(); 11 12 //创建块 13 UF_FEATURE_SIGN Sign = UF_NULLSIGN; 14 double CornerPt[3] = {0.0, 0.0, 0.0}; 15 char* EdgeLen[3] = {"100", "100", "100"}; 16 tag_t BlkTag = NULL_TAG; 17 UF_MODL_create_block1(Sign, CornerPt, EdgeLen, &BlkTag); 18 19 //特征找体 20 tag_t BodyTag = NULL_TAG; 21 UF_MODL_ask_feat_body(BlkTag, &BodyTag); 22 23 //创建点1(在块内部) 24 double P1[3] = {50.0, 50.0, 50.0}; 25 tag_t P1Tag = NULL_TAG; 26 UF_CURVE_create_point(P1, &P1Tag); 27 28 //创建点2(在块外部) 29 double P2[3] = {150.0, 150.0, 150.0}; 30 tag_t P2Tag = NULL_TAG; 31 UF_CURVE_create_point(P2, &P2Tag); 32 33 //创建点3(在块边界上) 34 double P3[3] = {100.0, 50, 50}; 35 tag_t P3Tag = NULL_TAG; 36 UF_CURVE_create_point(P3, &P3Tag); 37 38 //获取一个点是在体(面,边)的边界内部,外部,还是边界上 39 //1为在边界内部,2为在边界外部,3为在边界上 40 //(如果在片体边界上,则被认为在边界内) 41 int PtStatus1; 42 UF_MODL_ask_point_containment(P1, BodyTag, &PtStatus1); 43 44 int PtStatus2; 45 UF_MODL_ask_point_containment(P2, BodyTag, &PtStatus2); 46 47 int PtStatus3; 48 UF_MODL_ask_point_containment(P3, BodyTag, &PtStatus3); 49 50 //转换 51 char msg[256]; 52 sprintf_s(msg, "%d %d %d ", PtStatus1, PtStatus2, PtStatus3); 53 54 //打印 55 UF_UI_open_listing_window(); 56 UF_UI_write_listing_window(msg); 57 58 UF_terminate();