ug二次开发,grip获取圆柱面直径的函数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ug二次开发,grip获取圆柱面直径的函数?相关的知识,希望对你有一定的参考价值。
ug二次开发,grip获取圆柱面直径的函数?ug二次开发,grip获取圆柱面直径的函数?
参考技术A Entity / Obj,Obj1,Objs(100)Number / resp,n,tp,i,pVec(3),直径
L10:
Mask / 71 $$面
Ident / '三角猫网络提示你,请选择圆柱面:',Obj,resp
Jump / L10:,End:,,,resp
n = &Soldat(Obj,Edge,Iferr,End:) $$ 返回面的数量
pVec = Snorf(Obj,0.5,0.5) $$ 获取面的矢量方向
Objs = Soledg / Obj,cnt,n,Iferr,End: $$
Do / Loop1:,i,1,n
tp = &Type(Objs(i))
Ifthen / tp == 3
Delete / Objs(i)
Elseif / tp == 5
直径=&radius(Objs(i))
Endif
Loop1:
print/'这个圆柱面的直径是 '+istr(sl) +' mm'
print/'Powered by sjm'
print/'sjmwl@foxmail.com'
End:
Halt 参考技术B 楼主,你好,你的这个问题解决了吗?我也是在偏置曲面的时候用的这个函数,发现不是生成一个面,而是将原来的连成一个体了。谢谢啦,我在做本科毕业设计。查看原帖>>
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二次开发,grip获取圆柱面直径的函数?的主要内容,如果未能解决你的问题,请参考以下文章
UG GRIP 二次开发,谁帮我调试一下,谢谢,下面代码出错了
UG NX二次开发(C#)-建模-获取圆柱面信息(轴向半径深度)