目前我正在创建 SolidWorks 插件,用于以 OBJ 格式导出 3D 模型。
OBJ 是打开且非常简单的格式
我用谷歌搜索并找到了有关现有解决方案的以下信息:有几个付费插件和 1 个免费插件,称为“免费 OBJ 导出器”
以此为依据。但它不会导出贴花。
贴花是您在主要纹理上绘制的图像(如果您离开 SolidWorks 的上下文,在 3D 编程中它就像子弹、血滴等的标记)
出口贴花是该项目的重要组成部分。
我将所有 VBA 代码重写为 C#。
现在我开始处理出口贴花的问题。文档 Solidworks API 相当差。
在阅读了一周的文档和 LinkedIn 上的几个问题后,我发现了以下内容:
IDecal
是从 继承的类IRendererMaterial
。因此,我可以获得所有贴花的列表并获得以下信息:
- 定位
- 位置
- 宽度
- 高度
我还可以获取 IFace2 对象的列表并获取FaceDecalProperties
.
IFaceDecalProperties
提供下一个信息:
TextureTranslationU
TextureTranslationV
TextureTranslationX
TextureTranslationY
TextureUScale
TextureVScale
它是什么,它代表什么以及如何使用它我不知道。
OBJ 格式不支持直接贴花。
如何在一个文件中使用此参数连接纹理和贴花?我想在脸上渲染贴花并解决Z-fighting问题,因为我没有渲染器的源代码。