找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 18191|回复: 5
打印 上一主题 下一主题

[求助] 关于遍历面得问题(C#)

[复制链接]
跳转到指定楼层
1
发表于 2009-6-17 12:35:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
基于OPEN C得实体遍历,可以得到一个part的body和face edge的TAG

在NX。net中,body和face dege都是一种类型,里面不仅仅包含TAG信息。

请问在。net中,哪个命令可以遍历实体,返回值不是TAG,而是face类型的返回值

如果不行,当只知道了face的TAG值,如何找到FACE类型的值呢?

谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 赞一下!赞一下!
2
发表于 2009-6-17 12:36:37 | 只看该作者
在。net中,常用findobject,后面的string怎么定义呢?
有什么规范吗?
3
发表于 2009-6-17 23:02:03 | 只看该作者
.NET里面是将各种类型联合到一起,形成一个完整的类关联,不像OPEN C那样各种类型是单独独立的。
首先是.NET里面的根类型。
Session theSession = NXOpen.Session.GetSession(); //首先获得操作会话,一切的起点
Body[] bodies = theSession.Parts.Work.Bodies.ToArray();  //获得工作组件内部所有实体,不必担心一下获取所有实体速度会变慢,我曾经获取过1000个实体,速度没有任何问题,然后Body类型下面就包含Face, edge, Feature可以使用下面函数来获得
    public Edge[] GetEdges();
    public Face[] GetFaces();
    public Feature[] GetFeatures();
依然是数组。
当然也可以通过Face来获得拥有它的实体public Body GetBody();
也可以获得Face的edge,public Edge[] GetEdges();

至于FindObject的string 就是部件导航器里面的特征名,但需要是英文的,比如BLOCK(0),CYLINDER(1)这样的,但这仅仅是打开单个部件的时候是这样,在打开装配体时候,需要PROTO#.Bodies|BLOCK(0)这样表示,所以不是很常用,

在使用NXOpen.UF类时经常需要将TAG转换为类,这时候应该强制转换类型:
(类型)NXObjectManager.Get(tag)

乱乱的说了很多,希望对你有帮助。
4
发表于 2009-6-18 11:16:22 | 只看该作者
学习了,谢谢!
3# tealy
5
发表于 2009-6-21 12:58:15 | 只看该作者
说的真是太好了!
非常有用!

谢谢
6
发表于 2009-8-7 01:17:57 | 只看该作者
grip能做到这一点吗
怎么做,请高手指点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-27 16:39 , Processed in 0.023550 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表