見出し画像

【AutoCADやらかし話】ブロックを消したのに、形が変わった


「もう使わないから削除したし安心」と思っていたブロックがあった。

ところが別の図面からブロックをコピーした瞬間、図面の一部がまとめて別の形に変わった。

「え、壊れた?」

結論から言うと、壊れていない。AutoCADはいつも通り動いているだけ。

そこが一番やっかいなところだ。


原因:ブロックは“図形を固めたもの”ではない


よくある誤解として、「ブロック=図形をまとめて固定するもの」という理解がある。

でも実際は違う。

ブロックは“定義”を作り、それを参照して配置する仕組み

つまり図面の中には実体のコピーがあるわけではなく、

* 「この名前のブロックはこの形」という定義
* それを参照している複数の配置(インスタンス)

という構造になっている。


だから起きる現象


同じ名前のブロックを別図面から持ってくると、

* 既存のブロック定義と衝突する
* 図面内の同名ブロックがまとめて差し替わる

結果としてこうなる:

1つのブロックを持ってきただけなのに、全部変わる

これはバグではなく仕様。


さらに重要な前提


図面内に同じ名前のブロックを複数配置している状態で、

どれか1つを編集すると──

全部変わる

これも同じ仕組み。

ブロックは個別の図形ではなく、同じ定義を参照しているだけだから起きる。


対処方法は主に3つ


① PURGEでブロック定義を整理する


ブロックを削除しただけでは、定義は図面内に残る。

そのまま別図面から同名ブロックを持ってくると事故の原因になる。

不要な定義は:

PURGE

未使用ブロック定義ごと削除しておくのが基本。


② RENAMEで事前に名前をずらす


持ってくる側のブロック名を変更しておく方法。

例:

* Valve → Valve_A
* Door01 → Door_New

これで既存の定義と衝突しない。

複数図面を扱う現場ではかなり現実的な回避策。


③ ブロック置き換え(BLOCKREPLACE)


意図的に差し替える方法もある。

コマンド:

BLOCKREPLACE

または環境によっては「ブロック置き換え」というダイアログで表示される。

これを使うと、

* 既存ブロックを選択
* 新しいブロックを指定
* 挿入基点・回転・尺度を維持したまま差し替え

ができる。

つまり本質はこれ:

ブロックの“基点”を維持したまま、参照している定義だけを切り替える


そもそもブロックとは何か


ここを誤解すると全部ズレる。

ブロックとは「図形を固める機能」ではなく「定義を参照させる仕組み」

だから起きる現象はすべて同じ構造で説明できる:

* 勝手に置き換わる
* 編集すると全部変わる
* 削除したのに残っている
* コピーで事故る

全部バラバラに見えて、同じ仕組みの別側面。


まとめ


今回の現象はこう整理できる。

* ブロックは名前付きの定義
* インスタンスはその参照
* 編集=定義変更
* 衝突=参照切り替え


対処の整理


* PURGE:不要な定義を消す
* RENAME:衝突を避ける
* BLOCKREPLACE:意図的に置き換える



AutoCADはときどき不親切に見える。

ただそれはバグではなく、仕組みがそのまま露出しているだけだ。

そして厄介なのは、その仕組みを理解した瞬間に「不具合」が「便利機能」に見えてしまうことだ。

いいなと思ったら応援しよう!