search
  1. ソフト・サービス
  2. Blender
  3. Blenderのインポートとエクスポート
  4. BlenderのDXFの読み込み|アドオンのインストールと単位の倍率

Blender

BlenderのDXFの読み込み|アドオンのインストールと単位の倍率

編集部 読了 約12分

DXFは、CADの図面をソフトのあいだで受け渡すためのファイルの形式です。Blender(ブレンダー)でDXFを読み込むには、アドオン「Import AutoCAD DXF Format (.dxf)」をインストールします。アドオンは、Blenderにあとから機能を足すプログラムです。Blender 5.2には、DXFを読み込む機能が最初から入っていないためです。DXFの数値には単位が無いので、mmで描いた図面は、読み込むときに「単位の倍率」を0.001にすると実寸になります。

この記事の画面は、Blender 5.2 LTSです。試した図面は、平面図(Jw_cadで書き出したDXF・12m×10m)です。アドオンの版は0.9.10です。

BlenderでDXFを読み込むには、アドオン「Import AutoCAD DXF Format」をインストールする

このアドオンは、Blender 4.1までは同梱されていました。今はエクステンションのサイトで、Blender 4.2以降に向けて「現状のまま、限られた対応で」提供されています。エクステンションは、Blender 4.2からの、アドオンなどを配る仕組みです。アドオンを入手するまでの操作は、次のとおりです。

  1. 「編集」→「プリファレンス…」を開きます
  2. 左の一覧の「エクステンションを入手」をクリックします。オンラインアクセスを許可していないときは、先に「オンラインアクセスを許可」の案内が表示されるので、許可します
  3. 検索の欄に「dxf」と入力します
  4. 「Import AutoCAD DXF Format (.dxf)」の「インストール」をクリックします
プリファレンスの「エクステンションを入手」で「dxf」を検索した画面
「エクステンションを入手」で「dxf」を検索した画面。読み込みに使うのは、赤枠の「Import AutoCAD DXF Format (.dxf)」

「dxf」で検索すると、書き出し用の「Export Autocad DXF Format (.dxf)」も表示されます。読み込みに使うのは、名前が「Import」で始まるほうです。インストールすると、「ファイル」→「インポート」に「AutoCAD DXF (.dxf)」が追加されます。

DXFの数値には単位が無く、単位はヘッダーの$INSUNITSで示す

DXFの長さや座標の数値には、単位が付いていません。単位は、ファイルの頭の部分(ヘッダー)の$INSUNITSという項目で示す決まりです(4ならmm、6ならm)。

試したJw_cadのDXFには、$INSUNITSがありませんでした。数値は実寸のmmで、幅12mの壁が「12000」と書かれています。

このアドオンは、$INSUNITSを読みません。DXFの数値を、そのままBlenderの単位(m)として読み込みます。そのため、倍率を変えずに読み込むと、幅12mの図面が12000mになりました。出典:DXF Units(ezdxf)、AutoCAD 2012 DXF Reference

DXFの数値12000をそのまま読み込むと12000m、単位の倍率0.001で12mになる図
DXFの数値「12000」は、そのまま読み込むと12000m、「単位の倍率」を0.001にすると12mになる(生成AIで作った図)

DXFは「単位の倍率」を0.001にすると実寸で読み込まれる

「単位の倍率」の欄にマウスを重ねると出る説明は「座標はメートルとみなす。違うときはここで指定する」という意味の英文で、mmの図面は0.001、cmの図面は0.01になります。mmの数値のDXFを実寸で読み込む手順は、次のとおりです。

  1. アウトライナー(画面の右上の、シーンの中身を一覧にする欄)で、読み込む先のコレクション(オブジェクトをまとめる入れ物。例:Collection)を選択します
  2. 「ファイル」→「インポート」→「AutoCAD DXF (.dxf)」を選び、DXFのファイルを選択します
  3. 画面の右の「Optional Objects」で、「テキストをインポート」と「Import Lights」のチェックを外します
  4. 「Geo Referencing」のチェックは入れたまま、「単位の倍率」に0.001を入力します
  5. 「Import DXF」をクリックします
DXFの読み込みの設定の下半分。テキストとライトのチェックを外し、単位の倍率を0.001にした
ファイルを選ぶ画面の右の設定の下半分。「テキストをインポート」「Import Lights」のチェックを外し、「単位の…」(単位の倍率)を0.001にしている。画面では、長い名前は途中で切れて表示される

試した平面図は、この設定で12m×10mの実寸で読み込まれました。

読み込んだ図面は、DXFの座標のまま配置されます。試した平面図は、図面の左下の角が、原点からX方向に約3.2m、Y方向に約0.7m離れた位置に置かれました。

単位の倍率0.001で読み込んだ平面図を上から見た画面
実寸で読み込んだ平面図を上から見た画面。左下の赤と白の輪(3Dカーソル)が原点の位置で、図面は原点から離れた位置に置かれている

図面の中心を原点に合わせたいときは、「View Options」の「Center geometry to scene」にチェックを入れて読み込みます。試した平面図では、図面の中心が(0, 0, 0)に配置されました。エクステンションのページの説明(以下「公式の説明」)によると、ずらした量はシーンに記録されます。

図面の中心でなく、図面の中央の通り芯を原点に合わせることもできます。読み込んだカーブ(線でできたオブジェクト)をすべて選択して、「統合」(Ctrl+J)で1つにまとめます。これを「オブジェクト」→「変換」→「メッシュ」で、メッシュ(頂点・辺・面でできた形)に変換します。次に、編集モード(頂点・辺・面を直接選んで動かす状態)で中央の通り芯を選択し、Shift+Sの「カーソル→選択物」で3Dカーソルを通り芯へ移します。そのあとオブジェクトモードで、「原点を3Dカーソルへ移動」を使い、オブジェクトの原点(オブジェクトの位置の基準になる点)を3Dカーソルへ移します。最後に、図面をシーンの原点(0, 0, 0)へ動かします。

DXFの線はポリのカーブ、円弧はベジエのカーブとして読み込まれる

公式の説明によると、このアドオンはDXFの図形をできるだけカーブとして読み込みます。カーブの中の線(スプライン)の種類は、Blenderの画面の「ポリ」(点と点を直線でつなぐ線)か「ベジエ」(なめらかな曲線を描ける線)です。表の左はDXFの図形の種類の名前で、モディファイアーは形を変える機能です。図形ごとの読み込まれ方は、次のとおりです。

DXFの図形Blenderでの読み込まれ方
LINE(線)ポリのカーブ。端どうしがつながった線は1本にまとめられる(Combine LINE entities to polygons)
POLYLINE・LWPOLYLINE・POLYGON・LWPOLYGON弧の無いものはポリのカーブ、弧のあるものはベジエのカーブ
ARC(円弧)・CIRCLE(円)・ELLIPSE(楕円)ベジエのカーブ
HELIX(らせん)ベジエのカーブ
MESH細分化モディファイアーの付いたメッシュ
POLYFACE・POLYMESHメッシュ
3DFACE・SOLID・POINTレイヤーごとに1つにまとめたメッシュ(名前は「レイヤー名_3Dfaces」)
ハッチング・引出線読み込まれない

試した平面図には、LINEが177、ARCが12ありました。図形の種類ごとに分けて読み込むと、LINEはポリのカーブ、ARCはベジエのカーブになりました。公式の説明によると、ハッチングと引出線は読み込まれません。文字(TEXT・MTEXT)は、「テキストをインポート」がオンのときに読み込まれます。

DXFのレイヤーごとに、レイヤー名のコレクションも作られ、カーブはそこにも格納されます。ただし、このコレクションはシーンにつながれないので、アウトライナーの通常の表示には出ません。アウトライナーでは、カーブは読み込み先のコレクションの中に並びます。

「Merge Options」で、カーブをレイヤーごとにまとめるか図形ごとに分けるかを決める

「Merge Options」は、読み込んだ図形をいくつのオブジェクトにまとめるかの設定です。ファイルを選ぶ画面の右の、上半分にあります。

DXFの読み込みの設定の上半分。Import OptionsとMerge Options
ファイルを選ぶ画面の右の設定の上半分(既定の値)。「Merge Options」に「Blocks …」(Blocks As)「Parent Blocks to Bounding Boxes」「Merged Objects」「マージ」「Combine LINE entities to polygons」が並ぶ

「Merged Objects」がオン(既定)のとき、図形は「マージ」で選んだ単位で1つのオブジェクトにまとめられます。既定の「レイヤーで」でも、1つのレイヤーにカーブとメッシュのようにまとめられない種類が混ざるときは、別のオブジェクトになります。試した平面図で、まとめ方を変えたときのオブジェクトの数は、次のとおりです。

設定試した平面図のオブジェクトの数
「マージ」=「レイヤーで」(既定)7(レイヤーごと)
「マージ」=「By Layer AND DXF-Type」9(レイヤーと図形の種類ごと)
「Merged Objects」のチェックを外す189(図形ごと)

オブジェクトの名前の頭には、どのまとめ方でもレイヤー名が付きます。試したJw_cadのDXFでは、日本語のレイヤー名が文字化けしました。

アウトライナーに並んだ、レイヤー名の付いたカーブ
アウトライナーに並んだカーブ。日本語のレイヤー名が文字化けし、「_0-0_ʐc_curve_」のような名前になっている

「マージ」のほかの2つの選択肢は、公式の説明によると次のとおりです。「By Layer AND closed no-bulge polys」は、弧の無い閉じたポリラインを、レイヤーごとに1つのメッシュにまとめます。このとき、「Line thickness and width」の設定は使われず、枠ごと灰色になります。

「By Layer AND DXF-Type AND Blocks」は、同じブロックが何度も挿入されている図面に使います。挿入ごとにオブジェクトを作らず、同じ形を複製せずに面の位置に並べる機能(面のインスタンス化)を使った1つのオブジェクトで並べます。縦横の倍率が違うブロックの挿入は、「Blocks As」の設定のとおりに読み込まれます。

「Blocks As」は、DXFのブロックの読み込み方の設定です。リンクしたオブジェクト(Linked Objects・既定)か、グループのインスタンス(Group Instances)を選びます。「Parent Blocks to Bounding Boxes」(既定オン)は、複数のオブジェクトからなるブロックの周りに外枠を作り、親にします。試した平面図にはブロックがありませんでした。

「Combine LINE entities to polygons」(既定オン)は、端どうしがつながった線を1本のポリのカーブにまとめます。既定の「レイヤーで」では、まとめてもまとめなくてもレイヤーごとに1つのオブジェクトなので、オブジェクトの数は変わりません。

ほかの設定は、線の厚さと幅・読み込む物・表示・座標系を決める

読み込みの設定を、ファイルを選ぶ画面の右の上から順に全部並べます。既定の値は、Blender 5.2の画面で確かめた値です。画面の名前は、英語のまま表示されるものが多くあります。

まとまり設定既定中身
Import Optionsシーン現在読み込む先のシーン。「新規」はDXFごとに新しいシーン、「ユニーク」は「DXF Import」という名前のシーン
Import Optionsコレクション現在読み込む先のコレクション。「現在」は選んでいるコレクション、「新規」はDXFごとに新しいコレクション、「シーン」はシーンコレクション
Merge OptionsBlocks As・Parent Blocks to Bounding Boxes・Merged Objects・マージ・Combine LINE entities to polygons「Merge Options」の節「Merge Options」の節
Line thickness and widthRepresent line thickness/widthオンDXFの線の厚さ(thickness、Z方向)と幅(width、XY方向)を、カーブの押し出し(厚みを付ける設定)とベベル(太さを付ける設定)で表す
Line thickness and widthMerge by attributesオン(灰色)「Represent line thickness/width」を外したときも、厚さと幅の違う線を別のオブジェクトに分ける。「Represent line thickness/width」がオンの間は灰色
Optional Objectsテキストをインポートオン文字(TEXT・MTEXT)を読み込む
Optional ObjectsImport Lightsオンライト(LIGHT)を読み込む
Optional ObjectsExport ACIS EntitiesオフDXFに入った3Dの曲面や立体(ACIS)を、.sat・.sabのファイルに書き出す
View OptionsDisplay Groups in Outliner(s)オン公式の説明ではアウトライナーの表示をグループに切り替える設定。アドオンの0.9.10では切り替えの処理が無効になっていて、チェックしても表示は変わらない
View OptionsCenter geometry to sceneオフ図面の中心を原点に合わせる(原点の合わせ方の節)
Geo ReferencingGeo Referencingオン下の枠の設定を使うかどうか。外すと「単位の倍率」も灰色になる
Geo ReferencingDXF coordinate typeユークリッドDXFの座標の種類。「球状」にすると「Lat」「Lon」が入力でき、「Center geometry to scene」は灰色になる
Geo Referencing単位の倍率1.0座標をmとみなし、違うときの倍率を入れる(「単位の倍率」の節)
Geo ReferencingLat・Lon0.00地図上の緯度と経度で位置を合わせる値。「DXF coordinate type」が「ユークリッド」の間は灰色

公式の説明によると、DXFには座標系(地図の投影法)の情報が入っていません。追加のライブラリを入れると、座標系のコード(EPSG)を選べます。入れていないときは、上の表のとおり緯度と経度で位置を合わせます。建物の図面を下敷きにするだけなら、編集部の試した範囲では、「Geo Referencing」の中で変えるのは「単位の倍率」だけで足りました。

公式の説明の「View Options」には、「Import DXF File to a New Scene」(新しいシーンに読み込む)もあります。5.2の画面には表示されず、新しいシーンに読み込むときは「Import Options」の「シーン」を「新規」にします。

Blenderで建築パースを作る方法は、建築3DCGコース(Blender)で学べます。

会員登録(無料)

記事やテーマのお気に入り・学習履歴・フォローが使えます。

この記事について

PERSC編集部が、建築の制作に関わる知識を実務目線で整理しています。内容は公開・更新日時点の情報にもとづきます。誤りや古い情報にお気づきの場合はお問い合わせよりご連絡ください。

あわせて読みたい