iCAx开思工具箱
标题:
关于遍历面得问题(C#)
[打印本页]
作者:
littlemou
时间:
2009-6-17 12:35
标题:
关于遍历面得问题(C#)
基于OPEN C得实体遍历,可以得到一个part的body和face edge的TAG
在NX。net中,body和face dege都是一种类型,里面不仅仅包含TAG信息。
请问在。net中,哪个命令可以遍历实体,返回值不是TAG,而是face类型的返回值
如果不行,当只知道了face的TAG值,如何找到FACE类型的值呢?
谢谢
作者:
littlemou
时间:
2009-6-17 12:36
在。net中,常用findobject,后面的string怎么定义呢?
有什么规范吗?
作者:
tealy
时间:
2009-6-17 23:02
.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)
乱乱的说了很多,希望对你有帮助。
作者:
ffhi
时间:
2009-6-18 11:16
学习了,谢谢!
3#
作者:
littlemou
时间:
2009-6-21 12:58
说的真是太好了!
非常有用!
谢谢
作者:
jiangziyi_0
时间:
2009-8-7 01:17
grip能做到这一点吗
怎么做,请高手指点
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3