0

您好我需要从 CATIA V5R18 零件文件中读取可视化详细信息的流程。

可视化细节1.顶点数
2.三角形
数 3.条形数
4.扇形数 5.
法线
数 6.Bouding Sphere Center and Radius

这些详细信息我使用 CAT3DRep/CATRep/CATSurfacicRep 从 .cgr 文件中获得了红色...但是对于 .CATPart 文件,我无法读取相同的内容。

从 .CATPart 在 CATIVisu 的帮助下,当我从 PartFeatures 查询时,我得到了 CAT3DBagRep 类型但是要获得可视化详细信息,我需要 CATSurfacicRep。

任何人都可以帮忙吗?
我应该查询的 Wat 接口以及我应该从哪里查询?

4

1 回答 1

1

好吧,有关网格的信息(三角形、条形、扇形等)仅由叶代表携带,例如 CAT3DSurfacicRep。

对于像 CATPart 或 CATProduct 这样的复杂文件,您有几何层次结构,还有一个 Reps 层次结构。CAT3DBagRep 是允许构建此层次结构的类,因为它有子 Reps(当然也可以是 CAT3DBagReps)。

一种解决方案可能是从您获得的根 CAT3DBagRep 递归探索此 Rep 层次结构。获取 CAT3DBagRep 的子代表的方法是:

list<CATRep> *GetChildren();

您可以沿着 Rep 树向下走,直到获得预期类型的​​ Rep,例如 CATSurfacicRep。根据您的型号,您可能会发现其中许多。

在检索网格坐标、法线和边界元素时,请注意它们是在本地 Rep 坐标中给出的。CAT3DBagRep 携带定位和方向信息(例如,在定位 CATProducts 时使用)。这由以下 CAT3DBagRep 方法返回:

const CAT4x4Matrix * GetMatrix() const;

根据您的场景/模型,您可能需要考虑此定位信息。

于 2012-06-21T11:11:14.727 回答