UG爱好者

标题: 纯grip选择面返回实体 [打印本页]

作者: 15757753770    时间: 2015-11-21 14:41
标题: 纯grip选择面返回实体
纯grip选择面返回实体

uf有函数 grip没函数但是他可以做到 纯grip选择面返回实体
面  获取实体函数  UF_MODL_ask_face_body
边缘获取实体函数  UF_MODL_ask_edge_body


grip也可以 根据  实体 边缘 或面返回 实体 (纯grip) 这个比选面返回边缘简单一点

主要是你们可以参考思路
先看这个帖子 在看  纯grip 获得平面 最外边缘

如下 代码 grip 选择对象面返回 实体
Gripsw / Declrv
Entity / Obj,Pt(2),B(10000),F,Box
Number / Resp,Num(3),N,U,V,I

L10:
    Mask/71
     Ident/'梅雷提示!请选择目标面',F,Resp
    Jump/L10:,End:,,,Resp

$$ 获得面边缘上的一个点(这个点一定在面边缘)
Pt(2) = Solent/F,Edge,1,Iferr,Err:
B=Soledg/Pt(2),Cnt,N,Iferr,Err:
Num(1..3)=&Spoint(B(1))
Pt(1)=Point/Num(1..3)
Delete/B(1..N)

$$ 循环所有实体,判断点是否在实体表面
$$ 如果点在实体表面 ,循环这个实体上所有面
$$ 如果你选择的面在实体上就返回 Box
Mask/70
Inexte/All  
Loop1:
Obj=Nexte/Ifend,Loop2:
N = Encont/Pt(1),Obj,Iferr,Loop1:
Ifthen/N ==3
B = Solent/Obj,Face,All,Iferr,Loop1:
N=&Soldat(Obj,Face,Iferr,Loop1:)
Do/Loop3:,I,1,N
Ifthen/B(I)==F
Box=Obj
Jump/Loop2:
Endif
Loop3:
Endif
Jump/Loop1:
Loop2:
Ifthen/Box==&Nulent
Messg/'你选择的对象是个片体'
delete/Pt(1)
Halt
Endif
delete/Pt(1)

&Color(Box)=1 $$给面上颜色

End:
Halt



Err:
Messg/'无效的表面'
Halt


作者: kobeyzj08    时间: 2015-11-21 14:53
正想学习,现在还看不明白。支持一下。
作者: 黯柠檬    时间: 2020-9-2 09:44
Inexte  Solent等很多函数不知道功能、参数、用法,怎么查,grip有查这些的工具手册吗
作者: qqq19303    时间: 2024-3-3 18:48
正想学习,现在还看不明白。支持一下。




欢迎光临 UG爱好者 (https://www.ugsnx.com/) Powered by Discuz! X3.2