【DraftSight-41】ブロックを使う(その2)。
前回の記事では主に現在開いている図面でブロックを扱う場合について書きました。ブロックの定義を行う場合、その定義に含まれる図面はよく使う為だったり、規格や購入部品として形が決まっている場合も多いと思います。その為に現在開いている図面だけではなく他の図面でも使いたい、他人にも同じ図面を使わせてあげたい事もあります。今回はこの様な場合についてのブロックの利用について書いてみます。
ブロックを他の図面で使う
前回の終わりにも書きましたが、現在の図面内でブロックの定義設定をした場合、このブロックを挿入出来るのも現在の図面のみで、ブロック定義は図面内に保存されています。他の図面や人へ渡す際にはブロックをファイルとして保存する必要があります。メニューの「ファイル」から「エクスポート-図面エクスポート」を選択してファイル保存(コマンド:ExportDrawing)を実行します。
既に定義されているブロックをファイルに保存する場合は「一般」の項目でプルダウンメニューからブロックの定義名を選択します。ブロックとして定義されていない図も別途エンティティを選択する事でファイルに保存する事が出来ます。保存したファイルは他の図面でブロック挿入の「参照」から指定して挿入出来ます。
ここまでブロックをファイルとして保存するとしていますが、結局の所、図面エクスポートによるファイル保存はブロックである必要はありません。また図面エクスポートで保存したファイルを開いてみると、保存したブロックやエンティティが描かれていますが、ブロックとして定義されてはいません。そのファイルを別の図面で利用する時に改めてブロックとして(定義して)挿入する事になります。
上記ではブロックの定義を行った「1」という図をファイル名「123.dwg」として保存します。その後ブロックの挿入ではなく、通常の「開く」で内容を見てみます。
エンティティは個別で選択する事が出来るのでブロックでは無い事が分かります。各エンティティが描かれている画層もそのままあります。画層4はブロックが置かれていた画層です。
他の図面での利用を考慮する
自分自身で利用する場合、画層や線種などの設定(テンプレートファイル)は毎回同じになっていると思います。前回の記事でも書きましたが他の人にファイルを渡す、他の人のファイルを使う場合には設定が異なる事の方が多く、結果として意図しない画層が追加されてしまったり、線種などの変更が上手く出来ない事があります。なるべく影響の少ない形で利用出来る方法を考えてみます。
個別の画層は使わない
保存したファイルから現在の図面にブロックを挿入すると、保存されていた図面の画層も現在の図面に追加されてしまいます。これを避けるには画層「0」にエンティティを置いた上で図面エクスポートから保存を行います。画層「0」は図面内に必ず存在する画層で、かつ削除する事は出来ません。画層「0」にある状態で保存された図面は別の図面に挿入すると、当然画層「0」に追加されます。その後は画層「0」から希望の画層へ移動させれば良いのですが、欠点もあります。
先の「123.dwg」を上記のブロック挿入で図面に挿入してみます。
上記左側で追加画層が何も無い状態でブロック挿入すると、右側の様に画層が追加されます。「123.dwg」を通常の「開く」で見た際はブロックではありませんでしたが、ブロック挿入では当然ブロックになっています(選択すると1つになっている)。
画層「0」
必ず存在する画層「0」ですが、ファイル保存したい図面を1つの画層にまとめると、画層「0」での線種や線色、線幅の各設定は他の画層と同様に1つしか無いので、全てのエンティティが同じ線になってしまいます(エンティティ個別に色などを設定している場合は除く)。「ByLayer」として挿入後の画層移動におまかせする方法も1つですが、エンティティ1つ1つを選択して線種などの該当する画層に移動しなければなりませんし、ブロックとして挿入した場合は分解を行わないと線種毎に選択することも出来ません。
上記は画層「0」に先の「123.dwg」を移動させた状態です。ブロックの場合は分解してから移動しないと、「ブロックが置かれている画層」だけしか変わりません(画層4→0)。
購入部品のメーカーで提供されるCADデータでは、基本的に画層「0」あるいは特定の画層に全てエンティティがまとめられていて、中心線や隠れ線(破線)を表すエンティティには色にだけ個別の設定がしてあったり(その他は「ByLayer」)、全てのエンティティが「ByLayer」になっているが、エンティティの選択用として線種毎に(この時点では見た目は全て一緒ですが)ブロックの定義がされ、さらに全体でもブロックの定義がしてあったりします。逆に何も無く画像「0」にベタっと全て描かれていたり、画層が大量にある場合もありますが。
「ByBlock」
各画層で作図を行う際に、線種や線色、線幅の選択に「ByBlock」があります。「ByBlock」で作図した場合は、移動先画層の線種などの設定に関わらず「ByBlock」の状態が保持されます。移動先画層で「ByBlock」から固有の設定に変更する事が可能になっています。「ByBlock」という設定なのでブロックの定義を行う必要がある様に見えますが、エンティティ単独でも有効です。ただしあくまでブロックでの利用を前提とすれば、結局はブロック全体で1つの線種や線色、線幅の設定になってしまうので、「ByBlock」ではなく「ByLayer」でブロック専用の画層を用意する事とあまり変わりはありません。
上記左側の図は「ByBlock」で作図した後にブロック定義を行っています。右側の円は比較用で「ByLayer」になっています。両方の画層を一緒に変更してみます。
画層を変更しましたが、ブロックの方は「ByBlock」のままです。円の方は画層の設定に変化しています。注意点は「ByBlock」で作図してからブロックの定義を行う事です。
コピーでの挿入
少し話が逸れますが、ブロックやエンティティを他の図面から現在の図面に挿入する方法に、OSのクリップボード機能を使って挿入する方法があります。メニューの「編集」にあるコマンドですが、Windowsで言えば「Ctrl+C」「Ctrl+V」のコピペです。ブロックや複数エンティティでも可能で、コピーの際に参照点(基点)を指定してコピーを行えば、貼り付けの際はその基点を使って貼り付けが出来たり、複数のエンティティを選択してコピーし、貼り付けの際にブロックとして貼り付ける事も出来ます。ただしコピーの場合でもそのエンティティが描かれている画層も追加されます。
上記右側のブロックを選択して「Ctrl+C」でクリップボードにコピーし、新たな図面(左側)で「Ctrl+V」にて貼り付けを行います。
上記は貼り付けた結果です。図と一緒に画層も追加されています。
「Ctrl+C」「Ctrl+V」で実行されるコマンドです。
まとまらないまとめ
何度も書いていますが画層や線種などをはじめ、CADソフトの使い方から図面の描き方(手法)は様々です。他の図面を挿入する場合、個人的には余計な画層が追加されるのは嫌ですが、しっかりと分かる様に画層を使って線種分けされている方が良いという方もいらっしゃいます。私の場合はメインで使っているCADはDraftSightやAutocadでは無く、また画層分けはしますが画層による線種などの設定は行っていません(というか出来ない)。部品やユニット毎に画層を分けつつブロックも使い、線種などは画層の中で色々使っています(DraftSightで言う個別設定)。この辺りのお話は以前に記事に書いています。
自分以外の図面から挿入を行う事に関しては、挿入後に何もせずに済むという事はまず無いですし、何かしらの修正が必要です。会社で取り決めがあればそれに従うしかありませんが、一番手間が掛からずに分かりやすい方法を見つけるしかないのが現実です。CADの参考書などではその著者さんの手法でしか説明が無かったりするので、もう少し何か無いの?と思ったのがそもそもこのブログを書き始めたきっかけでもあるのですが、私の場合はDraftSightやAutocadを使っていないので、やはりイレギュラーなのかもしれません。