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#)-建模-通过起始点终止点圆弧半径创建圆弧
UG NX二次开发(C#)-建模-创建填充曲面(CreateFillHoleBuilder)