NX二次开发(C#)-建模-圆弧边对象转化为圆弧对象

Posted NX二次开发专注者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NX二次开发(C#)-建模-圆弧边对象转化为圆弧对象相关的知识,希望对你有一定的参考价值。

前言

在UG NX二次开发中,边是一个对象,属于NXObject类,Arc也是NXObject的一个对象,但是二者不能直接的转化。在某些应用场合,采用Arc对象可以直接获取圆心、半径等属性值,如果用Edge来实现,则要经过一系列的计算才能得到,如果采用Arc对象就能直接读取其对应的值,比较简单快捷。本文介绍下UG NX二次开发下圆弧边转化为Arc的实现过程。


一、通过UI Styler制作一个小界面

通过UI Styler块编辑器制作一个小的界面,如下图所示。选择曲线就是选择边对象,如果边对象是圆弧类型的,则读取其半径值、圆心、起始角度和终止角度。我们不再这个界面上显示读取的信息,而是采用listwindow来显示读取的值。

二、制作一个SingleFunction工程

1.保存对话框

以C#代码形式保存对话框,生成singleFunction.dlx和singleFunction.cs文件。

2.新建一个singleFunction工程

在VS2017中,按照NX OPEN模板制作一个singleFunction工程,将singleFunction.cs文件加载到功能中。

3.添加代码

在edge_select0中添加下面的代码;首先判断是否选择;然后判断是否是圆弧边;然后输入圆弧的圆心、半径、起始角和终止角。

 if (block == edge_select0)
                {
                    //---------Enter your code here-----------
                    TaggedObject[] taggedObjects = edge_select0.GetSelectedObjects();
                    if(taggedObjects.Length==0)
                    {
                        return 0;
                    }
                    Edge edge = (Edge)taggedObjects[0];
                    if(edge.SolidEdgeType==Edge.EdgeType.Circular)
                    {
                        Section section = workPart.Sections.CreateSection(edge);
                        Arc arc = (Arc)workPart.Curves.CreateSmartCompositeCurve(section, SmartObject.UpdateOption.WithinModeling,0.001);
                        theUFUi.OpenListingWindow();
                        theUFUi.WriteListingWindow("================================================ + \\n");
                        theUFUi.WriteListingWindow("圆弧圆心:" + arc.CenterPoint.ToString() + "\\n");
                        theUFUi.WriteListingWindow("圆弧半径:" + arc.Radius.ToString() + "\\n");
                        theUFUi.WriteListingWindow("圆弧起始角度:"+arc.StartAngle.ToString() + "\\n");
                        theUFUi.WriteListingWindow("圆弧终止角度:" + arc.EndAngle.ToString() + "\\n");                       
                    }
                }

然后生成dll,加载在插件中。

其实现的效果如下图所示:

以上是关于NX二次开发(C#)-建模-圆弧边对象转化为圆弧对象的主要内容,如果未能解决你的问题,请参考以下文章

NX二次开发(C#)-建模-通过起始点终止点圆弧半径创建圆弧

NX二次开发(C#)-建模-三点创建圆弧曲线

UG NX二次开发(C#)-建模-创建填充曲面(CreateFillHoleBuilder)

NX二次开发-UFUN三点创建圆弧UF_CURVE_create_arc_thru_3pts

NX二次开发(Python)-建模-遍历模型中的体面边对象

3ObjectARX开发创建直线圆圆弧和修改对象属性