作为应用程序开发人员,您希望导入部件的图形表示与它们在创作软件中的外观尽可能接近。外观可以在每个B-Rep面的基础上指定,而且,通过装配层次结构的特定路径可以在视觉外观上赋予父/子覆盖。HOOPS Exchange捕获有关来自各种格式的对象外观的数据,每种格式具有不同级别的可用信息。
读取颜色和材料数据
获取正确的外观数据有两个部分。第一部分是给定产品结构的特定路径,计算面的效果风格。第二部分是解释并适应您的图形显示工具。
计算人脸的有效样式
要确定如何显示特定表情,必须首先确定有效样式。这可以通过使用HOOPS Exchange API的"杂项级联属性"模块中提供的功能来完成。
由于一般实施应考虑零件实例化,特定B-Rep面的图形表示的最终样式由产品层次结构的路径决定。为通向细分曲面的层次结构的每个实例(A3DAsmModelFile、A3DAsmProductOccurrence (multiple)、A3DAsmPartDefinition、A3DRiRepresentationItem、A3DTessBase、A3DTessFaceData)创建,然后推送杂项级联属性对象。对Push的最终调用不同于之前的每次调用。
如果您使用Exchange Toolkit,确定有效样式的过程在类Tech Soft 3D::RepresentationItemInstance中实现。具体地说,成员函数ts3d::RepresentationItemInstance::getNetStyle可以用于每个面索引。如果你没有使用这个辅助工具包,你可以参考它的实现来更好地理解如何使用级联属性。
解释样式数据
计算出有效样式后,必须解释其中传达的信息。样式提供了关于如何显示线和面的信息。
面外观
根据是否为材料,面外观可分为两大类。
如果样式没有指示材质,您的工作很简单。使用API A3DGlobalGetGraphRgbColorData获取A3DGraphRgbColorData。这是最基本的外观数据。
如果样式显示了材质,则必须检查是否有可用的纹理应用数据。如果有,则使用此API检索纹理应用数据。A3DGraphTextureApplicationData结构提供了材质数据和纹理定义数据的索引。
此外,还可使用A3DMiscPointerFromIndexGet和A3DMiscAttribute功能获取PBR属性。请注意,纹理应用数据结构包含用于附加纹理应用数据的索引。所有纹理通道的组合必须用于组成最终外观。
线条外观
要正确显示线条,必须正确解释样式数据。属性A3DGraphStyleData::m_bVPicture用于指示基于矢量的数据用于定义线条样式。
- 如果线条样式指示一个矢量图片,使用API A3DGlobalGetGraphVPicturePatternData获取正确渲染所需的数据。
- 如果线条样式没有指示矢量图片,请使用A3DGlobalGetGraphLinePatternData。
总结和其他
为CAD几何图形确定正确的显示参数是软件应用程序的一项基本功能。通过遵循上述步骤,您可以确保使用HOOPS Exchange的全套功能来实现这一目标。
关于HOOPS Exchange
HOOPS Exchange是由Tech Soft 3D公司开发的一个快速、准确的CAD数据转换工具包。通过单一界面即可读取和写入30多种主流的专用和通用的CAD和3D格式。想了解更多关于关于HOOPS Exchange的功能和案例访问”HOOPS 中文网“,或者直接拨打服务热线:023-68661681
------------------2023 HOOPS Exchange专场峰会火热报名中 -----------------
2023 HOOPS Exchange专场峰会 • 中国场
7月26日(星期三)上午10:00-11:00
↓ 席位有限,扫码立即报名 ↓
--------------------------------------------------------------------------------------------------------------------------
慧都科技是Tech Soft 3D-Hoops在中国区的唯一增值服务商,负责HOOPS试用,咨询,销售,技术支持,售后,旨在为企业提供一站式的3D开发解决方案。更多信息,请访问techsoft3d.evget.com(HOOPS Platform、CEETRON SDKS中国区独家代理)。
发表评论