ブロック要素の色が変えられない問題

平成15年1月28日
設備システム研究会
WG2


◆用語

ブロックとは、線や円弧などが一まとまりになったものである。
ここでは、全体を指すときは単に「ブロック」、線や円弧などを指す時は「ブロック要素」ということにする。

◆ブロック要素の色(その1)

ブロック要素の色は、変えられないことがある。
言い換えると、変えられたり、変えられなかったりする。
ちなみに、線種も色と同様に、変えられたり、変えられなかったりする。

現象 理由
変えられる場合 ある画層の色を変えると、
変わる。(参考1)
ブロック要素がその画層に属していて、
ブロック要素の色が「ByLayer」という設定になっている。(注1)
ブロックの色を変えると、
変わる。(参考2)
ブロック要素の色が「ByBlock」という設定になっている。(注2)
ブロックの画層を変えると、
変わる。(参考3)
ブロック要素の色が「ByBlock」という設定になっていて、
かつブロックの色が「ByLayer」という設定になっている。
変えられない場合 上記の操作では、
変わらない。
上記のいずれでもない。

(注1) 「ByLayer(バイレイヤー)」とは、「By Layer」すなわち「画層による」「画層で設定されているものを参照する」の意味。
(注2) 「ByBlock(バイブロック)」とは、「By Block」すなわち「ブロックによる」「ブロックで設定されているものを参照する」の意味。

(参考1) 画層の色を変える方法
「形式」→「画層管理」
(参考2) ブロックの色を変える方法
「修正」→「オブジェクトプロパティ管理」
(参考3) ブロックの画層を変える方法
(参考2)と同じく「オブジェクトプロパティ管理」を使う。

◆ブロック要素の色(その2)

上記と逆の説明。
色は、ブロック要素にも、ブロックにも、画層にも設定できる。
ブロック要素の色は、それ自身に設定されているものか、ブロックに設定されているものか、要素あるいはブロックが属する画層に設定されているものか、のいずれかである。

それ自身に設定されている色 要素の色に「ByLayer」「ByBlock」以外の実際の色が設定されている場合。
ブロックに設定されている色 要素の色に「ByBlock」が設定されている場合。
画層に設定されている色 要素の色に「ByLayer」が設定されている場合。
(ブロック要素が属する画層の色)
あるいは、要素の色に「ByBlock」が設定されていて、
かつブロックの色に「ByLayer」が設定されている場合。
(ブロックが属する画層の色)

◆変えられないブロック要素の色を変える方法

ブロック要素それ自体に色が設定されている場合は、ブロックを分解しないと、色は変えられない。(参考4)
分解した後、「オブジェクトプロパティ管理」を使う。

(参考4) ブロックを分解する方法
「修正」→「分解」

しかし、分解したままでは都合が悪い場合もある。
そのときは、色を変えた後で、ブロックに戻す(参考5)。

(参考5) ブロックに戻す(ブロックを作る)方法
「作成」→「ブロック」→「ブロック定義」

その際には、ブロック名が必要になる。
通常、新規の名前か、分解前の名前のどちらかにするが、新規の名前にするのが無難である。

新規の名前 他に波及しないので、安全である。
分解前の名前 ブロックが再定義され、同名のブロックが全て変わる。
言い換えると、複数のブロックの色を一度に変えられる。
ただし、いろいろ注意点がある。

◆もっと簡単な方法

プログラムを使うと、多少、簡単になる。(参考6)(参考7)
もっとも、LTでは使えない。

(参考6) ブロック要素の色を変えるプログラムの例
プログラム(右クリックでダウンロード)

(参考7) プログラムを使う方法
例えば(参考6)を、適当なフォルダの適当なファイル(例えば「x.lsp」)に保存する。
「ツール」→「アプリケーションロード」
保存したファイルを選択しロードする