NX11+VS2013
#include <uf.h>
#include <uf_modl.h>
#include <uf_ui.h>
UF_initialize();
//创建圆锥
UF_FEATURE_SIGN Sign = UF_NULLSIGN;//设置布尔
double Origin[3] = { 0.0, 0.0, 0.0 };//原点
char *Height = "100";//高度
char *Diam[2] = { "50", "20" };//顶部直径,底部直径
double Dirction[3] = { 0.0, 0.0, 1.0 };//矢量方向
tag_t ConeTag = NULL_TAG;
UF_MODL_create_cone1(Sign, Origin, Height, Diam, Dirction, &ConeTag);
//获取圆锥参数
char *BaseDiameter;//输出底部直径
char *TopDiameter;//输出顶部直径
char *Height1;//输出高度
char *HalfAngle;//输出锥角
UF_MODL_ask_cone_parms(ConeTag, 1, &BaseDiameter, &TopDiameter, &Height1, &HalfAngle);
//打印
//默认输出格式为表达式等号左右值
UF_UI_open_listing_window();
UF_UI_write_listing_window(BaseDiameter);
UF_UI_write_listing_window("\n");
UF_UI_write_listing_window(TopDiameter);
UF_UI_write_listing_window("\n");
UF_UI_write_listing_window(Height1);
UF_UI_write_listing_window("\n");
UF_UI_write_listing_window(HalfAngle);
//只输出表达式等号右值
//提取左右值
string Base = BaseDiameter;
string BaseStrleft = (Base.substr(0, Base.find("=")));//提取左值
string BaseStrright = (Base.substr(Base.find("=") + 1, Base.find(" ")));//提取右值
string Top = TopDiameter;
string TopStrleft = (Top.substr(0, Top.find("=")));//提取左值
string TopStrright = (Top.substr(Top.find("=") + 1, Top.find(" ")));//提取右值
string Hei = Height1;
string HeiStrleft = (Hei.substr(0, Hei.find("=")));//提取左值
string HeiStrright = (Hei.substr(Hei.find("=") + 1, Hei.find(" ")));//提取右值
string Hal = HalfAngle;
string HalStrleft = (Hal.substr(0, Hal.find("=")));//提取左值
string HalStrright = (Hal.substr(Hal.find("=") + 1, Hal.find(" ")));//提取右值
char BaseBufLeft[256], BaseBufRight[256];//左值,右值
char TopBufLeft[256], TopBufRight[256];//左值,右值
char HeiBufLeft[256], HeiBufRight[256];//左值,右值
char HalBufLeft[256], HalBufRight[256];//左值,右值
//将string类型转换为字符数组
strcpy(BaseBufRight, BaseStrright.c_str());
strcpy(TopBufRight, TopStrright.c_str());
strcpy(HeiBufRight, HeiStrright.c_str());
strcpy(HalBufRight, HalStrright.c_str());
//打印右值
UF_UI_write_listing_window("\n");
UF_UI_write_listing_window("\n");
UF_UI_write_listing_window(BaseBufRight);
UF_UI_write_listing_window("\n");
UF_UI_write_listing_window(TopBufRight);
UF_UI_write_listing_window("\n");
UF_UI_write_listing_window(HeiBufRight);
UF_UI_write_listing_window("\n");
UF_UI_write_listing_window(HalBufRight);
//释放内存
UF_free(BaseDiameter);
UF_free(TopDiameter);
UF_free(Height1);
UF_free(HalfAngle);
UF_terminate();
Caesar卢尚宇 [email protected]
2018年12月11日
NX二次开发技术专栏
更多NX二次开发内容
NX二次开发-数据类型结构及类型转换博客目录【持续更新】 |
点击进入目录 |
NX二次开发-UFUN API函数例子博客目录【持续更新】 |
点击进入目录 |
NX二次开发-Block UI控件的获取例子博客目录【持续更新】 |
点击进入目录 |
NX二次开发-算法应用博客目录【持续更新】 |
点击进入目录 |