この記事の難易度
今回は「AutoCAD 属性書き出しができない!強制終了の原因と対処法」を説明します。
AutoCADで図面やブロックに属性を入れて情報を書き出せる機能があります(具体的には「ATTEXTコマンド」を使用)
AutoCAD LTでも使えるコマンドのため、コストを抑えながらデータのピックアップができるのでとても便利です!ところがAutoCAD2023以降で以下のエラーが発生する場合があります↓

いきなりエラーが出てソフトも強制終了するのでどうすればいいかわからないですよね…
そこで今回は属性書き出しコマンドでエラーが出る原因と対策をご紹介します。
属性とデータ書き出しについて
属性と入力データの書き出し方法ついて簡単に説明します。
すでにご存じの方はこの章は飛ばしてOKです!
AutoCADの属性とは図面やブロック(グループ化したもの)に文字情報を入れられる仕組みのことです。
実際にブロックに属性を入れ込んだイメージは以下のような感じ↓

このように何番のタグにどんな情報が入っているのかを書いておけます。
図面を書く人も見る人もわかりやすいですよね?管理のしやすさから属性を使う人が多いです。
属性に関しては過去の記事で詳しく説明しているので興味のある方は御覧ください。
入力した属性データはAutoCADのコマンドラインから「ATTEXTコマンド」を入力して指定のファイルを選択することで属性情報をテキスト化できます↓

属性の書き出しを使うと図面に入っている文字を簡単にデータ化できます。
更にエクセル化もできてデータ集計なんかもできます。
属性を使ったデータ管理については過去の記事で詳しく説明しているので興味のある方は御覧ください↓

最初は設定が大変ですが、業務効率が格段に上がるので試してみてください!
属性書き出しコマンドで強制終了する原因と対策について
ここでは属性書き出しコマンド(ATTEXT)でエラーメッセージが起きる原因とその対策について説明します。
属性書き出し中に以下のようなエラーが出るときがあります↓
インターナルエラー:!dbutil-core2d.cpp@778

このエラーは基本的に属性の入っているブロックで出ます。
その中でもブロックの名前が「*」から始まっているとエラーが出ます。

「*」から始まるブロックは匿名ブロックと呼ばれています。
普通にブロックを作れば匿名になることはないので安心してください!
昔のCADデータに入っていることがあります。
CADオペをしていたときに「*」の入っているブロックが何個か遭遇したことがありました…
このように匿名ブロックのデータを書き出そうとするとエラーが起こってソフトが強制終了してしまいます↓

エラーの原因は匿名ブロックです。
ところが匿名ブロックは特殊なため直接ブロックの編集ができません。なのでエラーを解消するには…
- 匿名ブロックを削除する
- 匿名ブロックを分解する
しかありません(匿名ブロックも探し当てなきゃいけない)
ブロック消す場合は普通に「DELETEボタン」を押せば終わりです。ブロックを分解する場合は「EXPLODEコマンド」か「BURSTコマンド」を使ってバラバラにするしかないです。
いずれにしても代わりのブロックを作り直して入れ替えないといけません。

匿名ブロックをなくすとエラーが解消して属性書き出しができますよ!
今回は「ATTEXTコマンド」でエラーが発生しました。
AutoCAD LTユーザーは使えませんが「EATTEXTコマンド」というデータ書き出し用の別コマンドなら匿名ブロックが入っていても集計できるのでそちらを試してもいいかもしれません。
「EATTEXTコマンド」について詳しく知りたい方はこちらを参照ください↓
まとめ
今回は「AutoCAD 属性書き出しができない!強制終了の原因と対処法」ついて説明しました。
・ATTEXTコマンドで属性書き出しをするときにエラーで強制終了することがある
・匿名ブロックが入ったデータを書き出すとエラーが出る
・匿名ブロックを削除、分解すればエラーが解消!
・「EATTEXTコマンド」は匿名ブロックがあってもデータ書き出しできる
結局は厄介な匿名ブロックがエラーの原因でした。
エラーの解消方法は原始的な方法しかありませんが、属性書き出しは業務効率を上げられるのでぜひ使っていただきたいです!

以上、こたろーでした。