TW201604834A - 3d模型的平面區域搜尋方法 - Google Patents
3d模型的平面區域搜尋方法 Download PDFInfo
- Publication number
- TW201604834A TW201604834A TW103124705A TW103124705A TW201604834A TW 201604834 A TW201604834 A TW 201604834A TW 103124705 A TW103124705 A TW 103124705A TW 103124705 A TW103124705 A TW 103124705A TW 201604834 A TW201604834 A TW 201604834A
- Authority
- TW
- Taiwan
- Prior art keywords
- model
- area
- plane
- planar
- contour
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
Abstract
一種3D模型的平面區域搜尋方法,用以搜尋一3D模型上可與其他一或多個3D模型進行結合的平面區域。搜尋方法包括下列步驟:取得3D模型之輪廓;以輪廓在基礎軸向上的最低點作為定位點;由定位點朝另外兩個軸向延伸,以尋找3D模型的輪廓上所有與定位點位於相同的基礎軸向高度的座標點;保留連續且可構成平面區域之複數座標點;記錄平面區域;定位點於基礎軸向之數值加上一固定變數;及,重複執行上述步驟,直到定位點為3D模型的輪廓在基礎軸向上的最高點為止。本發明可確實地找出3D模型的輪廓上的所有平面區域,以利於和其他的3D模型進行結合。
Description
本發明係有關搜尋方法,尤其有關於搜尋3D模型的輪廓上的平面區域的搜尋方法。
3D列印能夠快速且客製化地製造使用者所需之實體模型,相當便利。再者,隨著3D列印技術的發展越趨成熟,3D印表機的價格亦越來越便宜。是以,近年來,3D列印技術以相當快速的腳步普及於一般大眾的生活週遭。
3D印表機是依據一編輯軟體所編輯或載入的3D模型來列印出對應的實體模型,換句話說,3D模型的樣貌係會直接影響到列印出來的實體模型的樣貌。一般來說,一個3D模型的最終成品,通常是由多個各別的3D模型所組合而成的。舉例來說,若要編輯一個在桌面上加註有數字的桌子,則可先編輯一個桌子的3D模型,再編輯一個數字的3D模型,最後再將該二3D模型進行結合而成。
值得一提的是,在多個3D模型進行結合時,主要是將一個3D模型置入在另一個3D模型的輪廓上的平面區域,藉此,確保列印出來的實體模型可以是平整的。惟,電腦與人腦不同,無法直接判斷出一個3D模型的輪廓上哪裡是平面區域,哪裡不是平面區域。
是以,時下編輯者在對多個3D模型進行結合時,通常是通過肉眼來尋找一個3D模型的輪廓上的平面區域,並且再手動將另一個3D模型置入該平面區域上,以完成兩個3D模型的結合,實相當不便。
本發明提供一種3D模型的平面區域搜尋方法,可確實地找出3D模型的輪廓上的所有平面區域,以利於和其他一或多個3D模型進行結合。
於本發明實施例中,該搜尋方法包括下列步驟:取得3D模型之輪廓;以輪廓在基礎軸向上的最低點作為定位點;由定位點朝另外兩個軸向延伸,以尋找3D模型的輪廓上所有與定位點位於相同的基礎軸向高度的座標點;保留連續且可構成平面區域之複數座標點的座標資料;記錄平面區域;定位點於基礎軸向之數值加上一固定變數;及,重複執行上述步驟,直到定位點為3D模型的輪廓在基礎軸向上的最高點為止。
當一個3D模型要與其他一或多個3D模型進行組合時,主要是組合在該3D模型的輪廓上的各個平面區域,然而,電腦無法直接判斷3D模型的輪廓上哪裡具有平面區域。本發明對照相關技術所能達到的技術功效在於,能夠確實地找出3D模型的輪廓上的所有平面區域。藉此,利於在一3D模型上組合其他一或多個3D模型,例如文字、符號或圖案等。
4‧‧‧第一3D模型
40‧‧‧不規則模型
41‧‧‧定位點
51‧‧‧第一平面區域
52‧‧‧第二平面區域
53‧‧‧第三平面區域
54‧‧‧第四平面區域
541、542、543、544、545、546、547‧‧‧平面
8‧‧‧第二3D模型
9‧‧‧第三3D模型
P1、P2、P3、P4‧‧‧平面
S10~S14‧‧‧匯入步驟
S20~S40‧‧‧搜尋步驟
S60~S78‧‧‧結合步驟
圖1為本發明的第一具體實施例的3D模型匯入流程圖。
圖2為本發明的第一具體實施例的搜尋流程圖。
圖3為本發明的第一具體實施例的第一搜尋動作示意圖。
圖4為本發明的第一具體實施例的第二搜尋動作示意圖。
圖5為本發明的第一具體實施例的第三搜尋動作示意圖。
圖6為本發明的第二具體實施例的平面區域示意圖。
圖7為本發明的第三具體實施例的平面區域示意圖。
圖8為本發明的第一具體實施例的3D模型結合流程圖。
圖9A為本發明的第一具體實施例的第一結合動作示意圖。
圖9B為本發明的第一具體實施例的第二結合動作示意圖。
茲就本發明之一較佳實施例,配合圖式,詳細說明如後。本發明揭露了一種3D模型的平面區域搜尋方法(下面將於說明書內文中簡稱為該搜尋方法),該搜尋方法主要係運用於一編輯軟體之中。該編輯軟體用以編輯一3D模型並儲存為一3D模型檔案,而編輯完成的該3D模型係供一3D印表機(3D Printer)輸出成一實體模型。
首請參閱圖1,為本發明的第一具體實施例的3D模型匯入流程圖。本發明的該搜尋方法首先將一第一3D模型檔案匯入上述該編輯軟體中(步驟S10),藉此於該編輯軟體中開啟一第一3D模型(如圖3中所示之第一3D模型4,下面將於說明書內文中簡稱為該第一模型4)。本實施例中,該第一3D模型檔案主要係為副檔名“.stl”之檔案,但不加以限定。
該編輯軟體匯入該第一3D模型檔案並開啟該第一模型4後,即可取得該第一模型4之輪廓(步驟S12),並且,取得構成該輪廓的複數座標點之座標資料(步驟S14)。值得一提的是,不同的編輯軟體對於3D模型的處理方式可能有所不同,因此步驟S12與步驟S14的執行順序並不以上述為限。例如,本實施例中該編輯軟體係先得到該第一模型4的輪廓,再取出構成該輪廓的各個座標點的座標資料;而於其他實施例中,該編輯軟體亦可先由該第一3D模型檔案中取得所有座標點的座標資料後,再取出位於輪廓上的複數座標點的座標資料,藉以構成該第一模型4的輪廓。然而,上述僅為本發明之較佳具體實例,但不應以上述為限。
續請參閱圖2,為本發明的第一具體實施例的搜尋流程圖。本發明中,該編輯軟體可於該第一模型4開啟後自動執行圖2所述之搜尋流程,或者,亦可於編輯者(圖未標示)手動觸發一搜尋功能後,再執行圖2所述之搜尋流程,不加以限定。通過圖2所述之搜尋流程,該編輯軟體可在該第一模型4的輪廓上找出能夠和其他一或多個3D模型進行結合的一或多個平面區域。
本發明中,該編輯軟體是一種可以編輯3D模型的軟體,並且其可編輯區域包含了三個軸向。於該第一模型4被開啟後,編輯者需設定其中一個軸向為一基礎軸向(步驟S20)。一般來說,3D模型的編輯軟體主要係以X、Y、Z三個軸向為主,然而,依據3D模型被載入時的初始值(例如角度)之不同,其可編輯區域可不以X、Y、Z為限。為方便說明,下面將於說明書中以X、Y、Z三軸為例,並以Z軸作為該基礎軸向,以舉例說明,但並非以此限定本案之申請專利範圍。
該基礎軸向設定完成後,該編輯軟體進一步將該第一模型4的輪廓上的複數座標點中,在該基礎軸向上的最低點做為一定位點(例如圖3所示的該定位點41)(步驟S22)。舉例來說,若該第一模型4的輪廓包含了(X.Y.0)至(X.Y.100)等n個座標點,則因該些座標點中Z軸數值最小者為“0”,故該編輯軟體會將座標點(X.Y.0)作為初始的該定位點41,並且由下而上進行搜尋。然而,於其他實施例中,該編輯軟體同樣可將該第一模型4的輪廓上的複數座標點中,在該基礎軸向上的最高點做為該定位點41,並且由上而下進行搜尋,不加以限定。
該步驟S22後,該編輯軟體係由該定位點41朝三軸的另外兩個軸向延伸,尋找該第一模型4的輪廓上所有與該定位點41位於相同的基礎軸向高度的座標點(步驟S24)。舉例來說,若該定位點41為(10.10.0),則該編輯軟體可尋找(9.10.0)、(11.10.0)、(10.9.0)、(10.11.0)、……等座標點。接著,保留連續且可構成一或多個平面區域之複數座標點之座標資料(步驟S26)。步驟S26後,不連續的座標點,或是有連續但是無法構成一個有效的平面區域的座標點都會被捨棄。
接著,該編輯軟體進一步判斷上述一或多個該平面區域的面積是否大於一預設之門檻值(步驟S28)。若否,則捨棄面積小於該門檻值的一或多個該平面區域(步驟S30)。本實施例中,該門檻值可由該編輯軟體自動設定,或由編輯者手動設定,不加以限定。於另一實施例中,若編輯者已確定了要組合的另一3D模型的面積大小,則可將該門檻值設為該另一3D模型之面積數值,藉此,可確保被記錄下來的一或多個該平面區域可以被用來與該另一模型進行組合。
若一或多個該平面區域的面積大於該門檻值,則該編輯軟體進一步判斷一或多個該平面區域是否已被保留(步驟S32)。本發明中,該第一模型4實可同時與多個3D模型進行結合(通過多個平面區域分別結合多個3D模型,或是於單一平面區域上以不重疊方式結合多個3D模型)。是以,若一或多個該平面區域已被保留用於與其他3D模型結合,則該編輯軟體捨棄已被保留的該平面區域(步驟S36),不再次記錄該平面區域,藉此排除多個3D模型與該第一模型4結合後產生重疊的情況。然而,視實際所需而定,該編輯軟體可僅判斷一或多個該平面區域的面積是否大於該門檻值,也可僅判斷一或多個該平面區域是否已被保留,上述該步驟S28與該步驟S32可不必然同時存在。並且,該編輯軟體係可對面積太小或已被保留的該平面區域進行標記,並於該步驟S30與該步驟S36中,捨棄被標記的該平面區域。
如前文所述,若一或多個該平面區域大於該門檻值,並且尚未被保留,則記錄一或多個該平面區域(步驟S36)。該步驟S30、該步驟S34或該步驟S36後,該編輯軟體判斷該定位點41是否為該第一模型4的輪廓在該基礎軸向上的最高點(步驟S34)。若是,表示該第一模型4於該基礎軸向上的搜尋已經完成。若否,則將該定位點41的座標資料在該基礎軸向上的數值加上一固定變數(步驟S36),並且重複執行步驟S24至步驟S34,值到該第一模型4搜尋完成為止。
值得一提的是,依據3D印表機的解析度或列印速度不同而定,該固定變數可能為不同的數值,例如為0.01、0.1、1、3、5等。當該固定變數較小時,該第一模型4的搜尋時間就越長,但搜尋結果越準確;反之,當該固定變數較大時,該第一模型4的搜尋時間就越短,但搜尋結果也就較為粗糙,端看使用者之需求而定。上述該固定變數主要為一正值,而若該編輯軟體初始係將該第一模型4的輪廓在該基礎軸向上的最高點做為該定位點41,並且由上而下進行搜尋,則該固定變數還可為一負值。
上述步驟係用以搜尋該第一模型4的輪廓在該基礎軸向上的平面區域,當該第一模型4於該基礎軸向上的搜尋動作結束後,可改以其他兩軸作為該基礎軸向,並重複執行上述該步驟S22至該步驟S40,以尋找該第一模型4在其他軸向上的平面區域。舉例來說,上述實施例係以搜尋該第一模型4的輪廓在Z軸上的平面區域來進行說明。當以Z軸作為該基礎軸向且搜尋完成後,可再改以X軸、Y軸作為該基礎軸向,並重複執行上述該步驟S22至該步驟S40,以尋找該第一模型4的輪廓在X軸、Y軸上的平面區域。如此一來,該編輯軟體可得到該第一模型4在所有軸向上的平面區域。
於本發明的一實施例中,該編輯軟體係可在搜尋完所有符合需求且尚未被保留的平面區域後,以清單(list)的方式顯示所有候選的平面區域,以供使用者選擇要採用哪一個平面區域來與另一模型進行組合。於本發明的另一實施例中,該編輯軟體係可在每搜尋到一個平面區域後,皆判斷該平面區域的面積是否足以用來與另一模型進行組合,若是則不再繼續搜尋,若否則在調整該定位點41的基礎軸向高度後繼續搜尋其他平面區域。
請同時參閱圖3、圖4及圖5,分別為本發明的第一具體實施例的第一搜尋動作示意圖、第二搜尋動作示意圖及第三搜尋動作示意圖。如圖3所示,該第一模型4的輪廓係由複數個座標點所構成,若將Z軸設定為上述的該基礎軸向,則Z軸數值最低的複數座標點的其中之一會被當為初始的該定位點41。圖3中係以座標點(0.0.0)作為初始的該定位點41,但座標點(1.0.0)、(2.0.0)至(100.0.0)、(100.1.0)、(100.2.0)至(100.200.0)、(0.1.0)、(0.2.0)至(0.200.0)及(1.200.0)、(2.200.0)至(99.200.0)等座標點也可作為初始的該定位點41,不加以限定。
該編輯軟體在該定位點41確定完成之後,係尋找該第一模型4的輪廓上所有與該定位點41位於相同的基礎軸向高度的座標點。若該定位點41為座標點(0.0.0),則是搜尋(1.0.0)至(100.0.0)、(100.1.0)至(100.200.0)、(0.1.0)至(0.200.0)及(1.200.0)至(99.200.0)等座標點。
值得一提的是,由於文字、符號等模型並不適合組合在該第一模型4的底面上,因此若不考慮該第一模型4的底面,則由於(1.1.0)、(2.2.0)等座標點不在該第一模型4的底面以外的輪廓上,因此該編輯軟體不會保留該些座標點。如上所述,該編輯軟體在搜尋後,會發現雖然(0.0.0)、(0.1.0)至(0.200.0)及(1.0.0)、(2.0.0)至(100.0.0)等座標點係為連續的座標點,但是該些座標點只能構成一直線,但無法構成一個平面區域(在不考慮該第一模型4的底面的前提下)。
當Z軸數值為“0”的所有座標點皆搜尋完畢後,該編輯軟體將該定位點41的座標資料在Z軸上的數值加上該固定變數。為方便說明,下面說明中該固定變數將會以1來舉例(即,Z軸調整後的數值為“1”,該定位點41為(0.0.1))。Z軸的數值調整完後,重新搜尋該第一模型4的輪廓上Z軸數值為“1”的所有座標點,例如(1.0.1)、(2.0.1)至(100.0.1);(0.1.1)、(0.2.1) 至(0.200.1);(100.1.1)、(100.2.1) 至(100.200.1)及(1.200.1)、(2.200.1) 至(99.200.1)等,並且找出是否有連續且可以構成一個平面區域的複數座標點。
接著如圖4所示,有一第一平面區域51位於Z軸數值為“70”之高度,則當該定位點41的座標資料在Z軸的數值被修改為“70”,且該編輯軟體搜尋該第一模型4的輪廓上Z軸數值為“70”的所有座標點時,會發現在此Z軸高度上,具有連續且可構成該第一平面區域51的複數座標點。如圖4所示,該第一平面區域51係以(0.10.70)、(100.10.70)、(0.110.70)及(100.110.70)等四個座標點所框成的長方形區塊為例,並且該第一平面區域51係由一萬個座標點所構成((100-0)*(110-10)=10000)。
若該第一平面區域51的面積大於預先設定的該門檻值,並且尚未被保留,則該第一平面區域51會被記錄下來。反之,若該第一平面區域51的面積小於預先設定的該門檻值,或是已經被保留用來與其他3D模型進行結合,則即使該編輯軟體找到了該第一平面區域51,該第一平面區域51也會被捨棄而不記錄下來。
本實施例中,該編輯軟體會持續增加該定位點41的座標資料於該基礎軸向上(於本實施例中為Z軸)的數值,並搜尋該第一模型4的輪廓上所有位於當前基礎軸向高度上的座標點。接著如圖5所示,當該定位點41在Z軸的數值被修改為該第一模型4的輪廓於Z軸的最高值“100”時,會在搜尋後發現在此Z軸高度上,具有連續且可構成一第二平面區域52的複數座標點,以及連續且可構成一第三平面區域53的複數座標點。
該編輯軟體將該第二平面區域52的面積以及該第三平面區域53的面積分別與該門檻值進行比對,並且記錄面積大於該門檻值且尚未被保留的平面區域。於圖4的實施例中,該第二平面區域52係由一千個座標點所組成,而該第三平面區域53係由九千個座標點所組成。
如上所述,通過本發明所示之搜尋方法,則該第一模型4經過該編輯軟體的搜尋後,會找到三個在Z軸上的平面區域(以不計算該第一模型4的底面為前提),即該第一平面區域51、該第二平面區域52及該第三平面區域53。若編輯者要進一步尋找該第一模型4在X軸或Y軸上的平面區域,則可重新設定該基礎軸向為X軸或Y軸,並且再次進行搜尋。
如前文中所述,本發明主要是搜尋該第一模型4的輪廓上所有與該定位點41位於相同的基礎軸向高度的座標點。然而值得一提的是,於實際情況下,一個平面區域中的各個座標點之間可能具有些微高度落差(例如凹點、凸點、或是具有高度落差的多個平面),但該高度落差並不會對兩個3D模型的組合造成影響。
參閱圖6,為本發明的第二具體實施例的平面區域示意圖。本實施例中,該基礎軸向係被設定為Z軸。當該定位點41的基礎軸向高度調整至“65”時(例如將該定位點41的座標調整為(100,0,65)),該編輯軟體可於此高度上搜尋到該第一模型4的輪廓上具有一平面541。若該平面541的面積大於該門檻值並且尚未被保留,則該編輯軟體可保留該平面541。反之,若該平面541不適用,則該編輯軟體再次調整該基礎軸向高度並重新搜尋。
當該定位點41的基礎軸向高度調整至“68”時(例如將該定位點41的座標調整為(100,0,68)),該編輯軟體可於此高度上搜尋到該第一模型4的輪廓上具有另一平面542。若該平面542的面積大於該門檻值並且尚未被保留,則該編輯軟體可保留該平面542。反之,若該平面542不適用,則該編輯軟體再次調整該基礎軸向高度並重新搜尋。
當該定位點41的基礎軸向高度調整至“70”時(例如將該定位點41的座標調整為(100,0,70)),該編輯軟體可於此高度上搜尋到該第一模型4的輪廓上具有複數不連續的平面543、544、545及546。此時,該編輯軟體分別判斷該些平面543、544、545、546的面積是否大於該門檻值,以及是否已被保留,藉以判斷是否要保留該些平面543、544、545、546,以及是否要進一步調整該基礎軸向高度,以繼續尋找其他高度的平面區域。
值得一提的是,該編輯軟體在尋找該第一模型4的輪廓於該基礎軸向上的平面區域時,主要可為該定位點41設定一誤差值。其中,該誤差值主要係可隨著解析度而有所不同,例如1至2點,或是5至10點等等。
如圖6所示,該平面542與兩側的平面相鄰的該二平面543、544不在同一個高度上,故不屬於連續的平坦面,然而,若該平面542與該二平面543、544間的高度落差在上述誤差值的範圍內,則該編輯軟體會將該三平面542、543、544視為一連續的平坦面。再者,該平面541與相鄰的該二平面544、545也不在同一個高度上,然而若該平面541與該二平面544、545間的高度落差在上述誤差值的範圍內,則該編輯軟體會將該些平面541-545視為一連續的平坦面。
更具體而言,除了凹陷面之外,該編輯軟體對於凸起面也可設置對應的誤差值。如圖6所示,一平面547主要位於該基礎軸向的高度“72”的位置(當該定位點41的座標調整為(100,0,72)時可搜尋到該平面547)。由圖6中可看出,該平面547與相鄰的該二平面545、546不在同一個高度上。然而,若該平面545與該二平面545、546間的高度落差在上述誤差值的範圍內,則該編輯軟體會將該些平面541-547視為一連續的平坦面。本實施例中,該些平面541-547構成的連續平坦面,即為上述的該第四平面區域54。由此可看出,當該定位點41位於不同的基礎軸向高度時,該編輯軟體可以找出不同大小的有效平面區域。
如上所述,於圖2的步驟S24中,該編輯軟體可以是搜尋該第一模型4的輪廓上所有位於與該定位點「相同或相近」的基礎軸向高度的座標點。同樣地,若該第一模型4的輪廓上由複數座標點構成了一弧面,但只要該弧面的弧度在上述誤差值的範圍內,該編輯軟體仍會將該弧面視為是一個有效的平面區域。然而,上述僅為本發明的較佳具體實例,不應以此為限。
再者,依據3D印表機的解析度與列印速度的不同,該編輯軟體也可不搜尋該第一模型4的輪廓上的每一個座標點。舉例來說,若當前的該定位點41為(0.0.70)且該基礎軸向設定為Z軸,則該編輯軟體可僅搜尋(3.0.70)、(6.0.70)、(9.0.70)等座標點,而不搜尋(1.0.70)、(2.0.70)、(4.0.70)、(5.0.70)、(7.0.70)、(8.0.70)等座標點,藉此,可加快該編輯軟體的搜尋速度。再者,如上所述,由於小範圍的高度落差不會影響3D模型的組合,因此通過上述方式,可避免因輪廓上的少數凸點、凹點、或高度不同的多個平面而被該編輯軟體誤判為該輪廓上不具有任何連續且有效的平面區域的問題。
於前述實施例中,該第一模型4主要係以一表面平整的凹型體為例,以利於說明。然而於實際運用上,該編輯軟體所匯入的3D模型,可能為表面極為凹凸不平的模型。由於編輯者肉眼難以直接判定該模型的何處為平坦面,以及平坦面的實際尺寸大小是否符合需求,因此需要藉由該編輯軟體以及本發明的方法來快速搜尋所需之平坦面。
參閱圖7,為本發明的第三具體實施例的平面區域示意圖。圖7揭露了一不規則模型40,該不規則模型40具有相當不規則之表面,令編輯者難以於第一時間以肉眼找出該不規則模型40上符合需求的平坦面。而當該編輯軟體匯入該不規則模型40後,可經由上述本發明之方法,於不同的該基礎軸向高度上,找出平面P1、P2、P3、P4等四個平面。
本實施例中,該些平面P1-P4可能位於相同的基礎軸向高度,屬於一連續平坦面,也可能位於不同的基礎軸向高度,屬於不連續的多個平坦面。再者,該些平面P1-P4也可能位於不同的基礎軸向高度,但其高度落差小於上述誤差值範圍,因此仍被該編輯軟體視為一連續之平坦面。然而,上述僅為本發明的較佳具體實例,不應以此為限。
續請參閱圖8,為本發明的第一具體實施例的3D模型結合流程圖。當該第一模型4上的所有平面區域皆搜尋完畢後,該編輯軟體係接著匯入一第二3D模型檔案(步驟S60),藉以開啟一第二3D模型(如圖9A中所示之第二3D模型8,下面將於說明書內文中簡稱為該第二模型8)。本實施例中,該第二3D模型檔案同樣為副檔名“.stl”之檔案,但不加以限定。
該第二模型8開啟後,該編輯軟體係判斷該第一模型4的輪廓上的一或多個平面區域的面積是否大於該第二模型8的面積(步驟S62)。若有任一個平面區域的面積大於該第二模型8的面積,則將該第二模型8置入相應的該平面區域上(步驟S64)。本實施例中,若有複數個平面區域的面積大於該第二模型8的面積,則該編輯軟體係優先選用面積最大的平面區域,或是優先選用呈正方形的平面區域,以置入該第二模型8,但不加以限定。再者,於其他實施例中,該編輯軟體亦可優先選用面積與該第二模型8的面積最為接近的平面區域(即,使兩者之間的面積差距為最小,以避免平面之浪費)。
值得一提的是,若該第一模型4上的一或多個該平面區域中,已記錄有為該第二模型8所保留的平面區域,則可直接將該第二模型8置入預先保留的平面區域,不必再進行比對。
當該第二模型8置入後,可對該第二模型8進行微調(步驟S66),例如微調大小、旋轉角度、或是改為置入其他平面區域等,不加以限定。
待確定了該第二模型8的大小、位置、角度後,該編輯軟體係可自動或經由編輯者手動觸發,以將該第一模型4與該第二模型8進行結合,並產生一第三3D模型(如圖9B中所示之第三3D模型9,下面將於說明書內文中簡稱為該第三模型9)(步驟S68)。最後,依據該第三模型9輸出一第三3D模型檔案(步驟S70)。本實施例中,該第三3D模型檔案同樣為副檔名“.stl”之檔案,但不加以限定。本發明中,該第一模型4可與多個3D模型進行結合,因此除了該第二模型8之外,若還要與其他3D模型進行組合,則可重覆執行上述該步驟S60至該步驟S66。
若於該步驟S62中,判斷該平面區域的面積小於該第二模型8的面積,則判斷是否由編輯者手動調整該第二模型8的大小(步驟S72)。若是,則由編輯者對該第二模型8進行調整(步驟S74),並且進一步執行步驟S64。
承上,若不由編輯者手動調整該第二模型8的大小,則該編輯軟體進一步判斷是否可選擇該第一模型4的輪廓上的其他平面區域(步驟S76)。若是,則返回該步驟S62,判斷另一平面區域的面積是否大於該第二模型8的面積。再者,若於該步驟S76中,判斷已沒有其他平面區域可供選擇,則該編輯軟體顯示一警示訊息(步驟S78),以提醒編輯者該第二模型8無法與該第一模型4進行結合。
續請參閱圖9A及圖9B,分別為本發明的第一具體實施例的第一結合動作示意圖及第二結合動作示意圖。如圖9A所示,當該第二模型8被開啟後,該編輯軟體係判斷該第一平面區域51、該第二平面區域52與該第三平面區域53的面積是否大於該第二模型8的面積,以及是否已被保留。本實施例中,若該些平面區域51-53皆未被保留,則該編輯軟體係會優先採用面積最大的該第二平面區域52,或是優先採用呈正方形的該第三平面區域53。
本實施例中該第三平面區域53的面積係小於該第二模型8的面積,若要將該第二模型8置入該第三平面區域53中,則必須再由編輯者手動調整該第二模型8的大小。是以,本實施例中該編輯軟體係優先採用該第二平面區域52,但不加以限定。
如圖9B所示,該第二模型8置入該第二平面區域52後,編輯者可進一步對該第二模型8進行大小、位置或角度等參數之微調。於調整完成後,該編輯軟體可將該第一模型4與該第二模型8結合為單一個該第三模型9,並且依據該第三模型9輸出該第三3D模型檔案。值得一提的是,當該編輯軟體重新匯入該第三3D模型檔案後,係會開啟該第三模型9,而因該第三模型9是一個獨立的3D模型,因此編輯者無法再對該第一模型4與該第二模型8分別進行編輯。
通過本發明的搜尋方法,該編輯軟體可以在開啟該第二模型8後,自動將該第二模型8置入該第一模型4的輪廓上最適當的位置,藉此免除編輯者需以肉眼尋找該第一模型4的輪廓上的平面區域,以及需要手動編輯並組合該第二模型8的麻煩。再者,若該第一模型4的輪廓上具有多個平面區域,或是具有面積很大的平面區域,則亦可將該第一模型4與多個模型進行組合,其組合數量並不以兩個模型為限。
以上所述僅為本發明之較佳具體實例,非因此即侷限本發明之專利範圍,故舉凡運用本發明內容所為之等效變化,均同理皆包含於本發明之範圍內,合予陳明。
S20~S40‧‧‧搜尋步驟
Claims (11)
- 【第1項】一種3D模型的平面區域搜尋方法,係運用於一3D模型的編輯軟體,該搜尋方法包括:
a)匯入一第一3D模型檔案,並依據該第一3D模型檔案開啟一第一3D模型;
b)取得該第一3D模型的一輪廓;
c)取得該輪廓上的複數座標點之座標資料;
d)設定該第一3D模型的三個軸向的其中之一為一基礎軸向;
e)以該第一3D模型的該輪廓在該基礎軸向上的最低點作為一定位點;
f)由該定位點朝另外兩個軸向延伸,以尋找該輪廓上所有與該定位點位於相同或相近的基礎軸向高度的座標點;
g)保留連續且可構成一平面區域之複數座標點的座標資料;
h)步驟g後,若該定位點並非該輪廓在該基礎軸向上的最高點,將該定位點的座標資料在該基礎軸向上的數值加上一固定變數;及
i)步驟h後,依據修改後的該定位點重覆執行步驟f與步驟h。 - 【第2項】如請求項1所述的3D模型的平面區域搜尋方法,其中更包括下列步驟:
j)步驟g後,判斷該平面區域的面積是否大於一門檻值;
k)於該平面區域的面積大於該門檻值時記錄該平面區域;及
l)於該平面區域的面積小於該門檻值時捨棄該平面區域。 - 【第3項】如請求項2所述的3D模型的平面區域搜尋方法,其中該步驟k更包括下列步驟:
k1)若該平面區域的面積大於該門檻值,判斷該平面區域是否已被保留;
k2)於該平面區域尚未被保留時記錄該平面區域;及
k3)於該平面區域已被保留時捨棄該平面區域。 - 【第4項】如請求項2所述的3D模型的平面區域搜尋方法,其中該門檻值為一第二3D模型的面積數值,並且該第二3D模型用以置入該第一3D模型的該輪廓上的該平面區域。
- 【第5項】如請求項2所述的3D模型的平面區域搜尋方法,其中更包括下列步驟:
m)匯入一第二3D模型檔案並開啟一第二3D模型;
n)判斷該平面區域的面積是否大於該第二3D模型的面積;及
o)若該平面區域的面積大於該第二3D模型的面積,則將該第二3D模型置入該平面區域。 - 【第6項】如請求項5所述的3D模型的平面區域搜尋方法,其中該步驟l之後更包括下列步驟:
p)結合該第一3D模型與該第二3D模型以產生一第三3D模型;及
q)依據該第三3D模型輸出一第三3D模型檔案。 - 【第7項】如請求項5所述的3D模型的平面區域搜尋方法,其中若該輪廓上具有複數個該平面區域,則於該步驟o中,係優先採用面積最大的該平面區域。
- 【第8項】如請求項5所述的3D模型的平面區域搜尋方法,其中若該輪廓上具有複數個該平面區域,則於該步驟o中,係優先採用呈正方形的該平面區域。
- 【第9項】如請求項5所述的3D模型的平面區域搜尋方法,其中若該輪廓上具有複數個該平面區域,則於該步驟o中,係優先採用面積與該第二3D模型的面積最為接近的平面區域。
- 【第10項】如請求項5所述的3D模型的平面區域搜尋方法,其中更包括下列步驟:
r)若該平面區域的面積小於該第二3D模型的面積,判斷是否對該第二3D模型進行調整;
s)若對該第二3D模型進行調整,則將調整後的該第二3D模型置入該平面區域;
t)若不對該第二3D模型進行調整,則判斷該輪廓上是否具有另一個該平面區域;及
u)若該輪廓上具有另一個該平面區域,依據另一個該平面區域重新執行步驟n與步驟o。 - 【第11項】如請求項10所述的3D模型的平面區域搜尋方法,其中更包括一步驟v:步驟t後,若該輪廓上不具有另一個該平面區域,顯示一警示訊息。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103124705A TWI532007B (zh) | 2014-07-18 | 2014-07-18 | 3d模型的平面區域搜尋方法 |
CN201410373980.XA CN105321203B (zh) | 2014-07-18 | 2014-08-01 | 3d模型的平面区域搜寻方法 |
US14/535,298 US9437048B2 (en) | 2014-07-18 | 2014-11-06 | Searching method for plane area of 3D model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103124705A TWI532007B (zh) | 2014-07-18 | 2014-07-18 | 3d模型的平面區域搜尋方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201604834A true TW201604834A (zh) | 2016-02-01 |
TWI532007B TWI532007B (zh) | 2016-05-01 |
Family
ID=55074997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103124705A TWI532007B (zh) | 2014-07-18 | 2014-07-18 | 3d模型的平面區域搜尋方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9437048B2 (zh) |
CN (1) | CN105321203B (zh) |
TW (1) | TWI532007B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110349195B (zh) * | 2019-06-25 | 2021-09-03 | 杭州汇萃智能科技有限公司 | 一种基于深度图像的目标物体3d测量参数获取方法、***和存储介质 |
CN110688691A (zh) * | 2019-08-15 | 2020-01-14 | 杭州群核信息技术有限公司 | 一种基于酷家乐云设计平台的自由绘制台面的软件设计方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7023432B2 (en) * | 2001-09-24 | 2006-04-04 | Geomagic, Inc. | Methods, apparatus and computer program products that reconstruct surfaces from data point sets |
US8212812B2 (en) | 2007-05-21 | 2012-07-03 | Siemens Corporation | Active shape model for vehicle modeling and re-identification |
TWI370409B (en) | 2007-07-04 | 2012-08-11 | Ind Tech Res Inst | 3-d object fabrication methods and systems |
CN101274577A (zh) * | 2008-04-09 | 2008-10-01 | 徐鸿斌 | 雕塑样稿数字化简约成型工艺 |
CN101727675B (zh) * | 2008-10-30 | 2012-03-14 | 鸿富锦精密工业(深圳)有限公司 | 动态预览图形元素***位置的***及方法 |
CN103761397B (zh) * | 2014-01-26 | 2017-02-15 | 张靖 | 用于面曝光增材成型的3d模型切片及投影面生成方法 |
-
2014
- 2014-07-18 TW TW103124705A patent/TWI532007B/zh not_active IP Right Cessation
- 2014-08-01 CN CN201410373980.XA patent/CN105321203B/zh not_active Expired - Fee Related
- 2014-11-06 US US14/535,298 patent/US9437048B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20160019725A1 (en) | 2016-01-21 |
CN105321203B (zh) | 2018-11-30 |
CN105321203A (zh) | 2016-02-10 |
US9437048B2 (en) | 2016-09-06 |
TWI532007B (zh) | 2016-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021027311A1 (zh) | 一种基于酷家乐云设计平台的自由绘制台面的软件设计方法 | |
CN106270501B (zh) | 一种3d打印截面匹配方法、复合成形方法及截面修复方法 | |
CN108122277A (zh) | 一种建模方法及装置 | |
EP1347418A3 (en) | Texture map editing | |
CN108857093A (zh) | 利用机器人激光切割的方法及装置 | |
CN107895173B (zh) | 标注图像目标的方法、装置、设备及可读存储介质 | |
CN105212452B (zh) | 一种雕刻有个性化人像浮雕的吊坠体的制造方法 | |
CN109659006B (zh) | 面肌训练方法、装置及电子设备 | |
TWI532007B (zh) | 3d模型的平面區域搜尋方法 | |
US10671766B2 (en) | Evaluating the stability of three-dimensional models | |
TWI638714B (zh) | 自我調整列印方向的三維模型列印方法及其系統 | |
CN100416611C (zh) | 一种基于网格拓扑建模的三维人脸动画制作方法 | |
JP2020024665A (ja) | 情報処理方法、及び情報処理システム | |
US20090213121A1 (en) | Image processing method and apparatus | |
CN102339469B (zh) | 图像处理方法和装置 | |
US8427483B1 (en) | Drawing figures in computer-based drawing applications | |
US8669981B1 (en) | Images from self-occlusion | |
CN103903293B (zh) | 笔触感艺术图像的生成方法及装置 | |
US9290871B2 (en) | Apparatus and non-transitory computer-readable medium storing computer-readable instructions | |
CN106271052B (zh) | 激光加工方法及装置 | |
US8487932B1 (en) | Drawing figures in computer-based drawing applications | |
US20220058876A1 (en) | Method for capturing real-world information into virtual environment and related head-mounted device | |
Xu et al. | Using isophotes and shadows to interactively model normal and height fields | |
TWI745888B (zh) | 遞迴式排版系統與排版方法 | |
CN111667564B (zh) | 一种纹理数据的处理方法及装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |