前回、プレートを平面から作成して、均一の厚さのものを作りました。今回は、厚みが場所によって異なっていて、骨の表面に合わせて金属を削る形にします。
注意:この取組みは思考実験で、臨床利用はしていません。





以下は前回の記事
https://meknowledge.jpn.org/2020/12/15/ct-3d-tumor-plate-fusion/
この記事の目次
- CTから骨の3Dモデルを作成し、STLファイルとして書き出し
以前の記事を参照してください
https://meknowledge.jpn.org/2020/11/18/ct-mri-dicom-3dslicer/ - MeshMixerを使ってSTLファイルをソリッドモデル化
- Fusion 360を使ってプレートの設計
3-1 モデルをインポートしてBRepにする
3-2 腫瘍部を切断
3-3 プレートを作成
3-4 ブーリアン演算
3-5 プレートの角をとる
3-6 ねじ穴を作成
CTから作成した骨の3Dモデルは表面だけのモデルです。この状態だと、Fusion 360でブーリアン演算といった、形と形の合わさったところを削るといった操作ができません。MeshMixerを使って、中身のある形にします。
2.MeshMixerを使ってSTLファイルをソリッドモデル化
MeshMixerを開いて、骨の3Dモデルをインポートします。Editから、Make Solidを押します。追加で、3Dモデルの欠陥があるかもしれないので、Analysisのinspectorを使って、念のためAuto Repair Allをしておいてください。

出来たモデルをエクスポートします。

3. Fusion 360を使ってプレートの設計
3-1 モデルをインポートしてBRepにする
エクスポートしたモデルをFusion 360にインポートします。メッシュタブから、メッシュを挿入してください。
STLファイルをインポートすると、メッシュと認識されます。このままだとブーリアン演算できないので、BRepにする必要があります。このメッシュからBRep変換をする際には、メッシュの頂点数が多いとエラーがでてしまいます。そのためまず、頂点の数を減らします。メッシュタブの下の削減を押してください。

メッシュ面ボディで上腕骨を選択し、OKを押してください。

メッシュの頂点が間引かれました。

凸凹になってしまったので、スムースを実行します。

OKを押します。

ソリッドタブを選択してから、左のパネルで腕のメッシュを選択して、右クリック。メッシュからBRepを選択してください。モデルを変換します。

堅そうな色になります。この状態になると、ブーリアン演算ができるようになります。

3-2 腫瘍部を切断
上腕骨の腫瘍の部分を削除したいです。削除するには、削除する平面が必要になります。今回は、1つの腕のモデルから、肩甲骨、上腕骨の腫瘍端より近位、腫瘍部、上腕骨の腫瘍端より遠位の4つに分割します。そのため、3平面用意します。まず、腕を移動回転して、扱いやすい位置に持ってきます。その後、サーフェスタブをクリックして、スケッチを作成を押します。

2点指定の長方形を選択します。

平面を作ります。スケッチを終了をおしてください。

サーフェスタブの下の、パッチを押して、さきほどの長方形のスケッチを選択してください。これで、面が張られます。

平面を3つ作り、移動回転をして切断したい断面に持ってきました。

ソリッドタブの下の、修正からボディを分割を押します。

分割するボディとして腕を選択して、分割ツールとして平面を選択してください。OKを押します。

分割を実施した後、左側のパネルでボディ1(腕のモデル)が分割されて、追加でボディ1(1)が作成されています。

モデルを消したい場合は、左側のパネルで目のマークを押すことで非表示にできます。以下は、不必要なところを消した様子です。

わかりやすいように、モデルの名前を変更しました。Scapula、UpperHumerus、Mass、LowerHumerusの4つができました。UpperHumerus、LowerHumerus以外を非表示にしました。

3-3 プレートを作成
いよいよプレートを作成します。ソリッドタブの下の、作成から直方体を選択します。

描く平面を選択肢、長方形を描きます。終わったら、スケッチを終了を押します。

ソリッドタブの下の押し出しを選択し、さきほどの長方形のスケッチを押し出して直方体にします。このときに、プレートの厚みを決めて下さい。

プレートに厚みがつき、直方体になりました。

頭側から尾側方向にみた図です。

3-4 ブーリアン演算
今度は、プレートと骨が干渉しているところを、プレートから削り出します。待ちに待ったブーリアン演算です。ソリッドタブの結合を押してください。

ターゲットボディとして、プレートを選択して、ツールボディとして骨を選択してください。そして、操作は切り取りにします。ツールを維持にして、骨を消さないようにします。OKを押します。
これがブーリアン演算というものですが、CTから作った3Dのモデルを直接Fusion 360にインポートしても、この操作ができません。ツールボディとして選択できないのです。そのため、MeshMixerを使ってソリッドモデル化という工程を踏んでいます。ソリッドモデル化したのちにインポートすれば操作ができるようになります。これが分かるまで相当な時間かかりました。

ブーリアン演算を実施した後です。プレートはなにも変わっていないように見えます。移動させてみましょう。

プレートが骨に合わせてくりぬかれていることが分かります。

3-5 プレート角をとる
プレートの角が角ばっているので、丸くしたいです。ソリッドタブの下の、フィレットを選択して、角をなくしたい辺を選択します。

以下は、フィレットを実施したところです。

3-6 ねじ山を開ける
最後は、ネジ穴を作成します。ソリッドモデルタブの下のスケッチを作成を選択してください。

円を書いていきます。使用するネジに合わせて円のサイズを決めます。上下4穴づつ作成しました。

スケッチだけで、穴が開いていないのでプレートに穴をあけます。ソリッドタブの下の作成から穴を選択します。

配置を右側のやつにします。これでさきほどスケッチした円を選択していきます。また、シェイプは目的のものに合わせて選択してください。ロッキングプレートにするならねじ山を作って下さい。上のほうにカップを作ることもできるので頑張れば、DCPとか作れるんじゃないかとか思います。切り取るオブジェクトとしてプレート(この例だとボディ9)を選択してください。

穴が開きました。

前から見た図です。完成!
