2008-09-03 138 views
9

那么主题是基本问题。 3D模型中是否有任何版本控制系统?当然,开源方法是首选。有没有3D模型/ 3D数据的版本控制系统?

我在寻找功能沿着颠覆的路线,但更多的基本系统也会引起关注。像分支/合并/提交这样的基本操作应该以一种或另一种形式提供。

UPDATE:用开源的方式我不是说免费的,但所需的

UPDATE2当大量扩展和定制系统的选项:我不知道如何以最佳的方式,但格式描述这种的3D模型并不重要。我们将使用IFC模型和大多数CAD程序。 Adam Davis描述的方法可能是我正在寻找的。

+0

尝试使用Microsoft SourceSafe。源代码很糟糕,因为它需要对单个文件进行独占结帐访问,但这可能是二进制文件的一个资产。在您退房之前,它们是只读的。 – Chloe 2013-04-22 19:19:20

回答

11

由于大多数3D CAD程序没有考虑到修改的可能性,所以这会很困难,所以当你加载一些东西然后再次保存时,它可能会重新排列点(这是有原因的,通常是为了表现)。此外,以文本格式表示的大型模型是巨大的文件,并且将永远需要复制/合并/等等。

目前还没有一个系统可以解决这个问题,但业界对此有非常大的需求。

我期望这样的系统将有一个模型规范化器,可以转换为所需的CAD格式和修订格式。然后,它可以更轻松地处理合并和跟踪更改。

它也需要输出差异的形式,您可以在CAD程序中打开“diffed”模型,并且更改以不同颜色显示或以其他方式突出显示。没有人能够看到文本差异并理解他们在看什么。这个差异程序最终需要理解两个模型是相同的,即使0,0,0的位置和旋转不相同(难以匹配的问题),并给用户一些界面,以便它们在获取时能够帮助它卡住。

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

这不是一个微不足道的问题......但如果你开始处理一些只处理网格并开源的东西,你可能会得到很多人的兴趣。

0

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

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

1

与GingaNinja所说的类似,如果您只关心在不同版本的二进制文件管理,大多数版本控制系统都可以为您工作。但是,如果您正在寻找能够在实际图像中显示更改的工具,则可能很难在此找到工具的建议。我首先要问一个平面艺术家论坛。

0

三维模型和数据只是数据文件,不管它们的格式是文本还是二进制。版本控制系统可以同时处理这两种情况,因为您经常检查库等,这是二进制文件。

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

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

0

如果你使用Subversion,你必须记得锁定(假设文件是​​二进制的,几乎所有的3D模型格式都是)。除了Subversion和其他OSS喜欢它之外,您可能会看到Gridiron Flow - 来自Gridiron Software的新内容/工作流程管理软件。 Adobe的John Nack给了它一个rave review

0

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

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

1

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

+0

感谢您的诚实披露 – Flexo 2011-09-26 22:44:28

2

看一看http://3drepo.org

它是三维资产的开源版本控制框架和高度可扩展的。

3

虽然这个问题很旧,但它仍然在Google的3d版本控制结果中。幸运的是,在问题提出后的几年中,Github开始支持与visual diffs的3d STL文件!