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#)-建模-根据零部件名称获得模型文件所在目录

UG NX二次开发(C#)--建模--识别曲面类型(圆柱面)

UG NX二次开发(C#)--建模--识别曲面类型(圆柱面)

UG NX二次开发(C#)-建模-拔模功能

UG NX二次开发(C#)-建模-拔模功能