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#)-建模-获取圆柱面信息(轴向半径深度)

ug二次开发怎么用?

NX4.0的撤销恢复功能基于UG/OPEN GRIP二次开发实现的代码

UG二次开发UG层中部件获取函数

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