用于設計和制造用戶定義玩具搭建元件的方法和系統的制作方法
【專利摘要】一種產生用戶定義搭建元件的數字圖示的計算機實施方法,所述用戶定義的搭建元件可連接到玩具搭建系統的一個或多個預制造玩具搭建元件,每一個預制造玩具搭建元件包括多個聯接元件,用于將該預制造玩具搭建元件與所述玩具搭建系統的一個或多個其他預制造玩具搭建元件聯接,所述方法包括確定用于放置要被包括在用戶定義的搭建元件中的一個或多個聯接元件的一個或多個位置;響應于表示用戶定義形狀的用戶輸入,產生用戶定義的搭建元件的數字圖示,用戶定義的搭建元件包括在所述確定的一個或多個位置處的所述一個或多個聯接元件;提供數字圖示,以用于自動制造所述用戶定義的搭建元件。
【專利說明】用于設計和制造用戶定義玩具搭建元件的方法和系統
【技術領域】
[0001]本發明涉及設計和制造用戶定義的玩具搭建元件,其可連接到玩具搭建系統的預制造玩具搭建元件,每一個預制造玩具搭建元件包括一些聯接元件,用于將預制造玩具搭建元件與所述玩具搭建系統的一個或多個其他預制造玩具搭建元件聯接。
【背景技術】
[0002]物理搭建玩具組件的各種類型的搭建模型概念已經是公知的。尤其是,使用模塊化或半模塊化的概念是非常流行的。通常,這些概念提供一組預制造玩具搭建元件,其可以一些預定方式彼此互連。為此,每一個玩具搭建元件包括一個或多個聯接元件,用于將玩具搭建元件與其他這樣的玩具搭建元件互連。這種玩具搭建元件的系統的例子包括以商品名LEGO獲得的塑料玩具搭建元件。
[0003]盡管提供了大量的靈活性,但是這種玩具搭建模型系統被限制為預制造玩具搭建元件。由此令人期望的是,讓用戶能設計和制造他或她自己的用戶定義的搭建元件,其可與玩具搭建系統的預制造玩具搭建元件互連,由此允許玩具搭建系統的用戶搭建更多類型的搭建模型。通常稱為3D打印的制造方法是已知的。術語3D打印通常是指添加制造技術(additive manufacturingtechnology),其中通過布下連續的材料層而形成三維物體。3D打印方法通常是基于要被材料裝填的容納空間的3D計算機文件或其他數字圖示。
[0004]用于執行這種3D打印方法的設備通常稱為3D打印機。與其他添加制造技術相比,3D打印機通常是更快的、不太昂貴且易于使用的。最近,3D打印機已經為產品開發者提供了在單個搭建過程中打印用具有不同的機械和物理性能的多種材料制造部件和組件的能力。先進的3D打印技術用于制造可用作產品原型的模型。盡管用在專業產品開發中的3D打印機是先進且昂貴的,但是最近更小和不太昂貴的3D打印機已經被開發,其甚至適于個人使用。
[0005]出于當前說明的目的,術語“自動制造”旨在包括3D打印和其他制造技術,其允許基于數字的、計算機生成的物體圖示自動制造3D物體。應理解,術語“自動制造方法”是指至少部分地通過設備以自動方式執行的制造方法;然而,任何這樣的方法可以包括被用戶執行的一個或多個手動步驟,例如設備的手動控制,例如清潔、拋光和/或類似過程的修飾步驟。
[0006]通常期望的是,提供一種方法和系統,其提供了用于設計和制造定制物品的工具,定制物品可與玩具搭建系統的現有部件一起使用,以搭建定制的玩具結構。
[0007]這種玩具搭建系統的用戶可以具有任何年齡和訓練水平。因此期望的是,該方法和系統不對用戶的培訓程度或設計者的技術水平提出特別的要求。
[0008]通常進一步期望的是,這樣的方法和系統對玩具搭建系統的通常用戶不是太昂貴,所述玩具搭建系統包括有教育性、激發靈感和/或娛樂性的元件。
[0009]進一步通常期望的是,用戶定義的搭建元件可以與預制造搭建元件結合使用,而不需要用戶進行有關的裝配和調整的工作。
【發明內容】
[0010]本文公開了一種產生用戶定義的搭建元件的數字圖示的計算機實施方法,所述用戶定義的搭建元件可連接到玩具搭建系統的一個或多個預制造玩具搭建元件,每一個預制造玩具搭建元件包括用于將該預制造玩具搭建元件與所述玩具搭建系統的一個或多個其他預制造玩具搭建元件連接的多個聯接元件,所述方法包括
[0011]確定用于放置要被包括在用戶定義搭建元件中的一個或多個聯接元件的一個或多個位置;
[0012]接收表示用戶定義形狀的用戶的輸入;
[0013]從至少用戶輸入和經確定的一個或多個位置產生用戶定義的搭建元件的數字圖示,用戶定義的搭建元件包括在所述確定的一個或多個位置處的所述一個或多個聯接元件;
[0014]提供數字圖示,以用于自動制造所述用戶定義的搭建元件。
[0015]因此,提供了用戶友好高效的方法,其確保最終形成的用戶定義的搭建元件與玩具搭建系統的預制造搭建元件的兼容性。
[0016]用于基于產生的數字圖示來制造用戶定義的搭建元件的制造方法的實施例可以由此包括根據搭建系統選擇聯接類型和位置,以數字形式限定物品形狀導致用戶定義的搭建元件的數字圖示,且將其發送到3D打印機或其他設備,用于自動制造3D物體。由此制造的用戶定義的元件可以隨后并入到具有預制造物品的模型中。
[0017]產生的數字圖示可以包括適用于描述3D物品的任何合適的數據結構。應理解,該方法的一些實施例可以包括產生用戶定義的搭建元件的不同類型的數字圖示,例如第一圖示適用于在計算機上顯示物品,且用于允許用戶通過合適的3D設計軟件來操作和編輯3D形狀。該方法可以包括將第一數字圖示轉換為第二數字圖示,第二數字圖示適于作為到自動制造方法的輸入,例如適于作為到到3D打印機的輸入。
[0018]在一些實施例中,數字圖示不標示要被材料占據的體積,所述材料例如為適用于自動制造方法的塑料或其他材料。
[0019]用戶定義的搭建元件可以具有通過自動制造方法制造的任何尺寸和形狀,其中聯接元件具有一類型且定位在與玩具搭建系統兼容的位置處。具體說,用戶定義的搭建元件可以具有與玩具搭建系統的預制造玩具搭建元件形狀不同的形狀。
[0020]預制造的搭建元件可以是具有聯接元件的任何玩具搭建元件,所述聯接元件允許該預制造的搭建元件與玩具搭建系統的其他預制造玩具搭建元件互相連接,以便用預制造玩具搭建元件搭建玩具模型。聯接元件可以由此具有任何合適類型的聯接元件,其允許搭建元件互相連接,例如通過摩擦力、閂鎖功能或使用不同聯接原理。聯接元件可以用于玩具搭建元件的可釋放互相連接,以便允許搭建玩具模型的容易拆卸和在不同模型中相同元件的再使用。在聯接元件根據一組規則以一致的方式布置時,例如位于一致的3D網格的網格位置上,玩具搭建元件可以以許多不同方式互相連接。用于布置聯接元件的其他規則可以包括可不同類型的聯接元件在搭建元件的不同面的定位,由此例如限定搭建元件的底面和頂面,其中底面包括第一類型的聯接元件而頂面包括第二不同類型的聯接元件,例如使得第二類型的聯接元件可連接到第一類型。類似地,聯接元件可以具有與它們相關的聯接方向,且聯接元件可以布置為使得搭建元件的聯接元件的至少一子組的聯接方向(例如在多面搭建元件的相同面上的聯接元件)沿一致的方向取向。
[0021]該用戶定義設計方法的形狀的產生可以允許用戶自由地設計形狀,其中該方法確保和/或驗證聯接元件定位是根據用于在玩具搭建系統中布置聯接元件的規則進行的。另夕卜,該方法可以確保和/或驗證存在額外的設計約束條件。例如,該自動制造方法可以賦予多個設計約束條件,例如關于可以制造的物品的尺寸、最小和/或最大壁厚、邊緣的最小或最大曲率半徑等。類似地,玩具搭建系統也可以賦予額外的設計約束條件。具體說,每一種類型的聯接元件可以具有一個或多個相關的設計約束條件,以便確保該聯接元件可實際上聯接到另一聯接元件。
[0022]與每一個聯接元件相關的至少第一設計約束條件可以包括限定與每一個聯接元件相關的第一體積;和執行第一設計約束條件可以包括產生表示包括第一體積的元件體積的數字圖示。因此,該方法確保用戶不除去聯接元件的任何必要部分。
[0023]類似地,至少第二設計約束條件可以包括限定與聯接元件相關的第二體積;和執行第二設計約束條件可以包括產生表示不包括第二體積的元件體積的數字圖示。因此,用戶有效地防止要與另一聯接元件連接的聯接元件所需的任何空閑空間被填充或阻擋。
[0024]通常,執行設計約束條件可以包括產生用戶定義的搭建元件的數字圖示,用戶定義的搭建元件具有根據用戶輸入和設計約束條件而確定的改變形狀且包括在所述確定的一個或多個位置處的所述一個或多個聯接元件。
[0025]在一些實施例中,該方法可以執行額外或替帶的設計約束條件。例如,一個設計約束條件可能提出要被包括在搭建元件中的聯接元件的最小數量。設計約束條件的另一例子可能提出聯接元件之間的最小距離,其中最小距離可以是聯接元件的相應類型的函數。其他設計約束條件可能提出與聯接元件的數量或其相對方位設置相關的替代或額外約束條件。一些設計約束條件可以例如基于設計元件的估計重量,或對之前放置的聯接元件施加的扭矩的計算。在另一例子中,設計約束條件可以是執行對一定類型的聯接元件可以放置其上的表面的約束條件。例如,在包括突出部和相應空腔形式的聯接元件的實施例中(例如上面針對圖3a_c所述的),突出部類型和空腔類型的聯接元件可以被限制為放置于搭建元件的相對表面,由此限定頂部(即朝向上的)表面和底部表面(即朝向下的)。例如,突出部可以被限制為被放置于頂部表面上,而空腔可以被限制為被放置于底部表面上。
[0026]除了這種設計約束條件的執行和/或確認,在不同實施例中該由計算機實施的方法賦予用戶的自由度是不同的,例如是基于目標用戶的技能水平、經驗和/或年齡的。盡管一些實施例可以允許大的自由度,但是其他的實施例可能以各種方式限制自由度,例如通過限制從一組模板設計元件選擇形狀的用戶輸入,所述模板設計元件可以以多種預定方式組合。
[0027]具體說,在一些實施例中,該由計算機實施的方法提供一組用戶可選擇的基本形狀以及簡單且直觀的工具,以獲得該設計方法的快速開始。該由計算機實施的設計方法可以通過指導和對堅持搭建系統采用的形式要求和規則自動檢查而得到支持。該設計方法的創造性的部分可以通過來自專業設計者的想法和模板的啟發得到支持。
[0028]應理解,聯接元件位置和類型的判斷可以在接收表示用戶定義形狀的用戶輸入之前進行。例如,該方法可以首先(例如至少部分地基于用戶輸入)聯接元件相對于合適的坐標系的位置和可選地類型和/或取向。隨后用戶可以使用合適的設計工具以設計具有聯接元件的選擇布置的搭建元件的形狀。替代地或另外,用戶可以首先設計形狀,且隨后該方法可以確定位置,例如至少部分地基于用戶輸入、相對于設計形狀的聯接元件的位置和可選地類型和/或取向。進一步應理解,聯接元件的定位可以在用戶定義的形狀的設計期間進行,例如是設計步驟的整合部分。例如,用戶可以被賦予改變之前選擇的聯接元件的位置的機會。
[0029]本發明可以以不同方式實施,包括如上所述的方法和下面的數據處理系統,且進一步以產制造方式實施,其每一個產生針對如上所述方面中至少一個所述的優點和益處,且每一個具有對應于針對如上所述的方面中至少一個描述的和/或權利要求中限定的優選實施例的一個或多個優選實施例。
[0030]應注意,上面和后面所述的方法的特征可以在軟件中實施,且在數據處理系統或由于執行計算機可執行指令產生的其他處理器件中實現。指令可以是裝載在存儲器(例如RAM)中的程序代碼,該存儲器來自存儲介質或經由計算機網絡來自另一計算機。替代地,所述特征可以通過代替軟件的或是與軟件組合的硬件電路實施。
[0031]本文進一步本文一種計算機程序,其包括程序代碼,用于在計算機上運行所述程序時,執行如上所述和如下所述的方法的所有步驟。該計算機程序可以實施為計算機可讀存儲介質,如實施為載波等的數據信號。
[0032]本文進一步公開一種計算機程序產品,包括存儲在計算機可讀介質上的程序代碼,用于在計算機上運行所述計算機程序時執行如上所述和在下文描述的方法。
[0033]通常,用戶定義的搭建元件可以被通過支持該方法的所有階段的專用軟件數字地組建、設計和制備。這種軟件可以用于多個目的,且這種計算機程序的實施例可以提供以下功能:
[0034]允許用戶在用戶定義的搭建元件上指定聯接元件(一個或多個)的類型(一個或多個)和設置(一個或多個);
[0035]允許用戶自由地設計用戶定義的搭建元件的形狀,且在該方法中輔助用戶;
[0036]在該方法過程中交互地使得設計搭建元件可視化;
[0037]解釋和/或執行搭建系統的相關規則;
[0038]將驅動其或其他接口合并,用于直接與3D打印機系統相互操作。
[0039]本文進一步公開一種數據處理系統的實施例,其配置為執行本文公開的方法的步驟。該數據處理系統可以包括3D打印機或其他合適的設備,用于基于產生的數字圖示自動制造玩具搭建元件。
[0040]因此,本文公開的方法和系統實施例的實施例允許用戶立即在快速迭代循環中測試和調整設計;有效地,物理物件的制造是該方法的整合部分。
[0041]進而,本文所述的方法和系統的實施例提供了用戶定義的搭建元件的廉價制造,其中用于制造物品的成本相比預制造物品和與該物品結合使用的模型的價格相比是合理的。進而,成本可以保持相當低,以便允許多次重復,以用于設計的實驗和調整,從而不限制該創造性的設計方法。
[0042]通常,本文公開的方法的實施例提供一種方法,其針對連接件的物理特征,具體地,形狀、尺寸和取向,確保所形成的用戶定義的搭建元件與來自玩具搭建系統的其他搭建元件適配。例如,該方法的實施例確保根據通過搭建系統定義的任何模塊化網格等使連接件相對定位。進而,搭建系統采用的其他規則(例如具體類型連接件的取向)可以通過本文公開的方法的實施例驗證和確保。
【專利附圖】
【附圖說明】
[0043]下面將結合優選實施例和參考附圖更詳盡地描述本發明的實施例,附中:
[0044]圖la-b顯示了用于產生和操作用戶定義搭建元件的數字圖示的數據處理系統;
[0045]圖2顯示了數據處理系統的圖形用戶界面,其用于產生和操作用戶定義搭建元件的數字圖示;
[0046]圖3a_c顯示了預制造玩具搭建元件和其聯接元件的例子;
[0047]圖4顯示了產生用戶定義搭建元件的數字圖示的方法的流程圖;
[0048]圖5a_c和6a_b顯示了用于數字圖示搭建元件和有助于執行滿足設計約束條件的分層數據結構。
【具體實施方式】
[0049]圖la-b顯示了一種數據處理系統,用于產生和操作幾何物體的計算機可讀模型。
[0050]圖1顯示了計算機系統的例子的示意圖。計算機系統包括可適當編程的計算機101,例如個人計算機,包括顯示器120、鍵盤121和計算機鼠標122和/或其他指示裝置(例如觸摸板、追蹤球、光筆、觸屏等)。
[0051]標記為101的計算機系統適于有助于設計、存儲、操作且輸出用戶定義的玩具搭建元件數字圖示。計算機系統101可用作獨立系統或用作客戶/服務器系統的客戶。
[0052]該系統進一步包括連接到計算機101的用于自動制造3D物體的3D打印機123或其他合適的設備。應理解,3D打印機也可以被定位在遠程位置,例如連接到另一計算機,且數字圖示(或從其獲得的控制代碼)可以經由合適的計算機網絡或其他通信器件傳送到3D打印機。
[0053]圖1b顯示了數據處理系統的方塊圖,該數據處理系統用于產生和操作用戶定義的玩具搭建模型的數字圖示。計算機101包括存儲器102,其可以部分地實施為易失存儲器件和部分地實施為非易失存儲器件,例如隨機訪問存儲器(RAM)和硬盤。存儲器在其上存儲了計算機程序代碼,其實施3D設計應用軟件110,用于在被中央處理單元103執行時產生如在本文所述的搭建元件的數字圖示。進一步地,存儲器在其中存儲了模型數據111,即代表物理物體(例如用戶定義的玩具搭建元件)的數字圖示的數據結構。用于存儲用戶定義的玩具搭建元件的數據格式的例子包括但不限于用于存儲例如網格的3D形狀的任何合適的文件格式,如WaveFront.0BJ。進一步的例子包括圖示3D形狀(如體積)的數據格式,例如基于立體像素的數據格式(例如RAW、DAT、OpenQVis、FieIds3D)。進而,玩具搭建組件的數字圖示可以存儲為用于存儲構造實體幾何(CSG)的樹形圖示的數據格式;這允許存儲整個設計方法。例如,這樣的樹格式可以實施為XML格式,其圖示樹結構且包括到相應數據文件或物體(例如以Wavefront OBJ格式圖示的)的指示裝置或其他參照,所述相應數據文件或物體已經存儲了基本形狀的圖示,CSG樹結構基于所述數據文件或物體。
[0054]進一步地,存儲器在其中存儲了描述設計模板107、聯接元件108和設計約束條件109的數據。
[0055]設計應用軟件110可以包括用于讀取和解讀限定了物理形狀(例如用戶定義的玩具搭建元件)的數據結構的功能。該設計應用軟件可操作為讀取數據結構和將這樣的數據結構轉換為已知的圖形格式,用于顯示在計算機顯示器上。
[0056]該設計應用軟件進一步包括用于將通過用戶界面進行的用戶交互動作轉換為用戶命令,例如用于從元件庫獲取模板形狀,用于將選擇的形狀置于建模環境中的用戶選擇的位置處,用于操作用戶定義的玩具搭建元件的數字圖示,例如通過實施旋轉、修改用戶定義搭建元件的形狀等。與每一個命令一起,可能存在相關的一組相應參數,例如相對于顯示坐標系、形狀類型等的光標坐標。該設計應用軟件可操作為響應于用戶的命令修改物理形狀的數據結構。該設計應用軟件進一步適于控制存儲器、文件、用戶界面等。
[0057]用戶105能通過用戶界面106 (優選地包括顯示在計算機屏上的圖形用戶界面)和一個或多個輸入裝置(例如鍵盤和/或指示裝置)與計算機系統101進行交互。
[0058]為了加載、存儲或傳送用戶定義的玩具搭建元件的數字圖示或其他數據,計算機系統包括輸入/輸出單元(I/o) 104,其可選地提供多個I/O端口,例如串口、并口、網絡接口、無線接口和/或類似接口。輸入/輸出單元可被用作到不同類型的存儲介質和不同類型的計算機網絡(例如因特網)的接口。進一步地,輸入/輸出單元(1/0)104可用于與其他用戶交換數據結構,例如交互地。進而,輸入/輸出單元可以配置為將數據傳送到用于自動制造3D物體(例如3D打印機)的設備。為此,存儲器可以在其中存儲裝置驅動器或類似的軟件,其可操作為將通過設計應用軟件產生的數字圖示轉換為合適的控制代碼,所述控制代碼可由3D物體自動制造過程解譯。
[0059]存儲器102、中央處理單元(CPU) 103、用戶界面(Ul) 106和輸入/輸出單元104之間的數據交換可以通過數據總線112實現。
[0060]圖2顯示了設計應用軟件的圖形用戶界面。該用戶界面包括顯示區域201,其顯示了圖示用戶定義的玩具搭建元件的3D形狀203的視圖。從預定觀察點顯示了該形狀。該用戶界面進一步包括調色板205,其包括可以被用戶選擇的一些基本形狀206。例如,用戶可以通過鼠標點擊基本形狀206中的一個,由此選擇該形狀,且將選擇的形狀拖曳到顯示區域201中以達到期望位置。另外,該用戶界面可以包括一個或多個其他調色板,允許用戶例如選擇聯接元件。
[0061]該用戶界面進一步包括菜單欄207,其包括用于啟動各種功能或工具的一些菜單按鈕208。例如,工具欄可以包括旋轉工具,用于改變虛擬攝像頭位置,由此允許用戶從不同方向觀察形狀203。菜單欄可以進一步包括縮放工具,用于放大/縮小3D形狀。工具的其他例子包括用于畫出物理形狀的輪廓的圖畫工具,用于組合不同形狀的組合操作工具,用于擦除形狀的用戶選擇部分的橡皮擦工具等。
[0062]菜單欄207可以進一步提供標準功能,例如用于存儲數據結構、打開之前存儲的數據結構、打印用戶定義搭建元件的圖像、幫助功能、選擇3D打印機、啟動3D打印方法等功倉泛。
[0063]圖3a_c顯示了搭建元件和其聯接元件的例子。
[0064]圖3a顯示了搭建元件301的透視圖。搭建元件301具有頂部表面302,其具有八個凸頭303a-h,凸頭303a-h可接合另一搭建元件的相應孔,例如在另一搭建元件底部表面上的孔。相應地,搭建元件301包括具有相應孔的底部表面(未示出)。搭建元件301進一步包括側面304,其不包括任何聯接元件。
[0065]通常,聯接元件可以被分組為不同類別的聯接元件,例如接頭、接收件和混合元件。接頭可以被另一搭建元件的接收件接收,由此提供搭建元件之間的連接的聯接元件。例如,接頭可以裝配在另一元件的部件之間,裝配進入孔中等。接收件是可接收另一搭建元件的連接件的聯接元件。混合元件是可用作接收件和連接件的部件,通常取決于其他搭建元件的配合聯接元件的類型。
[0066]圖3b顯示了從下方看的搭建元件310的透視圖。搭建元件310具有非矩形頂部和底部面。底部面包括孔311、312、313,用于接收一個或多個其他搭建元件(例如圖3a的搭建元件)的相應凸頭。孔通過邊緣314、通過第二銷315以及角部316和317限定。因此所有上述元件的性能決定了搭建元件310的底部面的連接性能。
[0067]圖3c顯示了兩個搭建元件331和332。搭建元件331是在其頂面上具有四個凸頭333且在底部面(未示出)上具有四個相應的孔的搭建塊。搭建塊332是具有包括不互相正交的平面的表面的搭建元件的例子。具體說,搭建元件332具有傾斜面334。如圖3c示出的,在其當前位置,搭建元件331和332不連接,因為在所示位置不存在彼此接合的聯接元件。
[0068]應理解,上述搭建元件和其聯接元件僅僅用作可能的搭建元件和可能的聯接元件的例子。
[0069]圖4顯示了用于制造用戶定義的搭建元件的方法的流程圖。該方法包括產生用戶定義的搭建元件的數字圖示的初始子方法,隨后是步驟S404,用于基于產生的數字圖示制造用戶定義的搭建元件。
[0070]產生數字圖示的子方法可以以在數據處理系統上執行的軟件實施,該數據處理系統例如為被適當編程的常規用途計算機。
[0071]產生數字圖示的子方法包括初始步驟S401,從一組可用類型的聯接元件選擇一個或多個聯接元件,且針對每一個選擇的聯接元件選擇位置和取向(例如相對于合適的坐標系)。例如,該方法可以相對于坐標系限定離散3D網格。網格的一些或所有網格點可以圖示用于聯接元件的有效位置。例如,3D網格可以具有平行平面的形式,每一個平面包括2D網格,2D網格每一個成矩形或正方形網格。各平面的2D網格可以彼此對準。應理解,聯接元件及其位置和/或其取向的選擇可以至少部分地基于相應的用戶選擇。例如,用戶可以設置有用于選擇聯接元件類型的功能。為此,數據處理系統可以包括相應聯接元件數字圖示的數據庫411或其他合適的儲存庫。數據庫411或其他儲存庫可以存儲在數據處理系統的存儲器或其他合適的存儲裝置中。類似地,用戶可以被提供用于選擇放置所選擇聯接元件的位置的功能。該方法可以自動地限制關于3D網格的網格點的可選擇位置。類似地,用戶可以被提供用于選擇所選擇聯接元件的取向的功能。該方法可以自動地限制取向為例如相對于坐標系的離散方向。所選擇聯接元件的圖形圖示可以在數據處理系統的用戶界面的顯示區域中顯示在所選擇位置。聯接元件的數字圖示410、其位置和取向可以產生且存儲在數據處理系統的存儲器或其他存儲介質中。
[0072]通常,在一些實施例中,該方法可以提供用于允許用戶初始指定連接件的功能,所述連接件將用戶定義的搭建元件連接到預制造搭建元件中的一個或幾個。這可以以多種方式進行。
[0073]在一些實施例中,用戶可以從通過數據處理系統保持的聯接元件的集中選擇一個或幾個例子,所述聯接元件的集已知通常用于3D打印,或具體說用于在手邊的具體3D打印系統。該系統可以隨后有助于用戶將這些連接件根據任何類型的網格和搭建系統提出的規則放置。例如,對于以LEGO商品名出售的模塊化搭建系統,將按照一個網格水平地且按照另一網格垂直地放置連接件,且一些聯接元件可以被限制到具體取向,例如凸頭總是面向上的等。替換地或另外,用戶可以從聯接元件的集中選擇聯接元件,用戶定義的搭建元件將可附接到該聯接元件。該方法可以隨后自動地選擇合適類型的匹配聯接元件且允許用戶放置匹配聯接元件。
[0074]替換地或另外,數據處理系統可以提供允許用戶輸入用玩具搭建系統的搭建元件搭建的玩具模型的數字圖示的功能。玩具模型的數字圖示可以使用任何合適的方法(例如W02004/034333中公開的方法)產生。商業上可用的合適數字模塊化工具的例子可以以商品名LEGO Digital Designer獲得。具體說,這樣的數字模型可以包括用于搭建輸入模型的搭建元件的聯接元件的位置和類型的圖示。輸入的模型可以隨后圖示基部,新的用戶定義的搭建元件應可附接到該基部。因而,該方法可以識別輸入的數字模型的露出聯接元件,可用于用戶定義的搭建元件的聯接元件可附接到該露出的聯接元件。該方法可以隨后提供允許用戶選擇一個或多個識別的露出聯接元件的功能,用戶定義的搭建元件應該可附接到該露出的聯接元件。該方法可以隨后確定聯接元件的類型、位置和取向,該聯接元件可連接到輸入的數字模型的用戶識別聯接元件。
[0075]—個例子可是模型火車,用戶希望形成用于該模型火車的新的、流線型前部;用戶可在LEGO Digital Designer中搭建整個火車頭且保持用于附接該新的前部的空間和凸頭敞開。有效地,由于LEGO Digital Designer已經確保與搭建系統的模型兼容性,因此所選擇的一組連接件將已經相對于相關的網格和規則適當地排列和取向。
[0076]在步驟S402中,該方法為用戶提供允許用戶設計搭建元件的形狀的功能。例如,可以為用戶提供用于選擇搭建元件模板的功能。為此,數據處理系統可以包括搭建元件和/或搭建元件部件的相應設計模板的數字圖示的數據庫412或其他合適存儲庫。數據庫412或其他儲存庫可以存儲在數據處理系統的存儲器或其他合適的存儲裝置中。
[0077]該方法可以在數據處理系統的圖形用戶界面的顯示區域中顯示所選擇的模板和所選擇的聯接元件的圖形圖示。該方法可以進一步提供允許用戶修改形狀的功能,例如各種本領域已知的圖畫和設計工具。替換地或另外地,可以為用戶提供用于設計新的形狀的功能,而沒有在一開始選擇模板。
[0078]通常,在選擇聯接元件的放置時,可以為用戶提供高自由度,以容易地以這樣的方式設計新的搭建元件的實際形狀:使其與聯接元件相交,從而使它們形成易于打印的單個連接的實體幾何體。例如,該方法可以產生圖示用戶定義的形狀的三維像素結構(voxelstructure)。基于該三維像素結構,該方法可以隨后確定(例如通過著色算法)該形狀具有單個連接的幾何體。進而,該方法可以使用細化程序或相似的形態運算,以識別幾何體的細/纖弱部分。該設計可以是使用本領域已知的技術(例如稱為計算機輔助設計(CAD)系統和/或模塊化程序的技術)的自由成型方法。在一些實施例中,該方法可以提供預定形狀集,包括基本形狀體(箱體、球體、環面、柱體等)以及更詳細的裝飾性和預設計的模板。用戶必須能通過放置、旋轉、縮放和可能改變形狀的其他方式來修改這樣的物品;該方法可以提供徒手雕塑模式的功能,其中用戶通過手(鼠標)可容易地推動、平滑、放大、收縮和/或以其他方式操作形狀表面的具體部分,非常類似直接地在例如石膏模型上工作。進而,該方法可以允許從任意的3D模型(例如從因特網下載的)輸入形狀。
[0079]該方法可以進一步提供允許用戶組合形狀形成更復雜的形狀的功能;以這種方式,即使未經訓練的用戶也可通過將基本且預定的形狀組合而快速構建期望的搭建元件,且無需構造各個形狀或構造各個形狀的技巧。在下文將更詳細描述提供易于使用允許用戶將多個子形狀組合到搭建元件的形狀的功能的例子。
[0080]該方法可以存儲通過用戶改變和/或設計的形狀的經改變的數字圖示410,包括數據處理系統的存儲器或其他合適的存儲裝置中的所選擇的聯接元件。
[0081]應理解,即使步驟S401和S402在圖4中顯示為是分開的步驟,但是它們可以合并成單個步驟或以不同順序執行。例如,一種方法可以允許用戶在選擇和定位聯接元件之前和之后編輯用戶定義的形狀。
[0082]在步驟S403期間,該方法驗證是否滿足一些預定的設計約束條件。為此,數據處理系統可以包括設計約束條件的數據庫413或其他合適的儲存庫。數據庫413或其他儲存庫可以存儲在數據處理系統的存儲器或其他合適的存儲裝置中。如果該方法確定一個或多個設計約束條件未滿足,則該方法可以向用戶告知相關的設計約束條件,且可選地提供如何滿足相關的設計約束條件的指導。替換地或另外地,該方法可以自動地修改用戶設計的形狀,以便執行來滿足設計約束條件。響應于被警告的未滿足的設計約束條件而由用戶修改造成的改變和/或由于設計約束條件的自動執行造成的改變導致數字圖示410的修改。進而,該方法可以顯示經改變的形狀的圖形圖示,可選地所進行的改變被適當亮顯。
[0083]該方法可以提供用于保持通過用戶設計的形狀的功能,可選地包括回退和調整或取消該設計方法的部分的選項,以及操作對所選擇連接件的更多的外形的要求,這最終也是被設計的形狀的一部分。現在更詳細描述與聯接元件相關的設計約束條件的例子。
[0084]在一些實施例中,該方法可以通過產生幾何形狀分層組合、圖示用戶定義和/或用戶選擇的形狀和與相應聯接元件相關的形狀(例如使用并集、交集和/或差集的普通集合運算器)而執行一組設計約束條件,以便限定形狀和構成其的子形狀之間的關系。為此,該方法可以采用被稱為構造實體幾何(CSG)的技術。通常,CSG允許用戶一起“增加”兩個形狀或從一個形狀“減去”另一個形狀(使用并集和差集集合運算器和/或交集運算器)。
[0085]在下文中,且參考附圖5和6所示的例子,將示出與聯接元件相關的設計約束條件的執行。值得注意的是,附圖5和6顯示了二維橫截面形式的幾何形狀。然而,應理解,所討論的原理也適用于3D模型。進而,附圖5和6顯示了聯接元件和用戶定義形狀的具體例子。然而,應理解,該通過形狀和子形狀之間限定的集合關系而執行約束條件的方法也可適用于其他類型的聯接元件和/或用戶定義形狀。
[0086]在圖5a示出的例子中,用戶已經選擇將基本長方形501增加到橢圓形502,導致具有彎曲和直邊緣的更復雜的實體形狀503。在3D中,該長方形可以對應于塊體,該橢圓形對應于橢圓體,且邊緣在3D中對應于表面。
[0087]該方法可以維持分層的結構,例如CSG樹的形式,限定原始的基本形狀(和其布置、縮放比例等),和將它們組合的選擇的運算器,在圖5a的例子中,該選擇的運算器是并集運算器。
[0088]通常,用于產生用戶定義的搭建元件的數字圖示的方法的實施例可以由此以分層的數據結構(例如二元樹)產生用戶定義的搭建元件的數字圖示,其中樹的葉節點圖示基本幾何形狀,且其中每一個節點代表關于其緊鄰的先行節點的集合運算。根節點由此代表最終的搭建元件。進一步應理解,節點可以具有與它們相關的額外的屬性。例如,圖示基本形狀的葉節點可以具有與它們相關的坐標,指示形狀的位置和旋轉。
[0089]在圖5b示出的例子中,用戶代替地選擇從橢圓形(橢圓體)502減去/切掉長方形(塊體)501,導致不同的更復雜的實體形狀504。
[0090]因此,例如并集和差集這樣的集合運算器提供易于用戶使用來在物體中或穿過物體形成例如圓形或矩形的孔或齊平粗糙形狀的底部表面的途徑。
[0091]再次,在內部,該方法可以簡單地保持小的分層數據結構,例如CSG樹,用于新的組合形狀503或504,而該方法可以在屏幕上顯示直接的幾何結果。
[0092]分層數據結構和例如CSG這樣的集合運算器的優勢是,它們提供進一步結合形狀的能力,該組合形狀本身由較小的分層結構構成,由此通過交互地添加和減去它們而形成大的分層結構,導致非常復雜的形狀。例如,圖5c示出了用戶選擇從初始形狀503去除小圓柱體505的例子,所述初始形狀通過將橢圓體501和塊體502相加形成,由此在最終形狀507的上表面中形成小的空腔506。應注意,通過作為內部圖示保持包括將它們組合的運算的整個分層結構,易于后來退回或取消形狀組合或例如調整初始球體的位置和只是重新計算最后的最終形狀。
[0093]在用于產生本文所述的用戶定義搭建元件的數字圖示的設計方法的實施例中,分層的結構,例如CSG樹,可以用于確保形狀的組合順序,且由此有效地堅持最初布置的連接件的完整性,無論用戶如何定義設計搭建元件的總體形狀。
[0094]通常,每一個聯接元件可以與將被裝填材料的一個或多個第一體積(即3D空間中的區域)以及應該保持空的一個或多個第二體積相關。
[0095]例如,圖6a示出了預制造搭建元件601的例子,搭建元件601包括一對突出臂形式的聯接元件602,每一個突出臂具有鉤狀橫向突出部604。用戶定義的搭建元件中的匹配聯接元件(其可附接到聯接元件602)例如可以具有圓柱形盲孔或其他形狀的形式,其提供一對相對的表面,具有朝向相應的另一表面突出的相應凸緣。用戶定義的搭建元件應該由此包括可與聯接元件602連接的合適的結構且提供充分的空間(來自預制造搭建元件的聯接元件602可被插入在所述空間中)以及聯接元件602的元件彎曲所需的空間。
[0096]為此,用戶定義搭建元件的聯接元件可以通過第一體積605和第二體積606定義,所述第一體積605將被材料裝填,允許聯接元件602抓持在用戶定義的搭建元件上,且第二體積606應該保持為空的,允許聯接元件602滑動就位,包括連接件臂彎曲所需的空間。應理解,兩種類型的體積,即必須被材料填充的一個或多個體積和必須保持空的體積,也可以針對其他類型的聯接元件定義。
[0097]通過針對每一個類型的搭建元件限定上述兩種類型的體積,該方法可以隨后執行與聯接元件相關的設計約束條件。要被包括在用戶定義的搭建元件中的聯接元件可以由此涉及包括兩個類型的體積作為圖示用戶定義搭建元件的分層數據結構的葉節點。該方法可以進一步產生后繼節點,其將與聯接元件相關的體積和其余形狀組合。具體說,第一體積可以通過并集運算組合,而第二體積可以通過差集運算組合。
[0098]具體說,與搭建元件相關的體積可以置于樹結構的根附接,而由用戶設計的所有形狀被置于在隸屬于與聯接元件相關的體積的子樹中,由此確保通過用戶添加的實體體積沒有填充聯接元件所需的空腔。類似地,該方法可以確保用戶不切掉適當聯接功能所需的聯接元件的任何部分。
[0099]圖6b示意性地示出了樹結構形式的數字圖示的例子。樹結構包括葉621、622、623,其中葉621圖示用戶定義的形狀,而葉622和623圖示與可附接到預制造搭建元件601的聯接元件602的聯接元件相關的體積。葉622圖示需要成為實體(即被填充材料)的第一體積,而葉623圖示需要保持為空的第二體積。即使節點621顯示為是葉節點,但是應理解節點621可以是子樹的根,所述子樹包括圖示一起形成用戶定義形狀621的相應部分形狀的組合的多個節點。
[0100]在體積623從體積621減去(如節點624所圖示的)且體積622通過并集運算(如根節點625所圖示的)被添加到形成的差集體積時,所形成的形狀具有體積626示出的形式,確保形成的搭建元件可連接到聯接元件602。具體說,因為被用戶設計的形狀621隸屬于限定了連接件的體積622和623,所以形狀623總是雕刻出用于讓聯接元件能夠滑動就位的必要的空間,且形狀622總是添加材料在需提供可讓聯接元件602鉸鏈其上的邊緣處。
[0101]因此,在例如CSG樹的樹結構中,在與聯接元件相關的體積被應用在根層中時,用戶定義搭建元件的最終形狀的聯接完整性可以被確保。
[0102]進一步應理解,該方法可包括相關的體積,其圖示輸入的基部模型,以確保設計的物品沒有任何部分與針對其所設計的模型沖突。進而,該方法可以計算該物品在選擇的連接件上滑動就位所需的必要的額外自由空間,以有效安全地確保用戶不會做出理論上適合但在現實中無法附接的設計。
[0103]再次參見圖4,應理解,即使步驟S403顯示為是圖4中的單獨的步驟,但是設計約束條件的確認和/或執行可以部分地或完全地整合到步驟S401和S402中之一或兩者,例如上面關于聯接元件相對于網格有效定位的執行所述的。
[0104]在完成該設計方法時,例如通過響應于用戶的命令,該方法可以將最終數字圖示410發送到3D打印機或另一合適的外設,用于自動制造搭建元件;或者該方法可以返回到步驟S401,允許用戶繼續該設計方法。在用戶已經完成該設計方法且準備好用于制造設計的搭建元件時,搭建元件的精確形狀在軟件中圖示為實體幾何體說明,例如基于如上所述的分層數據結構。應理解,該方法可以將數字圖示保存在非易失存儲器中,保存在硬盤或其他合適的存儲介質上。
[0105]在將該模型發送到3D打印機系統之前,該軟件可以對該模型執行各種檢查和調試,可能需要其中的一些,取決于采用的實際3D打印技術。
[0106]許多3D打印機通過將底部層疊到頂部或將頂部層疊到底部而制造物品層。在上(或下)鉸接細節(即直到3D打印過程達到連接它們的層才連接到物體的其余部分的細節)兩種情況下,可能需要調試要被打印的物體。為了防止這樣的(暫時)分段且不連接的結構,可能需要在將模型發送到打印機之前對模型增加臨時支撐結構,其通常是微小的材料柱,該微小的柱材料將支撐結構的該分開的部分直到打印完成。用戶隨后通過手動除去這些支撐結構且整理該物品,例如通過切割或研磨掉該柱剩余的突柱。[0107]進而,在打印過程中可能需要增加支撐結構以使得在各種細節部上的重力最小化。該軟件方法可以在打印物體之前關于該物品進行這些物理計算,且該方法可以自動地或與用戶協作指定在哪里和如何包括支撐結構。
[0108]該軟件也將能在制造設計的物品之前執行該設計物品的完整性的其他檢查,通常通過關于該幾何結構應用數學形態學方法。這種檢查可包括針對過于薄而難以生產和持久的不連接段和部分進行檢測(和做出警告)。
[0109]還有,數學形態學方法可用于在非常大的實體體積內部引入空腔一或使整個實體結構制造成為殼體形式而不修改任何表面部分——以便減少材料使用、能量使用、制造時間和/或價格或以降低制造的物體的重量和應變。再次,該需要和方法可以變化,取決于手邊的3D打印技術。
[0110]進而,該方法可以發送不變的數字圖示,在轉換為不同格式之后發送。該軟件方法可以進一步直接地與3D打印機(和其附隨的更低水平的驅動軟件)相互作用,包括與用戶的任何所需交互(支持用戶所需的手動設置過程的對話)。這是有利的,因為未訓練的用戶可能不能將實體模型輸出為文件,可能地會將其轉換為適應特定打印機的其他3D文件格式,且最后使用一些第三方軟件打印它。為了支持未訓練的用戶且允許設計循環快速重復,整個制造過程必須是軟件的整合部分。
[0111]最后,在步驟S404,用戶定義的搭建元件通過3D打印機或其他外設制造。應理解,本領域技術人員可以在本發明的范圍內實施上述方法的變形形式。例如,一些上述步驟的順序可以改變,步驟可以組合等。
【權利要求】
1.一種產生用戶定義的搭建元件的數字圖示的計算機實施方法,所述用戶定義的搭建元件可連接到玩具搭建系統的一個或多個預制造玩具搭建元件,每一個預制造玩具搭建元件包括多個聯接元件,用于將該預制造玩具搭建元件與所述玩具搭建系統的一個或多個其他預制造玩具搭建元件聯接,所述方法包括 確定用于放置要被包括在用戶定義的搭建元件中的一個或多個聯接元件的一個或多個位置; 接收表示用戶定義形狀的用戶的輸入; 至少從用戶輸入和經確定的一個或多個位置產生用戶定義的搭建元件的數字圖示,所述用戶定義的搭建元件包括在所述確定的一個或多個位置處的所述一個或多個聯接元件; 提供數字圖示,以用于自動制造所述用戶定義的搭建元件。
2.如權利要求1所述的方法,進一步包括,針對每一個聯接元件,限定與聯接元件相關的用戶定義形狀的一個或多個設計約束條件;并且其中,產生數字圖示包括執行確定的設計約束條件。
3.如權利要求2所述的方法,其中執行設計約束條件包括產生用戶定義的搭建元件的數字圖示,用戶定義的搭建元件具有根據用戶輸入和設計約束條件確定的改變的形狀,且包括在所述確定的一個或多個位置處的所述一個或多個聯接元件。
4.如權利要求2或3所述的方法,其中數字圖示表示要被材料占據的元件體積,以便形成用戶定義的搭建元件;其中與聯接元件相關的至少第一設計約束條件包括限定與聯接元件相關的第一體積;且其中執行第一設計約束條件包括產生表示包括第一體積的元件體積的數字圖示。
5.如權利要求4所述的方法,其中執行設計約束條件包括產生用戶定義的搭建元件的數字圖示,所述用戶定義的搭建元件具有被材料占據的改變的體積,所述改變的體積包括所述用戶定義的體積與所述第一體積的并集。
6.如權利要求2到5中任一項所述的方法,其中數字圖示表示要被材料占據的元件體積,以便形成用戶定義的搭建元件;其中與聯接元件相關的至少第二設計約束條件包括限定與聯接元件相關的第二體積;并且其中執行第二設計約束條件包括產生表示不包括第二體積的元件體積的數字圖示。
7.如權利要求6所述的方法,其中執行設計約束條件包括產生用戶定義的搭建元件的數字圖示,所述用戶定義的搭建元件具有被材料占據的改變的體積,所述改變的體積被確定為所述用戶定義的體積與所述第二體積的差集。
8.如權利要求1到 7中任一項所述的方法,其中數字圖示表示要被材料占據的元件體積,以便形成用戶定義的搭建元件;其中方法包括: 獲得用所述玩具搭建元件搭建的玩具搭建模型的數字圖示;且 限定用戶定義形狀的第三設計約束條件,其中第三設計約束條件包括從獲得的數字圖示確定表示與玩具搭建模型的至少一部分相關的體積的第三體積;和 產生表示不包括第三體積的元件體積的數字圖示。
9.如權利要求1到8中任一項所述的方法,其中數字圖示表示要被材料占據的元件體積,以便形成用戶定義的搭建元件。
10.如權利要求1到9中任一項所述的方法,其中確定用于放置要被包括在用戶定義的搭建元件中的一個或多個聯接元件的一個或多個位置進一步包括從一組類型的聯接元件中選擇用于一個或多個聯接元件的每一個的相應類型的聯接元件。
11.如權利要求1到10中任一項所述的方法,其中 確定用于放置要被包括在用戶定義的搭建元件中的一個或多個聯接元件的一個或多個位置進一步包括選擇一個或多個位置作為用于放置聯接元件的位置的離散網格的網格點。
12.如權利要求1到11中任一項所述的方法,其中 確定用于放置要被包括在用戶定義的搭建元件中的一個或多個聯接元件的一個或多個位置包括接收表示一個或多個聯接元件和相應位置的用戶選擇的用戶輸入,且將所選擇的聯接元件的圖示放置在數據處理系統的顯示器上顯示的三維視圖中。
13.如權利要求1到12中任一項所述的方法,其中 確定用于放置要被包括在用戶定義的搭建元件中的一個或多個聯接元件的一個或多個位置包括接收表示多個模板搭建元件中一個的數字圖示的用戶選擇的用戶輸入,所述模板搭建元件包括定位在相應預定位置處的多個聯接元件。
14.如權利要求1到13中任一項所述的方法,其中 確定用于放置要被包括在用戶定義的搭建元件中的一個或多個聯接元件的一個或多個位置包括: 獲得用玩具搭建元件搭建的玩具搭建模型的數字圖示; 選擇可附接用戶定義的搭建元件的所述獲得的玩具搭建模型的一個或多個聯接元`件; 從獲得的玩具搭建模型的所選擇的一個或多個聯接元件的位置確定用于放置要被包括在用戶定義的搭建元件中的一個或多個聯接元件的所述一個或多個位置。
15.如權利要求14所述的方法,進一步包括 從獲得的玩具搭建模型的所選擇的一個或多個聯接元件的聯接元件的檢測類型確定與每一個確定的位置相關的聯接元件的類型。
16.一種制造用戶定義的搭建元件的方法,所述用戶定義的搭建元件可連接到玩具搭建系統的預制造玩具搭建元件,每一個預制造玩具搭建元件包括用于將該預制造玩具搭建元件與所述玩具搭建系統的一個或多個其他預制造玩具搭建元件聯接的多個聯接元件,所述方法包括 通過執行權利要求1到15中任一項限定的所述的方法的步驟產生用戶定義的搭建元件的數字圖示; 基于所述數字圖示制造用戶定義的搭建元件。
17.如權利要求16所述的方法,其中數字圖示表示要被材料占據的元件體積,以便形成用戶定義的搭建元件,且其中制造包括通過預定材料填充至少所述元件體積。
18.如權利要求16或17所述的方法,其中制造包括3D打印過程。
19.一種數據處理系統,包括在其上存儲了計算機程序的存儲介質,所述計算機程序包括在數據處理系統上運行所述程序時,用于執行權利要求1到16中任一項的所有步驟的程序代碼。
20.如權利要求19所述的數據處理系統,包括3D打印機,其配置為基于所述數字圖示制造用戶定義的搭建元件。
21.一種計算機程序,包括在計算機上運行所述程序時,用于執行權利要求1到16中任一項的所有步驟的程序代碼。
22.一種實施為載波的數據信號,所述數據信號包括在計算機上運行所述程序代碼時,用于執行權利要求1到16任一項的所有步驟的程序代碼。
【文檔編號】A63H33/08GK103764237SQ201280043191
【公開日】2014年4月30日 申請日期:2012年7月4日 優先權日:2011年7月5日
【發明者】E.巴赫, T.格喬拉普 申請人:樂高公司