BS2-CAD & AutoCAD User's Page
Top Page 便利ツール 知得情報 Lisp メモ VBA メモ 関連リンク
情報番号 020

Back 上へ Next

ブロック置換について あれこれ

ブロック図形を置き換えたいことって多いですよね
とくにBS2-CAD使ってると・・・・・
でも、一言で「ブロック置換」といってもいろんな方法があります

INSERT図形のブロック名を置き換える

まっさらな図面で、INSERT図形を作ろうとしたら、INSERTコマンド(ブロック挿入)で参照ボタン押して、他のDWGファイルを選択して挿入することで作成できますよね。
ここでは、A.dwg とB.dwgの二つのファイルをINSERTして、図形Aと図形Bの二つのINSERT図形ができたとしましょう。
この、図形Bのほうを都合により図形Aに変更したい場合どうしますか?
通常の操作では、図形Bの挿入時の尺度と角度を調べ、INSERTコマンドで名前のポップアップリストより、Aというブロックを選択(図形Aはすでに図面に存在しているため、参照ボタンで選択の必要はない)して図形Bの挿入基点に挿入し、その後図形Bを削除する。けっこう面倒ですよね。
この、図形Bをオブジェクトプロパティー管理で見てみると、名前という項目に「B」となっています。
これを「A」に変えてしまえばいいはずなのですが、この項目は変更できません。ざんねん!
そこで Lispを使って変更できるようにしたのが、Jo_blk_replace です。

INSERT図形のブロック定義を置き換える

ひとつの図面のなかに、ブロックCという名前のINSERT図形がたくさんあります。この、ブロックCに変更を加えることになりました。まさか、全部分解してひとつずつ修正しようなんて人はいませんよね。
まず、ひとつだけ分解、修正して、BLOCKコマンドで、同じ名前・同じ基点でブロック定義をしなおします。
これで、全てのブロック名CのINSERT図形は置換えられます。
ところが、置換えたいブロックがネスト(INSERT図形のなかにINSERT図形が何重にも存在する構造)されていた場合、目的のINSERT図形を分解するためには、何度も分解を繰り返さなくてはなりません。
分解しないで、目的のブロック定義だけを置換える方法として、REFEDITコマンドは有効です。
REFEDITコマンドが利用できない場合でも、別図面でブロックCを編集したものをINSERTしてあげれば同じことができます。
(もしくは、ブロックCをINSERTして分解、修正、再定義でも可能)

BS2-CADの姿図で、平面・距計に配置された納まり図形のブロックを変更したい場合、納まり作成画面で、元の納まりを修正呼び出しして、変更の上、同じ名前で登録し、納まりアサインを指定して、姿図を再作図します。
姿図には、なんの修正もなくて、納まりだけ変更の場合でも、姿図から再作図する必要があります。
これはちょっと時間の無駄なので、そういった場合、σ(^^)は納まり図形を姿図にINSERTしています。
「すでにブロック定義が存在していますが、上書きしますか?」みたいなこと聞かれますが、OKして、「挿入点を指示」でキャンセルしてしまいます。
すると、ブロック定義のみが上書きされますので、すでに配置済みの同名ブロックのINSERT図形はすべて置き換わります。
でも、納まりって、上下左右あるわけで、1建具につき4回もこれやるのも時間がもったいない?
そこで、Jo_blk_insert を作ってみました。

INSERTするファイル名とブロック名を違う名前にしたい

通常ダイアログを表示してのINSERTコマンドでは、参照で選択したファイル名と挿入したINSERT図形のブロック名は同じになります。たとえば、D.dwgというファイルをINSERTしてできたINSERT図形のブロック名はDとなります。
図面のなかに、ブロックDという名前のINSERT図形があります。この図面にD.dwgをINSERTすることになりました。
「上書きしますか?」に対してOKしたら、元からあったブロックDという名前のINSERT図形は置換えられてしまいます。
また、この逆で、ブロック名DのINSERT図形を再定義して、E.dwgの内容と置換えたいこともあります。
こんな場合、名前変更でブロック名を変更したり、ファイル名を変更したりしなくてはなりません。
でも、ファイル名変更すると困ってしまうこともある。
そんなときは、-INSERT を試してみてください。
INSERTコマンドのコマンドライン版です。ブロック名を指定するところで ブロック名=ファイル名 として入力すると、挿入するファイル名とブロック名を別のものにすることができます。

BS2-CADの姿図で、平面・距計に配置された納まり図形のブロックを変更したいけど、納まり修正したとき、別の名前で登録しちゃった場合、この ブロック名=ファイル名 でのINSERTが有効です。
でも、ファイル名をフルパスで入力するのは面倒でしょ。
そこで、Jo_blk_ch つくってみました。

 

Back 上へ Next

 

ご意見・ご感想はこちら