>  > POSH Faith ポッシュフェイス 065049-04 ドレスアップ3点セット 前後マスターシリンダーキャップ&ソリッドバーエンド ゴールド MT-07/MT-09/XSR900

POSH Faith ポッシュフェイス 065049-04 ドレスアップ3点セット 前後マスターシリンダーキャップ&ソリッドバーエンド ゴールド MT-07/MT-09/XSR900

2015/04/16
前回はPythonスクリプトからBlenderのシーンへオブジェクトを追加する方法をご紹介しました。ただし、前回の最後の部分で記述したように、重なりを持つ複数モデルを配置しても、そのモデルがManifoldにならない限り、3Dプリンタで上手く製造することは出来ません。今回は、それらの複数オブジェクトに対してブーリアンの論理和をとることで、Manifoldなデータに変換する方法をご紹介いたします。

本連載で使用しているサンプルコードは、githubにて公開しています。
なお、本記事では下記のVersionを使用しています、
Mac: OS X Yosemite (Vesion 10.10.2)
Windows: Windows 8.1
Blender: 2.73a
Python: 3.4.2 (Blenderにバンドルされてるpythonです)

1. ブーリアン演算による論理和

Pythonスクリプト経由でブーリアン演算を実行する方法をご紹介したします。ところでブーリアン演算とはなんでしょうか?Wikipediaによると、下記のように定義されます。
ブーリアン演算(ブーリアンえんざん)または集合演算(しゅうごうえんざん)とは、3次元コンピュータグラフィックスやCADにおいて、体積を持った形状同士の和、差、積の集合演算により造形する方法である。
このブーリアン演算は、実際の3DCG作成や3DCADデータ作成の現場では非常に多用されている技術です。今回は、複数のオブジェクトの和をとり単一のオブジェクトとすることで、3Dプリントに適したモデルデータに変換します。

2. 和を作成する

前回紹介した複数のコーンを作成するプログラムにブーリアン処理を追加してみましょう。実装としては、下記のような関数を作成します。
def make_boolean_union():
 base_cone = bpy.data.objects[0] # 1
 bpy.context.scene.objects.active = base_cone # 2
 for i, cone in enumerate(bpy.data.objects): # 3
 if i == 0:
 continue
 boolean = base_cone.modifiers.new('ConeBoolean', 'BOOLEAN') # 4
 boolean.object = cone # 5
 boolean.operation = 'UNION' # 6
 bpy.ops.object.modifier_apply(apply_as='DATA', modifier='ConeBoolean') # 7
 bpy.context.scene.objects.unlink(cone) # 8
以下がソースコードの解説です。

POSH Faith ポッシュフェイス 065049-04 ドレスアップ3点セット 前後マスターシリンダーキャップ&ソリッドバーエンド ゴールド MT-07/MT-09/XSR900,[#tong##]

POSH Faith ポッシュフェイス 065049-04 ドレスアップ3点セット 前後マスターシリンダーキャップ&ソリッドバーエンド ゴールド MT-07/MT-09/XSR900 商品内容 商品名  POSH Faith ポッシュフェイス 065049-04 ドレスアップ3点セット 前後マスターシリンダーキャップ&ソリッドバーエンド ゴールド MT-07/MT-09/XSR900 状態 新品未使用 内容 適合車種/適合年式:YAMAHA(ヤマハ) MT-07/'14年~'17年、MT-09/'14年~'17年、XSR900/'16年~カラー:ゴールド製品仕様:・アルミ削り出しアルマイト仕上げ。・フロントマスターシリンダーキャップ/リアマスターシリンダーキャップ/ソリッドバーエンド3点を1つのパッケージにいたしました。・同一カラーの組み合わせとなります。別カラーの組み合わせは出来ません。・オリジナルEFFICIENT SPORTSエッチングバッジ付き。お好みで貼り付けてください。画像はイメージ画像となります。一部の商品はメーカー取り寄せとなり廃盤、または欠品中の場合があります。 ご了承ください。サイズ、デザインなどを必ずご確認の上、ご注文下さい。掲載されている製品のデザイン、価格は予告なく変更することがありますので、ご了承ください。 ご注文確定後はお客様都合でのキャンセル、返品及び交換不可。 ご注意 人気商品に付き稀に在庫を切らす事があります。お急ぎの方は必ず,在庫の確認をお願いします。ご注文確定後はお客様都合でのキャンセル、返品及び交換不可。お使いのPCや携帯電話などの環境により画像の商品と若干の色目が異なる事があります。ご了承ください。 配送方法 日本郵便のみ対応しております。一部離島等はこちらの都合で佐川急便で発送する場合も御座います。

。(ソースコード中のコメントに記載した番号に対応)
  1. ブーリアンで和とるためのベースオブジェクトとして、複数のコーンの中から最初のコーンを選択します 14インチ サマータイヤ セット【適応車種:R1(RJ系)】WEDS ライツレー DK ブラックメタリックポリッシュ 4.5Jx14Bluearth AE-01 155/65R14。
  2. 1で指定したコーンをアクティブにします。
  3. コーンの数だけブーリアンを実施します。
  4. ベースコーンにブーリアンモディファイアを作成します。
  5. ブーリアン対象のコーンを指定します。
  6. ブーリアン演算の種類を指定します。今回は和を取るので"UNION"を指定します。
  7. ブーリアンを実行します。
  8. ブーリアンに使用したコーンは不要となるので、削除します。
前回のソースコードに上記関数を追加し、呼び出す記述を追加します。
if __name__ == "__main__":
 delete_all()
 add_multiple_cone_with_rotation()
 make_boolean_union() # ブーリアン処理を呼び出す
前回のサンプルでは10x10の計100個のコーンを作成しましたが、ブーリアン演算に時間がかかるため、今回のサンプルでは4x4の計16個に変更しています。
それでは実行してみましょう ベレッツァ カジュアルG シートカバー ダイハツ MAX L950S/L960S 2001年11月~2005年12月 選べる6カラー D726。コマンドライン(Mac:ターミナル、Windows:コマンドプロンプト)で上記を追記したコードがある場所へ移動し、下記をタイプします。
$ blender -P tut3.py
実行すると、下記のように表示されます。
見た目はブーリアンを取る前とは変わりませんね
しかし、右上のOutlinerパネルをみるとConeオブジェクトが一つしか存在しないことが分かります。
 
Editモードで形状を確認してみましょう。3DViewでオブジェクトを選択しtabキーを押し、Editモードに切り替えます。また、zキーを押しシェーディングをWireframeに切り替えます。そうすると、複数のコーンがくっついていることを確かめることができます。
 
最後に、左上のFile>Export>Stlを選択して、作成したデータをSTLとして保存します。
テクスチャが無いデータはSTLで書きだすのが一般的です
このようにして、簡単にブーリアンを実行することが出来ました。早速3Dプリントしてみたいところですが、その前にデータに問題ないかをnetfabbというソフトで確認します。

3. netfabbで問題がないかどうかをチェック

もし、netfabbをインストールしていない場合は、こちらを参考にインストールしましょう。インストールが完了したら、先ほどExportしたデータを読み込みます。
 
エラーがある場合には、右下に赤い!マークが表示されます。今回は表示されていないので、問題ないことが分かります。
エラーが出た場合の画面例

4. 3Dプリントしてみる

それでは3Dプリントしてみましょう。今回は、弊社にあるMakerBot Replicator2Xを使用して出力します エスペリア ダウンサス タント LA610S KF-VE4 H25/10~ 4WD/NA カスタムX/カスタムX"SA" 送料・代引無料。
MakerBotのソフトウェアに取り込んだの図
いざ、プリント開始!
首を長くして待ちます
待つこと一時間弱。ついに完成!3Dプリンタから取り出します 【プロジェクトミュー】RACING777(レーシングトリプルセブン) ニッサン ローレル LAUREL用 KSC33(ABS無)系 リヤブレーキパッド 品番:R231。
 
プログラムで作成したデータを問題なく3Dプリントすることが出来ました!
一体コレは何だというツッコミは置いといて、踏んだらキモチが良さそうです

今回は、プリミティブ方式によるオブジェクトの追加方法を紹介しました。次回は、ブーリアン演算によるオブジェクトのワンシェル化から、実際に3Dプリンタによる出力までを行います。
『こういうことが知りたい!』とかありましたら、私のtwitterアカウントにreplyいただければと思います。

[PythonによるBlender3DCGモデリング]

POSH Faith MT-07/MT-09/XSR900 ゴールド Faith 065049-04 ポッシュフェイス 前後マスターシリンダーキャップ&ソリッドバーエンド ドレスアップ3点セット 前後マスターシリンダーキャップ&ソリッドバーエンド

kabuku Inc. いろいろやる系のEngineer / 工作と妄想と唐揚がスキ。3Dプリンタとの出会いと共に、改めてものづくりの面白さに目覚め、カブクに参加 alpinestars(アルパインスターズ) TECH 1-K START KART SHOES BLACK/WHITE サイズ:7.5 品番:2711518-12-7.5 。思わず使ってみたくなるような、欲しくなるようなプロダクトを作っていきたいです。

Posts

【3Dフィギュア部】スキャンからフィギュアをつくってみた with ルーナちゃん

2015/11/19

Blender Conference 2015に参加してきました!

2015/11/05

「Autodesk Gallery Pop-Up Tokyo」にRinkakが出展中!

2015/11/03

Maker Faire Tokyo 2015 ご来場ありがとうございました!

2015/09/14

でこぼこMAPで遊ぼう ①メイキング・オブ・関ヶ原の合戦

2015/09/01

コンテンツ

毎月配信!最新情報をお届けします

rinkakメールマガジンへのご登録ありがとうございます。しばらくしてから認証メールをご確認下さい。

rinkakへのご意見

あなたのご意見をお聞かせください 【★送料無料】 B30 ラフェスタ ブレーキキット【ファイナルコネクション】ラフェスタ B30 STEALTH CALIPER KIT フロント 4POT ローター径330×32 標準カラー:パープル ドリルド+スリットローター。

ご意見ありがとうございます。皆様からのご意見・ご要望はスタッフが全て目を通し、rinkakサービスの改善のために参考にさせて頂いております。
{yahoojp} {rinkak.com}
{yahoojp}jpprem01-zenjp40-wl-zd-75804