NX二次开发(C#)-建模-参数化模型自动修改
Posted NX二次开发专注者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NX二次开发(C#)-建模-参数化模型自动修改相关的知识,希望对你有一定的参考价值。
前言
UG NX提供了参数化建模的工具,单个修改参数后模型随着参数的变化而更新,本文介绍参数化模型自动修改的二次开发程序。
一、参数化模型示例
在NX中,参数化主要通过表达式来实现,如下图所示。通过“工具”->“表达式”来查看表达式。在本示例中设置了三个参数,分别为:
Length = 100
Width = 200
Height= 50
在NX图形区,选择“菜单”->“插入”->“块”,用这三个参数建立参数化的块模型。
通过修改“工具”->"表达式"->“Height” 参数,修改为Height = 500,则点击“确定”后,模型自动更新为新参数的块模型。
以上过程就是一个参数化建模过程。
二、NX二次开发自动修改参数化模型
1.建立参数化模型自动修改的UIStyler
如下图所示,保存为C#格式,生成.dlx 和.cs文件
2.建立参数化自动修改工程并添加代码
Part workPart = theSession.Parts.Work;
ExpressionCollection expressionCollection = workPart.Expressions;
Expression[] expressions = expressionCollection.ToArray();
foreach(var ex in expressions)
{
if(ex.Name=="Length")
{
ex.Value = _LengthExpression.Value;
}
else if(ex.Name=="Width")
{
ex.Value = _WidthExpression.Value;
}
else if(ex.Name=="Height")
{
ex.Value = _HeightExpression.Value;
}
}
NXOpen.UF.UFSession theUFSession = NXOpen.UF.UFSession.GetUFSession();
NXOpen.UF.UFModl uFModl = theUFSession.Modl;
uFModl.Update();
3.生成dll,并加载在NX菜单中,点击调用
4.点击“更新”按钮,生成新的模型
总结
采用NX二次开发对参数化模型进行自动修改时,要寻找到对应的表达式名称,然后修改表达式的值就可以了。
以上是关于NX二次开发(C#)-建模-参数化模型自动修改的主要内容,如果未能解决你的问题,请参考以下文章
UG NX二次开发(C#)-建模-根据零部件名称获得模型文件所在目录
UG NX二次开发(C#)--建模--识别曲面类型(圆柱面)