【问题标题】:SolidWorks to OBJ exportSolidWorks 到 OBJ 导出
【发布时间】:2014-05-23 08:05:30
【问题描述】:

目前我正在创建用于以 OBJ 格式导出 3D 模型的 SolidWorks 插件。

OBJ打开而且格式很简单

我在 google 上找到了有关现有解决方案的以下信息:有几个付费插件和 1 个免费插件,称为“免费 OBJ 导出器”

它被作为一个基础。但它不会导出贴花。

贴花是您在主要纹理上绘制的图像(如果您离开 SolidWorks 的上下文,在 3D 编程中它就像子弹、血滴等的标记)

出口贴花是项目的重要组成部分。

我将所有 VBA 代码重写为 C#。

现在我开始处理出口贴花的问题。文档 Solidworks API 相当差。

在阅读了一周的文档和 LinkedIn 上的几个问题后,我发现了以下内容:

IDecal 是从IRendererMaterial 继承的类。因此,我可以获得所有贴花的列表并获得以下信息:

  • Y位置
  • X 位置
  • 宽度
  • 身高

我还可以获取 IFace2 对象的列表并获取FaceDecalPropertiesIFaceDecalProperties 提供下一条信息:

  • TextureTranslationU
  • TextureTranslationV
  • TextureTranslationX
  • TextureTranslationY
  • TextureUScale
  • TextureVScale

它是什么,它代表什么以及如何使用它我不知道。

OBJ 格式不支持直接贴花。

如何在一个文件中将此参数用于拼接纹理和贴花?我想在脸上渲染贴花并解决Z-fighting问题,因为我没有渲染器的源代码。

【问题讨论】:

  • 我认为这个教科书页面让您了解 u、v、x 和 y 在此过程中通常代表什么。我不熟悉它,虽然我有点兴趣学习。 encrypted.google.com/…
  • 你有没有想过在 GitHub 上发布你的代码?我想为开发 C# 宏或插件做同样的工作做出贡献。

标签: solidworks exporter


【解决方案1】:

我不确定 TextureTranslationX 和 TextureTranslationY 在这种情况下是什么意思,但 TextureTranslationU 和 TextureTranslationV 几乎可以肯定是指模型的纹理坐标。

通常 (U,V) 纹理坐标在 [0,1] 之间指定,并确定图像如何映射到表面上。 (U,V) = (0,0) 通常是纹理图像的最左上角像素。

因此,如果您有一组顶点,例如:

v 0 0 0
v 1 0 0
v 0 1 0
v 1 1 0

它在(X,Y,Z)空间中定义了一个正方形,这些顶点有如下的(U,V)纹理坐标:

vt 0 0
vt 1 0
vt 0 1
vt 1 1

然后一个“纹理”,我们真正的意思是图像,将应用于正方形,使其最左上角的像素将应用于正方形的 (0, 0, 0) 顶点。

TectureUScale 和 TextureVScale 可能是指允许非矩形纹理图像的缩放参数。

关于将其翻译成 OBJ,请咨询http://en.wikipedia.org/wiki/Wavefront_.obj_file。我上面使用的格式和文件格式规范是一致的。

您还需要根据文档将纹理图像保存为 .tga 文件,然后创建一个如下所示的 .mtl 文件:

newmtl texture1
Ka 1.000 1.000 1.000  # Only ambient to keep things simple
Kd 0.000 0.000 0.000  # Disable diffuse component
Ks 0.000 0.000 0.000  # Disable specular component
illum 1               # Only color and ambient are enabled
map_Ka texture.tga    # Ambient texture map

最后一块是放:

usemtl [texture1]

在 .obj 文件中的顶点和纹理坐标定义之前。

我会从一个非常简单的东西开始,比如一个带有相同宽度和高度的棋盘图案的正方形纹理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 2022-01-11
    • 2015-08-19
    • 2015-05-13
    • 1970-01-01
    • 2015-03-31
    • 2015-04-06
    相关资源
    最近更新 更多