【AutoCAD】ダイナミックブロックまとめ記事10選 について図面がダウンロードできない不具合を修正しました。

【AutoCAD】VBAでブロックテーブルへのパラメータ組み合わせを自動生成

この記事の難易度

ブロックテーブルに属性の組み合わせを入力することでユーザーが複数のパラメータを選択できるようになります。

ですが、属性の組み合わせが多くなったときに一つ一つ手で書き出すのは大変で嫌ですよね?

そのため、パラメータの組み合わせを自動で生成できるVBAを作成しました組み合わせが自動で生成できれば作業工数が削減できます!

そこで、今回は①ブロックテーブルで属性の組み合わせを入力する方法を復習して

②パラメータの組み合わせを自動で生成するためのVBAの使い方を解説します。

スポンサーリンク

ブロックテーブル パラメータ入力の課題

ダイナミックブロックにブロックテーブルという機能があります。詳細はこちらの記事を参照してください。

ブロックテーブルにパラメータの組み合わせを書き出すとユーザーが仕様を入れながら作図できます

非常に便利な機能ですが、組み合わせが多い場合にブロックを開発する人が大変という課題があります

 

ブロックテーブルへパラメータを入力

ブロックテーブルのパラメータ入力画面は以下の通りです。

列に属性情報を追加します。そのあとに属性の組み合わせをセルに入力していきます。

入力方法は以下の2パターンです。

  1. 各セルに値を直接入力する
  2. Excelで事前に作成したシートをコピー&ペースト

個人的にはExcelで事前にシートを作成してコピペを強くお勧めします

ブロックテーブルへ情報が入力すると、組み合わせが反映されます。

ブロックをテストすると「SIZE」という属性と「OPEN_CLOSE」という属性を複数選択できるようになります。

情報を入力する際にユーザーがいちいち手打ちしなくてよいのでとても便利な機能です。

今回はサイズが4通りで開閉状態が2通りだけなので8通りのみです。

ですが、組み合わせが増えて行ったらどうでしょうか?

例えばバルブサイズと接続の組み合わせをブロックテーブルへ書き出すと仮定します。

サイズが1/8″~20″までの21通り、接続は「フランジ、ねじ、ヘルール、ウエハー」の4通りです。

なので21通り×4通りの84通りも書き出さなければいけません。

こんなに多かったらExcelを使ってでも手入力するのは嫌ですよね…

 

組み合わせを書き出すVBAを導入

そこで、せっかくExcelを使うのだからVBAで組み合わせを書き出したらいいのではないか?と考えて組み合わせ書き出し専用ファイルを作成しました。

ダウンロード先

今回作成したVBAファイルはこちらのリンクからダウンロードしてください。

 

VBAの使い方を解説

ダウンロードしていただいたVBAの使い方の説明をします。特段難しくなのでさっと行きましょう!

①まずは組み合わせたい属性の値をそれぞれ書き出します

今回は「サイズ」と「接続」の2種類です。値を書き出す際は誤字や過不足がないように注意しましょう

例では先ほど説明したようにサイズが21種類、接続が4種類としています。

②属性を書き出したら、組み合わせ生成ボタンをクリックします。

すると「組み合わせ生成」という画面が立ち上がります。

まずは先ほど書き出した一つ目の属性(サイズ)の範囲を選択します。

次に二つ目の属性(接続)の範囲を選択します。

二つ目以降の属性を選択する場合はCtrlキーを押しながら範囲を選択しましょう!

範囲が選択できたらOKボタンを押して先に進みます。

 

組み合わせを書き出す範囲を指定します。

今回はE3セルを選択しましたが、好きなセルを選択してOKです。

選択が完了したらOKボタンを押すとすべての組み合わせが書き出されます

 

VBA実行結果

先程のVBAの出力結果を確認します。

1/8″が入っているセルには接続に「フランジ、ねじ、ヘルール、ウエハー」の4種類が入っています。

行をスクロールするとサイズは20″まで入っています。20″が入っているセルにも接続に「フランジ、ねじ、ヘルール、ウエハー」の4種類が入っています。

今回のVBAを使うことですべての組み合わせを簡単に素早く書き出すことができました!

組み合わせが多すぎる場合は注意!

ブロックテーブルに属性の組み合わせを追加できるようになりましたが、組み合わせ数があまりに多くなるとCAD側にも負荷がかかり、動作が重たくなってしまいます

 

組み合わせが1000~2000通りを超えてくるとCAD操作が重たくなります。(個人の感想)

スポンサーリンク

まとめ

今回はブロックテーブルで属性の組み合わせを入力する方法を復習しました。

また、組み合わせが非常に多いブロックテーブルを自動で生成するためのVBAの使い方を解説しました。

  • ブロックテーブルに属性の組み合わせを入れることでパラメータを選択できる
  • 組み合わせが非常に多い場合は人力で書き出すのが大変⇒VBAを使おう!
  • 組み合わせが2000行を超えるとCAD動作が重たくなるので注意!

ブロックテーブルに属性の組み合わせを入力することでユーザーが複数のパラメータを選択できるようになります。

今回はバルブのブロックで「サイズ」と「接続方法」を選べるようしました。

サイズと接続方法で84行のデータが必要で、書き出すのが嫌だったのでVBAを作成し、簡単に組み合わせが書き出せるようにしました

ブロックテーブルにたくさんの情報を入れるとユーザーが選択できる内容が増えますが、組み合わせが増えるほどCADで読み込みが遅くなり、動作が重たくなります

個人的に2000行を超えるとCADの動作が遅くなり始めます。

ブロックを標準化する際には組み合わせる内容と行数を検討してブロックを作っていきましょう!

以上、Kotaroでした。

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA