//用户代码
#include <uf_defs.h>
#include <NXOpen/NXException.hxx>
#include <NXOpen/Session.hxx>
#include <NXOpen/BasePart.hxx>
#include <NXOpen/Expression.hxx>
#include <NXOpen/ExpressionCollection.hxx>
#include <NXOpen/Part.hxx>
#include <NXOpen/PartCollection.hxx>
#include <NXOpen/Preferences_SessionModeling.hxx>
#include <NXOpen/Preferences_SessionPreferences.hxx>
#include <NXOpen/Session.hxx>
#include <NXOpen/Unit.hxx>
#include <NXOpen/UnitCollection.hxx>
#include <NXOpen/Update.hxx>
#include <NXOpen/ExpressionGroup.hxx>
#include <NXOpen/ExpressionGroupCollection.hxx>

void MyClass::do_it()
{

// TODO: add your code here

//用户代码

//遍历工作部件表达式
ExpressionCollection* Expressions = workPart->Expressions();
ExpressionCollection::iterator Exp_All;
char Char_Exp_Val_double[256];
for (Exp_All = Expressions->begin(); Exp_All != Expressions->end(); ++Exp_All)
{
Expression* Exp1 = dynamic_cast<Expression*> (* Exp_All);
NXString Exp_Name1 = Exp1->Name();//获取表达式名字
NXString Exp_Type = Exp1->Type();//获取表达式类型
theSession->ListingWindow()->Open();
//theSession->ListingWindow()->WriteLine(Exp_Name1 + "表达式类型:" + Exp_Type );

//std::vector<string> Exp_Sring1;
if (strcmp(Exp_Type.GetLocaleText(), "String") == 0)
{
theSession->ListingWindow()->WriteLine("字符串表达式:" + Exp_Name1 + " = " );
}
else if (strcmp(Exp_Type.GetLocaleText(), "Number") == 0)
{
double Exp_Val_double = Exp1->Value();
sprintf(Char_Exp_Val_double, "%.2f", Exp_Val_double);
theSession->ListingWindow()->WriteLine("数量表达式:" + Exp_Name1 + " = " + Char_Exp_Val_double);
}

}

}

NXOpen遍历工作部件表达式的更多相关文章

  1. NX二次开发-遍历当前part所有component,把装配子部件设置成工作部件

    NX11+VS2013 #include <uf.h> #include <uf_disp.h> #include <uf_modl.h> #include < ...

  2. POI教程之第二讲:创建一个时间格式的单元格,处理不同内容格式的单元格,遍历工作簿的行和列并获取单元格内容,文本提取

    第二讲 1.创建一个时间格式的单元格 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 Sheet sheet=wb.createSheet("第一个 ...

  3. NX二次开发-UFUN输入Part的TAG,获取整个部件表达式的TAG和表达式个数UF_MODL_ask_exps_of_part

    NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_part.h> UF_initialize ...

  4. 【NX二次开发】按层查找工作部件中的对象 UF_LAYER_cycle_by_layer

    第一次调用 :返回第一个启用层中的第一个对象. 第二次调用 :返回下一个已启用层中的下一个对象. 最后一次调用:当所有对象都被耗尽时,将返回object_tag = NULL_TAG. 在循环数据库时 ...

  5. QHBoxLayout 、QFormLayout 遍历子部件,查找QLineEdit控件

    布局如下: QLineEdit * edit1 = new QLineEdit; QLineEdit * edit2 = new QLineEdit; QLineEdit * edit3 = new ...

  6. C# 表达式树遍历(二)

    一.前言 上一篇我们对表达式树有了初步的认识,这里我们将对表达式树进行遍历,只有弄清楚了他的运行原理,我们才可以对他进行定制化修改. 表达式系列目录 C# 表达式树讲解(一) C# 表达式树遍历(二) ...

  7. 【NX二次开发】UF_CSYS_map_point()函数,绝对坐标,工作坐标,部件之间坐标转换。

    UF_CSYS_map_point用来变换点的坐标,比较简单且实用.例如工作坐标系与绝对坐标系转换,一个部件的坐标与另一个部件坐标系之间的转换.下面的例子是在三个坐标下创建三个点相对坐标为{10,50 ...

  8. C#实现创建、编辑NX表达式

    在NX8.5中使用C#编辑表达式中有个坑,part.Expressions.Edit该方法鲁棒性很差,当表达式有错时也能编辑成功(手动在NX中增加错误表达式会有弹框,无法创建,而该方法却可以,疑是bu ...

  9. ASP.NET Core中使用表达式树创建URL

    当我们在ASP.NET Core中生成一个action的url会这样写: var url=_urlHelper.Action("Index", "Home"); ...

  10. NX二次开发-NXOpen::WCS Class Reference

    NX11+VS2013 #include <NXOpen/Part.hxx> #include <NXOpen/PartCollection.hxx> #include < ...

随机推荐

  1. mybatis获取参数值的方式

     示例: 总结:  

  2. sql server 检测是否更新并输出更新的数据

    create table dbo.test1 (id int,name varchar(10))create table dbo.test2 (id int) insert into dbo.test ...

  3. Required request part 'file' is not present

    问题描述: @RequestMapping(value = "upload", method = RequestMethod.POST,consumes = MediaType.M ...

  4. liveview能设定开机最小化到托盘吗 对liveview 3.5.2的建议

    liveview能设定开机最小化到托盘吗?[建议]      能不能添加上面的功能,最好能开机自动录制       目前我的版本是3.5.2   建议增加功能   1.开机最化到托盘   2.开机自动 ...

  5. IDEA配置新学

    文件太大导致IDEA不把该文件当成Java类看待 解决方式: 打开本地IDEA的bin目录,找到idea.properties文件,进入进行设置: idea.max.intellisense.file ...

  6. vmware workstation 16.x安装windows server 2012 R2无法点击安装vmware tools选项

    在使用vmware workstation预设安装windows server 2012 R2后,提示需要先升级KBxxxxx更新才可以安装vmware tools,但是在安装了所需的更新后,发现菜单 ...

  7. Flutter 新建项目

    一.打开VSCode,点击侧边栏扩展按钮,搜索flutter,安装Flutter和Dart 二.按command+shift+P,输入flutter,选择Flutter:New project,新建项 ...

  8. ORA-00972: identifier is too long异常处理

    环境:由于数据库更换,做数据同步,提示 too long 问题,导致一直无法同步完数据. 经排查 oracle 历史数据库版本: Oracle Database 12c Standard Editio ...

  9. 20200925--矩阵加法(奥赛一本通P93 6 多维数组)

    输入两个n行m列的矩阵A和B,输出它们的和A+B 输入: 第1行包含两个整数n和m(1<=n<=100,1<=m<=100),表示矩阵的行数和列数. 接下来n行,每行m个整数, ...

  10. LSP原则中的逆变和协变

    在复习过程中,LSP原则是个很重要的内容.这里先给出LSP原则的定义. LSP定义Functions that use pointers or referrnces to base classes m ...