20

好吧,主题基本上是问题。是否有任何用于 3d 模型的版本控制系统。当然,开源方法将是首选。

我正在寻找类似颠覆的功能,但更基本的系统也会受到关注。分支/合并/提交等基本操作应该以一种或另一种形式提供。

更新:使用开源方法,我并不是说免费,而是在需要时可以选择大量扩展和定制系统

UPDATE2:我不知道如何以最好的方式来描述这一点,但 3d 模型的格式并不那么重要。我们将使用 IFC 模型和主要是 CAD 程序。亚当戴维斯描述的方法可能是我正在寻找的。

4

10 回答 10

18

这将很困难,因为大多数 3D CAD 程序不考虑修改的可能性,因此当您加载某些内容然后再次保存时,它可能会完全重新排序点(这是有原因的,通常这样做是为了提高性能)。

此外,以文本格式表示的大型模型是巨大的文件,并且将永远需要复制/合并/等。

当前没有可以管理此问题的系统,但该行业确实有很大的需求。

我希望这样的系统会有一个模型规范器,可以在所需的 CAD 格式和修订格式之间进行转换。然后它可以更轻松地处理合并和跟踪更改。

它还需要以您可以在 cad 程序中打开“差异”模型的形式输出差异,并且更改以不同的颜色显示或以其他方式突出显示。没有人能够查看文本差异并理解他们正在查看的内容。这个差异化程序最终需要支持理解两个模型是相同的,即使 0,0,0 位置和旋转不一样(困难的匹配问题),并为用户提供一些界面以允许他们在获得帮助时提供帮助卡住。

您可能必须分别处理模型的各个部分(骨骼、网格、纹理等),并在将它们转换为包含模型文件以供使用和修改时同步它们的第三个文件。

这不是一个微不足道的问题......但如果你开始处理网格并将其开源,你可能会引起很多人的兴趣。

于 2008-09-03T16:12:24.303 回答
8

虽然这个问题很老,但它仍然在谷歌的 3d 版本控制结果中。幸运的是,自从提出这个问题以来的几年里,Github 已经开始支持带有视觉差异的 3d STL 文件!

于 2015-06-03T16:32:41.417 回答
3

看看http://3drepo.org

它是 3D 资产的开源版本控制框架,具有高度可扩展性。

于 2012-07-28T22:24:00.670 回答
1

与 GingaNinja 所说的类似,如果您只关心不同版本的二进制文件的管理,那么大多数版本控制系统都会为您工作。但是,如果您正在寻找能够显示实际图像变化的工具,您可能很难在此处找到推荐的工具。我会首先在图形艺术家论坛上提问。

于 2008-09-03T16:02:50.677 回答
1

虽然我意识到这是一个略有不同的主题,但您可能对图形版本控制问题的答案感兴趣......

于 2008-09-03T16:23:02.780 回答
1

大约一周后发布了一个用于常见 3D 格式的差异工具。它支持dxf/dwg、obj、stl、igs。它可能并不完美,因为它仍处于版本 1 中,但希望它可以帮助您解决问题。该工具名为 Differ3D,可在http://www.blackspiralsoftware.com找到。免责声明:我为发布此产品的公司工作。我们正在寻求改进它,因此欢迎任何反馈。

于 2011-09-26T09:32:32.330 回答
0

我的印象是 SVN 非常适合任何使用文本文件的项目。因此,如果您的模型由文本文件组成,那就没问题了。

我不知道二进制数据是如何工作的,因为我所知道的所有版本控制都使用差异管理,它使用文本比较。

于 2008-09-03T16:00:10.637 回答
0

3d 模型和数据只是数据文件,无论它们的格式是文本还是二进制。版本控制系统可以同时处理这两种情况,因为您经常签入作为二进制文件的库等。

我不太清楚你所说的“开源方法”是什么意思。你的意思是免费的解决方案?您可以获得必须付费的开源项目,具体取决于您的使用情况,例如 Qt。

Subversion 或 CVS 将存储文本或二进制模型,并且都是免​​费的。Subversion 优于 CVS,因为它可以提交变更集中的多个文件。在 Windows 上,您可以使用TortoiseSVN,这是一个出色的免费工具集。

于 2008-09-03T16:09:42.487 回答
0

如果您使用 Subversion,您必须记住锁定(假设文件是​​二进制文件,几乎所有 3D 模型格式都是)。除了 Subversion 和其他类似的 OSS,您可能会查看Gridiron Flow - 来自 Gridiron Software 的新内容/工作流管理软件。Adobe 的 John Nack 给予了好评

于 2008-09-03T16:11:29.250 回答
0

DXF 是一种文本文件标准(类似于 XML),但我不认为合并这些类型的文件是一个特别好的主意。

如果您想对 2 个 AutoCAD 文件执行 Diff 操作,您可以通过它们的“句柄”(唯一的十六进制标识符)以编程方式寻址各个对象。位置、旋转、缩放、颜色等是对象的属性。CAD 图纸基本上是一个对象数据库。我不知道有什么产品可以做到这一点。变更跟踪是一个可行的提议,但合并会复杂得多。

于 2008-10-02T03:20:58.263 回答