QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

查看: 4871|回复: 3
打印 上一主题 下一主题

[原创] 纯grip选择面返回实体

[复制链接]

少尉

Rank: 5Rank: 5

51

主题

75

帖子

2258

积分
跳转到指定楼层
楼主
发表于 2015-11-21 14:41:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
纯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

版权声明  
本人声明此帖为本人原创帖,未经允许,不得转载!

有奖推广贴子: 

回复

使用道具 举报

少尉

Rank: 5Rank: 5

0

主题

317

帖子

2204

积分
沙发
发表于 2015-11-21 14:53:31 | 只看该作者
正想学习,现在还看不明白。支持一下。
回复 支持 反对

使用道具 举报

三级士官

Rank: 3Rank: 3

0

主题

15

帖子

537

积分
板凳
发表于 2020-9-2 09:44:58 | 只看该作者
Inexte  Solent等很多函数不知道功能、参数、用法,怎么查,grip有查这些的工具手册吗
回复 支持 反对

使用道具 举报

二级士官

Rank: 2

2

主题

97

帖子

421

积分
地板
发表于 2024-3-3 18:48:21 | 只看该作者
正想学习,现在还看不明白。支持一下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

 
 
QQ:1359218528
工作时间:
9:00-17:00
 
微信公众号
手机APP
机械社区
微信小程序

手机版|UG爱好者论坛 ( 京ICP备10217105号-2 )    论坛管理员QQ:1359218528

本站信息均由会员发表,不代表本网站立场,如侵犯了您的权利请联系管理员,邮箱:1359218528@qq.com  

Powered by UG爱好者 X3.2  © 2001-2014 Comsenz Inc. GMT+8, 2024-5-2 02:19

返回顶部