1 NX11+VS2013 2 3 #include <uf.h> 4 #include <uf_modl.h> 5 #include <uf_ui.h> 6 7 8 UF_initialize(); 9 10 //创建圆锥 11 UF_FEATURE_SIGN Sign = UF_NULLSIGN;//设置布尔 12 double Origin[3] = { 0.0, 0.0, 0.0 };//原点 13 char *Height = "100";//高度 14 char *Diam[2] = { "50", "20" };//顶部直径,底部直径 15 double Dirction[3] = { 0.0, 0.0, 1.0 };//矢量方向 16 tag_t ConeTag = NULL_TAG; 17 UF_MODL_create_cone1(Sign, Origin, Height, Diam, Dirction, &ConeTag); 18 19 //获取圆锥参数 20 char *BaseDiameter;//输出底部直径 21 char *TopDiameter;//输出顶部直径 22 char *Height1;//输出高度 23 char *HalfAngle;//输出锥角 24 UF_MODL_ask_cone_parms(ConeTag, 1, &BaseDiameter, &TopDiameter, &Height1, &HalfAngle); 25 26 //打印 27 //默认输出格式为表达式等号左右值 28 UF_UI_open_listing_window(); 29 UF_UI_write_listing_window(BaseDiameter); 30 UF_UI_write_listing_window(" "); 31 UF_UI_write_listing_window(TopDiameter); 32 UF_UI_write_listing_window(" "); 33 UF_UI_write_listing_window(Height1); 34 UF_UI_write_listing_window(" "); 35 UF_UI_write_listing_window(HalfAngle); 36 37 //只输出表达式等号右值 38 //提取左右值 39 string Base = BaseDiameter; 40 string BaseStrleft = (Base.substr(0, Base.find("=")));//提取左值 41 string BaseStrright = (Base.substr(Base.find("=") + 1, Base.find(" ")));//提取右值 42 43 44 string Top = TopDiameter; 45 string TopStrleft = (Top.substr(0, Top.find("=")));//提取左值 46 string TopStrright = (Top.substr(Top.find("=") + 1, Top.find(" ")));//提取右值 47 48 string Hei = Height1; 49 string HeiStrleft = (Hei.substr(0, Hei.find("=")));//提取左值 50 string HeiStrright = (Hei.substr(Hei.find("=") + 1, Hei.find(" ")));//提取右值 51 52 string Hal = HalfAngle; 53 string HalStrleft = (Hal.substr(0, Hal.find("=")));//提取左值 54 string HalStrright = (Hal.substr(Hal.find("=") + 1, Hal.find(" ")));//提取右值 55 56 char BaseBufLeft[256], BaseBufRight[256];//左值,右值 57 char TopBufLeft[256], TopBufRight[256];//左值,右值 58 char HeiBufLeft[256], HeiBufRight[256];//左值,右值 59 char HalBufLeft[256], HalBufRight[256];//左值,右值 60 61 //将string类型转换为字符数组 62 strcpy(BaseBufRight, BaseStrright.c_str()); 63 strcpy(TopBufRight, TopStrright.c_str()); 64 strcpy(HeiBufRight, HeiStrright.c_str()); 65 strcpy(HalBufRight, HalStrright.c_str()); 66 67 //打印右值 68 UF_UI_write_listing_window(" "); 69 UF_UI_write_listing_window(" "); 70 UF_UI_write_listing_window(BaseBufRight); 71 UF_UI_write_listing_window(" "); 72 UF_UI_write_listing_window(TopBufRight); 73 UF_UI_write_listing_window(" "); 74 UF_UI_write_listing_window(HeiBufRight); 75 UF_UI_write_listing_window(" "); 76 UF_UI_write_listing_window(HalBufRight); 77 78 //释放内存 79 UF_free(BaseDiameter); 80 UF_free(TopDiameter); 81 UF_free(Height1); 82 UF_free(HalfAngle); 83 84 85 UF_terminate();