0
点赞
收藏
分享

微信扫一扫

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


获取所有圆柱面

简介

我们以一个获取所有圆柱面的例子来说明如何获取某一类型的曲面。圆柱面是比较典型的曲面,比如倒圆曲面就是圆柱面,如果想删除自动识别倒圆曲面并删除这个曲面,则必须要识别出圆柱面。我们设计一个小界面,按钮“获取所有圆柱面”执行遍历所有圆柱面的代码,如下图所示。

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

识别曲面类型代码

在按钮的响应中,添加如下代码:

List<Face> cylinderFaceList = new List<Face>();  //定义圆柱面的链表,并初始化
BodyCollection bodyCollection = workPart.Bodies; //获得工作部件的体集合
Body[] bodies = bodyCollection.ToArray(); //将体集合转换为体数组
//对每个体进行遍历操作
foreach(var bd in bodies)
{
//获得体的所有曲面
Face[] faces = bd.GetFaces();
//对买个面进行遍历操作
foreach(var fc in faces)
{
//判断这个面是不是圆柱面
if(fc.SolidFaceType==Face.FaceType.Cylindrical)
{
//将圆柱面存储在链表中
cylinderFaceList.Add(fc);
}
}
}
//输出圆柱面的个数
MessageBox.Show("圆柱面的个数为:" + cylinderFaceList.Count.ToString());

生成dll,并运行程序,对于UG NX视图区的模型(如下图所示):

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

点击“识别所有圆柱面”按钮,则识别结果如下:

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



举报

相关推荐

0 条评论