【发布时间】:2020-11-23 10:26:27
【问题描述】:
问题陈述
我想向 3D 模型添加其他数据,但不会损坏文件,导致无法在普通 3D 对象查看器中查看模型。
我想要的输出是单个文件。这将允许定制软件包按需提取附加数据,而不会阻止用户在现成的查看器中检查模型(不需要显示附加数据)。
我研究了这个主题并努力寻找能够存储额外数据的 3D 文件类型......有什么想法吗?
“附加数据”示例
我想为模型中的每个元素分配两个整数和一个字符串:
- 低温(0-10000)
- 上限温度 (0-10000)
- 众所周知的名称(字符串,最多 16 个字符)
我还想为整个模型分配两个字符串(即文件):
- 模型标识符(字符串,最多 16 个字符)
- 职位参考(字符串,最多 16 个字符)
数据应该存在于文件本身中,因此不能轻易删除。
想法
-
我曾考虑将其他数据分开(快速修复),但 由于模型数量众多,这可能会导致 不匹配的文件。因此,重点是向文件中添加数据,以及 不仅仅是对齐外部数据文件。
-
我已经证明我可以操作一个 .stl 文件来满足我的需要......但是 这将偏离标准,从而损坏文件 在普通观众中使用。
-
“元素”数据可能在许多元素中重复,因此使用查找表 在文件中将减少需要存储在每个元素中的数据量...... 但是我们需要为查找表找到一个位置,并且仍然为每个元素分配一个 ID。
-
必须有一个标准允许 3D 对象的自定义元数据?
【问题讨论】:
-
如果您确定没有其他软件应该读取此 3d 模型文件,最好编写自己的序列化器/反序列化器。您也可以在blender或其他软件中编写导出器插件来转换文件。
-
@codetiger - 我想要相反的结果。一种众所周知的文件格式,可以在普通 3D 查看器中打开,但能够存储其他数据,我可以在自己的反序列化器中利用这些数据。
-
Collada 文件是一个简单的基于 XML 的文件,包含您所要求的一切。
-
感谢@codetiger...为什么不通过一些参考链接来回答这个问题,以便将来帮助其他人?