1. 程式人生 > >NX二次開發-UFUN獲取圓錐引數UF_MODL_ask_cone_parms

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二次開發-演算法應用部落格目錄【持續更新】 點選進入目錄