如何在sketchup中获取组的材质?

如何在sketchup中获取组的材质?,c,sdk,sketchup,C,Sdk,Sketchup,我已经在一组实体中进行了迭代,得到了所有的面,然后得到了每个面的材质。但是,如果材质属于组,则面上没有材质。在这种情况下,我如何获得团队的材料?我使用C API。我找到了答案,将组对象转换为实体,然后通过SUTextureWriterLoadEntity方法获得实体的纹理 SUGroupRef _group; long EntityTextureId = 0; SUTextureWriterLoadEntity(m_uvWrite, SUGroupToEntity(_group), &a

我已经在一组实体中进行了迭代,得到了所有的面,然后得到了每个面的材质。但是,如果材质属于组,则面上没有材质。在这种情况下,我如何获得团队的材料?我使用C API。

我找到了答案,将组对象转换为实体,然后通过
SUTextureWriterLoadEntity
方法获得实体的纹理

SUGroupRef _group;
long EntityTextureId = 0;    
SUTextureWriterLoadEntity(m_uvWrite, SUGroupToEntity(_group), &EntityTextureId)

一个面可以有一个正面材质(和背面材质),并且仍然与一个组材质在一个组中。事实上,这很常见。在这种情况下,面材质优先于组材质

SU_RESULT SUFaceGetFrontMaterial(SUFaceRef face, SUMaterialRef* material);
SU_RESULT SUFaceGetBackMaterial(SUFaceRef face, SUMaterialRef* material);
此外,还有一种更直接的方法来获取团队的资料

SUDrawingElementRef draw = SUGroupToDrawingElement(group);
SUMaterialRef material = SU_INVALID;
SUDrawingElementGetMaterial(draw, &material);