三级士官
UID2543213
U币1
G币545
技术0
主题5
精华0
阅读权限50
注册时间2015-12-18
最后登录2021-4-11
在线时间32 小时
三级士官
|
1,采用文本文件存储零件的参数;
2,选择相应的规格,自动填写参数
3,难点在于 读取零件的参数;
主要代码1:分割字符串
UF_initialize ();
//获取NX安装路径
char *translation;
UF_translate_variable("UGII_BASE_DIR", &translation);
//电子表格模板路径
string BaseDIR1 = translation;
string BaseDIR2 = "\\SYTool\\data\\tlm.dat";
string basePath = BaseDIR1+BaseDIR2;
//打开数据库
int weinjian = uc4504( basePath.c_str(), 1, 87);
//读数据
char *outdata;
int data1 = uc4514a(weinjian, &outdata);
while (data1>0)
{
string str1 = outdata;
guige.push_back(str1.substr(0,4)); //读取规格
DS.push_back(str1.substr(str1.find("M")+1, 6)); //读取M
LS.push_back(str1.substr(str1.find("L")+1, 6)); //读取L
HS.push_back(str1.substr(str1.find("H")+1, 6)); //读取H
BS.push_back(str1.substr(str1.find("B")+1, 6)); //读取B
HLS.push_back(str1.substr(str1.find("h")+1, 6));//读取H1
CS.push_back(str1.substr(str1.find("C")+1, 6)); //读取C
data1 = uc4514a(weinjian, &outdata);
}
//设置默认
string00->SetValue(guige[0]);
string00->SetListItems(guige);
string05->SetValue(DS[0]);
string0->SetValue(LS[0]);
string01->SetValue(HS[0]);
string03->SetValue(BS[0]);
string02->SetValue(HLS[0]);
string04->SetValue(CS[0]);
//关闭文件
uc4540(weinjian, 0);
UF_free(outdata);
UF_terminate ();
主要代码2: 更新
//获得规格的数量
vector<NXString>nums = string00->GetListItems();
//获得当前规格的值
NXString str_p = string00->Value();
for (int i = 0; i < nums.size(); i++)
{
//比较选择的值 和 数组中那个值相等,
if (!strcmp(nums[i].GetLocaleText(),str_p.GetLocaleText()))
{
string05->SetValue(DS[i]);
string0->SetValue(LS[i]);
string01->SetValue(HS[i]);
string03->SetValue(BS[i]);
string02->SetValue(HLS[i]);
string04->SetValue(CS[i]);
}
}
|
评分
-
查看全部评分
|