2008-09-03 180 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文件!