NX二次开发-UFUN获取圆锥参数UF_MODL_ask_cone_parms

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二次开发-数据类型结构及类型转换博客目录【持续更新】 点击进入目录
NX二次开发-UFUN API函数例子博客目录【持续更新】 点击进入目录
NX二次开发-Block UI控件的获取例子博客目录【持续更新】 点击进入目录
NX二次开发-算法应用博客目录【持续更新】 点击进入目录

猜你喜欢

转载自blog.csdn.net/lu1287580078/article/details/84962328