NX11+VS2013

 #include <uf.h>
#include <uf_modl.h>
#include <uf_part.h>
#include <uf_ui.h>
#include <NXOpen/ExpressionGroup.hxx>
#include <NXOpen/ExpressionGroupCollection.hxx>
#include <NXOpen/NXObjectManager.hxx>
#include <NXOpen/Unit.hxx>
#include <NXOpen/UnitCollection.hxx>
#include <NXOpen/Update.hxx>
#include <uf_group.h> UF_initialize(); int number_of_exps = ;
tag_t * expsTag = NULL_TAG;
UF_MODL_ask_exps_of_part(UF_PART_ask_display_part(), &number_of_exps, &expsTag); if (number_of_exps == )
{
//创建表达式
tag_t DCTag = NULL_TAG;
UF_MODL_create_exp_tag("DC=20", &DCTag);
NXOpen::Expression *expressionDC(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(DCTag)));
expressionDC->EditComment("工作直径"); tag_t DMMTag = NULL_TAG;
UF_MODL_create_exp_tag("DMM=20", &DMMTag);
NXOpen::Expression *expressionDMM(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(DMMTag)));
expressionDMM->EditComment("柄部直径"); tag_t DNTag = NULL_TAG;
UF_MODL_create_exp_tag("DN=19", &DNTag);
NXOpen::Expression *expressionDN(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(DNTag)));
expressionDN->EditComment("颈部直径"); tag_t OALTag = NULL_TAG;
UF_MODL_create_exp_tag("OAL=100", &OALTag);
NXOpen::Expression *expressionOAL(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(OALTag)));
expressionOAL->EditComment("刀具总长"); tag_t LFTag = NULL_TAG;
UF_MODL_create_exp_tag("LF=100", &LFTag);
NXOpen::Expression *expressionLF(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(LFTag)));
expressionLF->EditComment("刀具高度"); tag_t LUTag = NULL_TAG;
UF_MODL_create_exp_tag("LU=30", &LUTag);
NXOpen::Expression *expressionLU(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(LUTag)));
expressionLU->EditComment("工作长度"); tag_t LCFTag = NULL_TAG;
UF_MODL_create_exp_tag("LCF=40", &LCFTag);
NXOpen::Expression *expressionLCF(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(LCFTag)));
expressionLCF->EditComment("槽长"); tag_t SGATag = NULL_TAG;
UF_MODL_create_exp_tag("SGA=120", &SGATag);
NXOpen::Expression *expressionSGA(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(SGATag)));
expressionSGA->EditComment("角度"); tag_t WFTag = NULL_TAG;
UF_MODL_create_exp_tag("WF=20", &WFTag);
NXOpen::Expression *expressionWF(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(WFTag)));
expressionWF->EditComment("工作宽度"); tag_t CDXITag = NULL_TAG;
UF_MODL_create_exp_tag("CDXI=10", &CDXITag);
NXOpen::Expression *expressionCDXI(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(CDXITag)));
expressionCDXI->EditComment("切削长度"); tag_t CWTag = NULL_TAG;
UF_MODL_create_exp_tag("CW=3", &CWTag);
NXOpen::Expression *expressionCW(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(CWTag)));
expressionCW->EditComment("切削宽度"); //添加到vector
std::vector<NXOpen::Expression*> Exp1;
Exp1.push_back(expressionDC);
Exp1.push_back(expressionDMM);
Exp1.push_back(expressionDN);
Exp1.push_back(expressionOAL);
Exp1.push_back(expressionLF);
Exp1.push_back(expressionLU);
Exp1.push_back(expressionLCF);
Exp1.push_back(expressionSGA);
Exp1.push_back(expressionWF);
Exp1.push_back(expressionCDXI);
Exp1.push_back(expressionCW); //创建表达式组
NXOpen::ExpressionGroup *expressionGroup1;
expressionGroup1 = workPart->ExpressionGroups()->Create("刀杆参数");
expressionGroup1->SetExpressions(Exp1); //创建表达式
NXOpen::Expression *expressiondp_scpe;
expressiondp_scpe = workPart->Expressions()->CreateExpression("String", "dp_scpe=\"A\"");
expressiondp_scpe->EditComment("刀片规格"); tag_t W1Tag = NULL_TAG;
UF_MODL_create_exp_tag("W1=0", &W1Tag);
NXOpen::Expression *expressionW1(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(W1Tag)));
expressionW1->EditComment("刀片内切圆"); tag_t S1Tag = NULL_TAG;
UF_MODL_create_exp_tag("S1=0", &S1Tag);
NXOpen::Expression *expressionS1(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(S1Tag)));
expressionS1->EditComment("刀片厚度"); //添加到vector
std::vector<NXOpen::Expression*> Exp2;
Exp2.push_back(expressionW1);
Exp2.push_back(expressionS1);
Exp2.push_back(expressiondp_scpe); //创建表达式组
NXOpen::ExpressionGroup *expressionGroup2;
expressionGroup2 = workPart->ExpressionGroups()->Create("刀片参数");
expressionGroup2->SetExpressions(Exp2); //创建表达式
tag_t A1Tag = NULL_TAG;
UF_MODL_create_exp_tag("A1=SIN(30)", &A1Tag);
NXOpen::Expression *expressionA1(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(A1Tag))); tag_t A2Tag = NULL_TAG;
UF_MODL_create_exp_tag("A2=COS(30)", &A2Tag);
NXOpen::Expression *expressionA2(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(A2Tag))); tag_t A3Tag = NULL_TAG;
UF_MODL_create_exp_tag("A3=TAN(30)", &A3Tag);
NXOpen::Expression *expressionA3(dynamic_cast<NXOpen::Expression *>(NXOpen::NXObjectManager::Get(A3Tag))); //添加到vector
std::vector<NXOpen::Expression*> Exp3;
Exp3.push_back(expressionA1);
Exp3.push_back(expressionA2);
Exp3.push_back(expressionA3); //创建表达式组
NXOpen::ExpressionGroup *expressionGroup3;
expressionGroup3 = workPart->ExpressionGroups()->Create("计算参数");
expressionGroup3->SetExpressions(Exp3); //创建表达式
NXOpen::Expression *expressionh_type;
expressionh_type = workPart->Expressions()->CreateExpression("String", "h_type=\"weldon\"");
expressionh_type->EditComment("柄部规格"); NXOpen::Unit *nullNXOpen_Unit(NULL);
NXOpen::Expression *expressionA4;
expressionA4 = workPart->Expressions()->CreateWithUnits("A4=if(h_type==\"weldon\") 1 else 0", nullNXOpen_Unit); //添加到vector
std::vector<NXOpen::Expression*> Exp4;
Exp4.push_back(expressionh_type);
Exp4.push_back(expressionA4); NXOpen::ExpressionGroup *expressionGroup4;
expressionGroup4 = workPart->ExpressionGroups()->Create("表达式抑制");
expressionGroup4->SetExpressions(Exp4); } else
{
uc1601("当前part已存在表达式,此命令不能使用", );
} UF_free(expsTag); UF_terminate();

NX二次开发-NX11创建表达式组NXOpen::ExpressionGroup的更多相关文章

  1. NX二次开发-UFUN创建表达式UF_MODL_create_exp无TAG

    NX9+VS2012 #include <uf.h> #include <uf_modl.h> UF_initialize(); //创建一个新的表达式,无TAG UF_MOD ...

  2. NX二次开发-UFUN创建表达式UF_MODL_create_exp_tag有TAG

    NX9+VS2012 #include <uf.h> #include <uf_modl.h> UF_initialize(); //创建一个新的表达式,无TAG UF_MOD ...

  3. NX二次开发-UFUN导入表达式UF_MODL_import_exp

    最近在做表达式创建,发现UFUN的创建表达式函数UF_MODL_create_exp,UF_MODL_create_exp_tag没有办法创建字符串类型的表达式,例如AA="BB" ...

  4. NX二次开发-UFUN输入表达式TAG,得到表达式字符串UF_MODL_ask_exp_tag_string

    NX9+VS2012 #include <uf.h> #include <uf_modl.h> UF_initialize(); //创建表达式 tag_t NewExpTag ...

  5. NX二次开发-UFUN输入表达式TAG,得到表达式值UF_MODL_ask_exp_tag_value

    NX9+VS2012 #include <uf.h> #include <uf_modl.h> UF_initialize(); //创建表达式 tag_t NewExpTag ...

  6. NX二次开发-UFUN创建圆柱UF_MODL_create_cyl1

    NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_obj.h> #include <u ...

  7. NX二次开发-UFUN创建球UF_MODL_create_sphere1

    NX11+VS2013 #include <uf.h> #include <uf_modl.h> UF_initialize(); //创建球 UF_FEATURE_SIGN ...

  8. NX二次开发-UFUN创建圆锥UF_MODL_create_cone1

    NX11+VS2013 #include <uf.h> #include <uf_modl.h> UF_initialize(); //创建圆锥 UF_FEATURE_SIGN ...

  9. NX二次开发-UFUN创建镜像体UF_MODL_create_mirror_body

    NX11+VS2013 #include <uf.h> #include <uf_modl.h> UF_initialize(); //创建块 UF_FEATURE_SIGN ...

随机推荐

  1. 深入理解Magento – 第四章 – 模型和ORM基础

    深入理解Magento 作者:Alan Storm 翻译:Hailong Zhang 第四章 – 模型和ORM基础 对于任何一个MVC架构,模型(Model)层的实现都是占据了很大一部分.对于Mage ...

  2. 使用springBoot和mybatis整合时出现如下错误:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)解决方案

    在pom.xml文件中添加如下: <build>        <resources>            <resource>                & ...

  3. RRT路径规划算法(matlab实现)

    基于快速扩展随机树(RRT / rapidly exploring random tree)的路径规划算法,通过对状态空间中的采样点进行碰撞检测,避免了对空间的建模,能够有效地解决高维空间和复杂约束的 ...

  4. idea 中使用dataBase插件

    最近一段时间重新开始学习Java 使用IntelliJ 发现有个链接数据库插件挺好用的,并且反应速度还挺快的记录下. 点击步骤:View → Tool Windows → data 进行数据库链接 发 ...

  5. Linux网卡驱动(4)—DM9000网卡驱动程序完全分析

    1.硬件连接 mini2440开发板上DM9000的电气连接和mach-mini2440.c文件的关系 其中片选信号AEN使用了nGCS4,所以网卡的内存区域在BANK4,也就是从地址0x200000 ...

  6. 微信小程序 在使用wx.request时显示加载中

    微信小程序中,向后台请求数据是,通常想给用户提示正在加载中,如下图: 我们可以用wx.showLoading(OBJECT),当请求服务器的地方多了,怎么才能不每次都要去调用函数,我们只要对wx.re ...

  7. Elasticsearch介绍和安装与使用

    转载:https://blog.csdn.net/weixin_42633131/article/details/82902812 1.Elasticsearch介绍和安装 1.1.简介1.1.1.E ...

  8. 4.2 react patterns(转)

    修改 Props Immutable data representation 确定性 在 getInitialState 中使用 props 私有状态和全局事件 render 包含 side effe ...

  9. 10. Tasks and functions

    Frm: IEEE Std 1364™-2001, IEEE Standard Verilog® Hardware Description Language 10. Tasks and functio ...

  10. PAT_A1083#List Grades

    Source: PAT A1083 List Grades (25 分) Description: Given a list of N student records with name, ID an ...