「パーツ数が増えてくると、アセンブリが重くてまともに動かない…」
「合致を1つ追加するたびに、数秒間の砂時計を眺めるのが苦痛…」
SOLIDWORKSで大規模なアセンブリを扱っている設計者なら、誰もが一度は直面する悩みだと思います。
ライトウェイトや大規模アセンブリモードを使っても、根本的な「計算負荷」はなかなか消えてくれません。
そこで今回、アセンブリ内の全パーツをワンクリックで「固定」し、合致を「抑制」することで、アセンブリを軽量化するマクロ『AssyFreeze(アセンブリ・フリーズ)』を作成しました。
本記事では、このマクロの機能と使い方、そして無料ダウンロードのご案内をいたします。
このマクロで「できること」
アセンブリが重くなる最大の原因は「合致の再計算」にあります。
パーツを動かそうとする度に、SOLIDWORKSの裏側では、膨大な合致関係を計算しています。
本マクロでは、この問題を「凍結(Freeze)」というアプローチで解決します。
- 凍結処理:
全てのパーツをその場に「固定(Fix)」し、全ての合致を一括で「抑制」します。これにより、SOLIDWORKSから見たアセンブリは「計算不要な1つの塊」になり、操作が劇的に軽くなります。 - 解凍処理:
設計変更が必要になったら、ワンクリックで元の合致状態へ復元。凍結時に付与された識別子をマクロが自動判別し、一瞬で「動かせる状態」に戻します。
企業で働くプロの設計者はもちろん、PCスペックに制限がある中で工夫されている個人ユーザー(Maker版)の方にも、ぜひ使っていただきたいツールです。
ここがプロ仕様!3つのこだわりポイント
単に固定するだけのマクロではありません。現場で「本当に使える」ための工夫を詰め込みました。
① 高速処理のための「処理中描画停止」と「パターンフィーチャー回避」
パーツ数が多いアセンブリでマクロを動かすと、処理自体に時間がかかることがあります。
AssyFreezeは、処理中に画面更新とフィーチャーツリーの更新を一時停止する「高速化モード」を搭載。
大規模なアセンブリになるほど、恩恵を受けられます。
また、直線パターンや円形パターンで配置されたボルトなどは固定の対象としていません。
「種(シード)」だけを固定処理するため、処理時間も短縮できます。
② 凍結前の抑制合致の状態を守る「合致マーキング」
設計中には、「別パターンの配置を試すために一時的に抑制している合致」などもあるかと思います。
本マクロは、凍結を実行した瞬間に現在有効(アクティブ)な合致だけを狙い撃ちして抑制し、名前に「_F」というマーカーを付けます。
そのため、解凍(復元)時にはマクロが凍結させた合致だけを正確に戻すことができます。
元々別の目的で抑制していた合致には一切干渉しません。
元の設計意図を確実に保ちます。
③ 基準パーツを守る「Origin_Fixed」システム
解凍時に全ての固定を解除してしまうと、元々基準として固定していたパーツも解除され、動いてしまいます。
マクロが自動作成する「Origin_Fixed」フォルダに元から固定していた部品を入れておけば、解凍(復元)時もそのパーツだけは固定を維持します。
「AssyFreeze」の使い方
操作は専用のコントロールパネルから行います。
STEP0:マクロの設定&起動
マクロボタンを設定する際は、メソッドを選択する必要があります。
選択肢の中から「ShowControlPanel」を選択してください。

マクロを起動すると、以下のようなウインドウが表示されます。

STEP1:基準フォルダの作成
マクロ起動後、「1. フォルダ作成」ボタンをクリックしてください。
ツリーのトップに「Origin_Fixed」というフォルダが作られます。
ここに、元から固定にしているパーツをドラッグ&ドロップで入れてください。

これで凍結する準備が整いました。
STEP2:アセンブリを凍結(Freeze)
「2. アセンブリ凍結」ボタンを押します。
全パーツが固定され、合致名には識別子として「_F」が自動付与されて抑制されます。
この状態で上位アセンブリに挿入したり、配置検討を行ったりすると、驚くほど動作が軽くなります。

STEP3:アセンブリを解凍(Thaw)
修正が必要になったら「3. アセンブリ解凍」ボタンを押してください。
マクロが「_F」の付いた合致を自動で見つけ出し、名前を元に戻しながら抑制を解除します。
「Origin_Fixed」内のパーツ以外はすべて固定解除され、元の状態に戻ります。
無料ダウンロードの方法
以下のボタンからダウンロード画面に進んでください。
(※システムの都合上「購入」という表記になりますが、お支払いは一切不要です。)
Sugitama-Lab. からのお願い
このマクロは、皆さんの設計業務を少しでも楽にすることを目的に公開しています。
もし「役に立った!」「作業が楽になった!」と感じていただけましたら、ぜひブログのコメント欄やSNSで感想を教えていただけると大変励みになります。
「こんな機能も欲しい」というリクエストもお待ちしております!
マクロのカスタマイズや作成代行も承ります!
「自社の業務ルールに合わせて、マクロの挙動を少し変えたい」「こんな定型作業も自動化できないか?」といったご要望はありませんか?
Sugitama-Lab.では、SOLIDWORKSのオーダーメイドマクロ作成サービスも承っております。
ご相談はお気軽にどうぞ!
まずは、お気軽にご相談ください
免責事項
本マクロは無料でご利用いただけますが、ご使用にあたっては以下の点にご留意ください。
- 自己責任でのご使用をお願いします
本マクロを使用したことによって発生したいかなる損害(データの消失、予期せぬPCのトラブル、業務の遅延など)についても、当ブログ(Sugitama-Lab.)および管理人は一切の責任を負いかねます。
ご自身の責任においてご利用ください。 - 動作環境について
SOLIDWORKSのバージョンやエディション(企業向けライセンス、Maker版など)、PCの環境によっては、正常に動作しない可能性がございます。
全ての環境での動作を保証するものではありませんので、あらかじめご了承ください。 - カスタマイズと再配布について
企業にお勤めのプロ設計者の方も、個人のMakerユーザーの方も、ご自身の業務や用途に合わせてマクロ(VBAのコード)を自由に改変・カスタマイズしていただいて構いません。ただし、販売目的での二次配布はご遠慮ください。 - サポートについて
原則として、個別の環境に合わせた不具合の修正や、マクロの書き方に関する技術的なサポートはお約束できかねます。
(ブログのコメントなどでご報告いただいたバグについては、今後のアップデートの参考にさせていただきます!)
ルールを守って、日々の設計業務やモノづくりの効率化にぜひお役立てください!










