[發明專利]基于病人個性化外固定3D打印模型設計方法及切片系統有效
| 申請號: | 201811346465.7 | 申請日: | 2018-11-13 |
| 公開(公告)號: | CN109394410B | 公開(公告)日: | 2022-03-22 |
| 發明(設計)人: | 劉朋;石志良 | 申請(專利權)人: | 武漢必盈生物科技有限公司 |
| 主分類號: | A61F5/058 | 分類號: | A61F5/058;B33Y10/00;B33Y30/00;B33Y50/00 |
| 代理公司: | 北京中北知識產權代理有限公司 11253 | 代理人: | 李新昂 |
| 地址: | 430073 湖北省武漢市東湖新技術*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 病人 個性 化外 固定 打印 模型 設計 方法 切片 系統 | ||
1.一種基于病人個性化外固定3D打印模型設計方法,其特征在于,該3D打印模型設計方法包括:
S1:對病人病區部位表面三維掃描數據進行處理;
S2:采用空間姿態矩陣變換方法,進行三維點云和面片的位姿調整,并自動對齊3D打印機的打印方位;
S3:獲取三維掃描模型的包圍盒,賦予包圍盒三個方向的移動和旋轉功能,通過包圍盒的旋轉和大小調整,與三維網格模型進行布爾減運算,快速得到合適大小的初始外固定三維網格模型;
S4:在適應3D打印方向上,將包圍盒的大小縮小一半,進行布爾減運算,得到初始外固定的兩個半剖、非封閉的三維網格模型;
S5:對外固定兩個半剖三維網格模型,構建頂部和底部的卡扣模型,外固定兩個半剖三維網格模型分別與頂部和底部的卡扣模型進行布爾減運算,得到四個網格模型;
S6:頂部和底部的卡扣模型分別與外固定兩個半剖三維網格模型進行點云和面片的拓撲融合,得到外固定的兩個帶卡扣的半剖三維網格模型;
S7:利用定制孔大小的包圍盒、或圓柱面、或橢圓柱面,與初始外固定的兩個半剖的非封閉三維網格模型進行布爾減運算,獲得含透氣孔的外固定兩個半剖三維網格模型;
S8:分別獲取兩個帶卡扣的含透氣孔外固定的半剖網格模型的包圍盒,設定切片層高,循環定義不同大小的與原包圍盒方位相同的包圍盒,分別切割半剖網格模型,獲取并存儲每層相交求得的直線;
S9:針對分層相交求得的直線,依據拓撲關系進行相交點排序,判斷邊界點,相鄰邊界點之間為空軌跡,其余點連線為需要軌跡;
S10:依據異形打印頭的尺寸,對軌跡進行偏置,并根據打印精度的要求,采用插補算法優化軌跡,生成3D打印機所需要的優化的GCODE代碼,發送給打印機,進行外固定的快速實物打印;
空間姿態調整:
空間姿態調整主要是調整模型的空間位置,便于模型后期打印與模型切割;
(1)導入模型后,讀取并采用鏈表存儲vertices坐標信息,Mesh的點拓撲關系;
(2)調整模型姿態,移動和轉動模型的實現均通過屏幕點擊,捕捉鼠標的點擊和釋放信號,記錄移動的方向和距離,轉化為相應的X,Y,Z軸旋轉角度及移動量,由鼠標交互生成的移動和旋轉信息,轉化為4×4的空間變換矩陣C[];
(3)獲取該模型Mesh的點云信息,將該模型中所有的點vertices的坐標乘以該空間變換矩陣C[],得到新的點云坐標,更新Mesh點云坐標,完成模型的空間坐標變換;
模型整形分割:
(1)比較模型內vertices坐標值,獲得Xmax、Xmin、Ymax、Ymin、Zmax、Zmin,并將已獲取到值,存入兩個點,b1=(Xmax,Ymax,Zmax),b2=(Xmin,Ymin,Zmin),創建模型包圍盒;
(2)改變包圍盒的大小,通過鼠標交互拖動包圍盒控制圖柄,調整包圍盒的長、寬、高尺寸,更新b1=(Xmax,Ymax,Zmax),b2=(Xmin,Ymin,Zmin)的值,創建出新的包圍盒;
(3)旋轉包圍盒,旋轉指定坐標軸,鼠標交互獲得旋轉角度,生成一個4×4旋轉矩陣R[],然后將網格Mesh內坐標所有vertices乘以旋轉矩陣R[],更新網格Mesh,將原來的網格轉動到包圍盒內部;
(4)截取模型,獲取整體模型Mesh的面片triangles,點坐標vertices信息,進行網格求交,將mesh中的面片依次與box的-X平面求交,若存在交點,則兩交點與該面片的點相連,構成新的面片,將屬于-X平面左側的面片、與mesh不相交的面片,賦以特殊索引號,添加進outsideMesh,將outsideMesh作為循環運算的mesh與box的+X平面求交,生成新的面片,將位于+X平面右側的面片,與mesh不相交的面片一起更新存放到outsideMesh,再與-Y,+Y,-Z,+Z求交,即為模型與包圍盒求交之后的網格insideMesh,由insideMesh生成的模型Mesh.section就是截取到的模型;
(5)截取到的模型后,將模型包圍盒中心自動擺正到打印中心;
(6)獲取Mesh.section的坐標vertices信息,獲取包圍盒中心坐標(XBX,YBY,ZBZ),給定打印中心坐標值(Xp,Yp,Zp),需要將包圍盒中心移動到打印中心,由公式BM[]·T[]=VP[],其中BM[]為包圍盒中心坐標矩陣,VP[]為打印中心坐標矩陣,求得一個4×4的平移矩陣T[],將模型Mesh.section的所有坐標值vertices乘以平移矩陣T[]后,更新Mesh.section,模型就擺正到打印中心;
模型剖分:
截取到的整個模型,如果整體打印出來后,不方便佩戴,所以為了便于患者佩戴使用,需要將截取到的模型Mesh.section進行模型半剖分;
(1)獲取到模型Mesh.section的網格信息,同樣通過比較Mesh.section的坐標vertices信息,創建Mesh.section的包圍盒;
(2)在交互界面上拖動包圍盒控制圖柄,通過該交互操作獲得調整距離,調整包圍盒的尺寸大小,生成新的包圍盒信息;
(3)截取模型,獲取整體模型Mesh.section的網格信息,面片triangles,點坐標vertices信息,進行網格求交,將mesh中的面片依次與box的-X平面求交,若存在交點,則兩交點與該面片的點相連,構成新的面片,將屬于-X平面左側的面片、與mesh不相交的面片,賦以特殊索引號,添加進outsideMesh,將outsideMesh作為循環運算的mesh與box的+X平面求交,生成新的面片,將位于+X平面右側的面片,與mesh不相交的面片一起更新存放到outsideMesh,再與-Y,+Y,-Z,+Z求交,模型與包圍盒求交之后的網格為insideMesh;
(4)分別將outsideMesh與insideMesh分別保存為Mesh.section1與Mesh.section2.兩部分,得到剖分后的兩部分模型;
構建頂部和底部卡扣模型:
(1)構建卡扣過程中,選中剖分后的模型,獲取該部分模型的包圍盒中心,如果該部分模型中心位于剖分面左側,判定該部分模型提取頂部卡扣,獲取該部分模型包圍盒坐標信息,創建卡扣包圍盒;
如果剖分面為與XOZ軸平行的平面:包圍盒中心X卡<X模;
X卡max=X模max,X卡min=X模max-a
Y卡max=Y模max,Y卡min=Y模min
Z卡max=Z模max,Z卡min=Z模max-h
如果剖分面為YOZ軸平行的平面:包圍盒中心Y卡<Y模;
X卡max=X模max,X卡min=X模min
Y卡max=Y模max,Y卡min=Y模max-a
Z卡max=Z模max,Z卡min=Z模max-h
創建卡扣包圍盒;
(2)網格求交,獲取Mesh.section1的Mesh信息,與創建的卡扣包圍盒各個平面求交,求交方法與截取模型的求交方法相同;最后求交獲取到outsidemesh與insidemesh兩部分網格,分別生成頂部卡扣模型Mesh.section1.section1與帶有頂部卡扣定位孔的半剖模型Mesh.section1.section2;
(3)如果模型中心位于剖分面右側,如果剖分面為與XOZ平行的平面:包圍盒中心X卡<X模;
X卡max=X模min+a,X卡min=X模min
Y卡max=Y模max,Y卡min=Y模min
Z卡max=Z模min+h,Z卡min=Z模min
如果剖分面為YOZ軸平行的平面:包圍盒中心Y卡>Y模;
X卡max=X模max,X卡min=X模min
Y卡max=Y模min+a,Y卡min=Y模min
Z卡max=Z模min+h,Z卡min=Z模min
創建底部卡扣包圍盒;
(4)網格求交,獲取Mesh.section2的Mesh信息,與創建的底部卡扣包圍盒各個平面求交,提取底部與卡扣包圍盒內部的網格信息,求交方法與截取模型的求交方法相同,最后求交獲取到outsidemesh與insidemesh兩部分網格,分別生成底部卡扣模型Mesh.section2.section1與帶有底部卡扣定位孔的半剖模型Mesh.section2.section2;
模型融合:
卡扣模型生成后,兩個模型的幾何和拓撲關系是獨立,需整合成一個模型,便于切割,生成正確的加工軌跡;
(1)獲取兩個模型Mesh1,Mesh2的面片、點數vertices1,vertices2的信息,分別采用鏈表存儲;
(2)申請動態內存,創造新的對象Merged Mesh;
(3)將Mesh1的面片拓撲添加進Merged Mesh結構中;
(4)添加Mesh2時,首先添加面片信息,然后將對應面片的索引號加上Mesh1的點數vertices1,更新點的索引;
自動構建透氣孔:
(1)透氣孔的作用是防止皮膚長時間不接觸空氣,細胞活性降低,嚴重時可能壞死;透氣孔的大小為10*20的規格,每層兩個,兩孔分別位于當前層高的包圍盒中線兩側,層數取決于打印模型的高度,模型高為0-7cm時不挖孔,7-9cm時挖一層孔,9-14cm挖兩層孔,14-19cm挖三層孔,透氣孔的位置和數目是基于包圍盒的長和高自動生成;
(2)透氣孔的實現:對選中的模型,獲取包圍盒信息,計算每個方形孔的空心位置,并創建一定大小的,深度為包圍盒寬度的box1,利用box的六個平面依次與模型的求交,保留box1外部的mesh1,將它作為新的模型輸入,與另一位置的box2求交,保留box1外部的mesh2,循環進行,直至完成所有box求交,最終mesh即為挖完透氣孔的mesh;
(3)將mesh中的面片依次與box的-X平面求交,若存在交點,則兩交點與該面片的點相連,構成新的面片,將屬于-X平面左側的面片、與mesh不相交的面片,賦以特殊索引號,添加進outsideMesh,將outsideMesh作為循環運算的mesh與box的+X平面求交,生成新的面片,將位于+X平面右側的面片,與mesh不相交的面片一起更新存放到outsideMesh,再與-Y,+Y,-Z,+Z求交,最后保留下來的網格即為模型與包圍盒求交之后的網格。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢必盈生物科技有限公司,未經武漢必盈生物科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811346465.7/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種骨科治療用骨裂咬合裝置
- 下一篇:一種尿液收集器





