STEPファイルをインポートしてもフィーチャーを認識させれば、最初からモデリングしなくても穴径を数秒で変更できます。

SOLIDWORKSには「FeatureWorks」というアドイン機能が搭載されており、これがフィーチャー認識の本体です。もともとは「SOLIDWORKS Professional」または「SOLIDWORKS Premium」に含まれる機能で、Standard版では利用できない点に注意が必要です。FeatureWorksの役割を一言で言うと、「履歴のないインポートボディにフィーチャー履歴を書き起こすツール」です。
異なるCADシステムで作成されたデータやIGES・STEPといった中間ファイルをSOLIDWORKSにインポートすると、形状そのものは表示されるものの、フィーチャーツリーには「インポートされた1」のような項目しか残りません。これが「デッドボディ」と呼ばれる状態で、穴径を変えたくても直接数値を変更する手立てがなく、Moveコマンドで面を動かすか、削除して再作成するしか選択肢がないのです。
これは金属加工の現場にとって大きな問題です。取引先から受け取ったSTEPファイルに、少し内径を変えた穴を追加したい、あるいは既存の穴径をφ8からφ10に変更したい、という場面は日常茶飯事です。そのたびに1からモデルを作り直すのは、1件あたり数時間の工数ロスになることもあります。
FeatureWorksを使うと、そのデッドボディから形状を解析し、「これはφ8の貫通穴」「これはM6のタップ穴」「これは板厚1.6mmの板金フランジ」という具合にフィーチャーとして認識させることができます。認識が完了したあとは、SOLIDWORKSで最初から作ったフィーチャーとまったく同じように、寸法数値を変更するだけで形状が追従します。つまり、フィーチャー認識が完了した瞬間から、他社データでも自社でゼロから設計したかのように扱えるようになります。
FeatureWorksが認識できる形状の種類は多岐にわたります。押し出しボス・カット、回転フィーチャー、面取り、フィレット、穴(単純穴・座ぐり穴・C面穴など10種類以上)、リブ、抜き勾配、ロフト、スイープ、シェル、直線・円形・ミラーのパターン、そして板金フランジ類にも対応しています。金属加工でよく使われる形状のほとんどがカバーされていると考えてよいでしょう。
参考:FeatureWorksが認識できる形状の一覧はSOLIDWORKS公式ヘルプで詳細に解説されています。
インポートされたソリッドボディ上のフィーチャーを認識 – FeatureWorks(SOLIDWORKS Japan Blog)
フィーチャー認識を使い始める前に、2つの設定を確認してください。1つ目がFeatureWorksアドインの有効化で、2つ目が3D Interconnectの設定です。この2点を押さえておかないと、メニューがグレーアウトして操作できないという状況に陥ります。
まずアドインの有効化は、メニューの「ツール(Tools)」→「アドイン(Add-Ins)」から行います。一覧に「FeatureWorks」が表示されていれば、「アクティブアドイン」にチェックを入れれば今すぐ使えます。「スタートアップ」にも同時にチェックを入れておけば、SOLIDWORKS起動時に毎回自動で有効になるので手間が省けます。
次に3D Interconnectについてです。これが意外な落とし穴で、知らないと時間を無駄にします。SOLIDWORKSの新しいバージョンでは、STEP・IGES・Parasolidなどのファイルを開くときに「3D Interconnect」という機能がデフォルトで有効になっています。この機能は元ファイルとリンクを保った状態でインポートできる便利な仕組みなのですが、フィーチャー認識(FeatureWorks)とは同時に使えません。
3D Interconnectが有効な状態でSTEPファイルを開くと、FeatureManagerツリー上に「インポートされた」のリストが出てこず、「フィーチャー認識」のコマンドもグレーアウトして選択できない状態になります。対策は明確です。「ツール」→「オプション」→「システムオプション」→「インポート」と進み、「3Dインターコネクトを有効にする」のチェックを外してからSTEPファイルを開き直してください。
| 確認項目 | 設定箇所 | 推奨状態 |
|---|---|---|
| FeatureWorksアドイン | ツール → アドイン | ✅ アクティブアドイン・スタートアップ両方にチェック |
| 3D Interconnect | ツール → オプション → システムオプション → インポート | ⬜ フィーチャー認識を使う場合は無効にする |
| SOLIDWORKSライセンス | — | ✅ Professional または Premium が必要 |
設定が完了したらSTEPまたはIGESファイルを改めて開きます。FeatureManagerツリーに「インポートされた1」が表示されれば、フィーチャー認識を実行できる状態です。ライセンスが確認できているはずです。
参考:アドイン設定の詳細は公式ヘルプで手順付きで説明されています。
FeatureWorksコマンドへのアクセス(SOLIDWORKS 2023ヘルプ)
FeatureWorksには認識モードが2種類あります。「自動フィーチャー認識」と「インタラクティブフィーチャー認識」です。どちらを選ぶかで作業効率が大きく変わるので、特徴を理解しておくことが重要です。
自動フィーチャー認識は、認識したいフィーチャーのタイプをあらかじめリストで指定しておくと、ソフトウェアがボディ全体を自動でスキャンして、該当する形状をまとめて一括認識する方法です。たとえば「穴」「フィレット」「押し出しカット」にチェックを入れてから実行すると、ボディ上に存在するすべての穴とフィレットと押し出しカットを一度に認識してくれます。形状がシンプルで種類も少ない部品に向いており、金属加工でよくある機械加工品(ブロック・プレート・ブラケットなど)に対して特に効果的です。
インタラクティブフィーチャー認識は、認識させたいフィーチャーのタイプと対象の面・エッジを1つずつ手動で指定していくモードです。手間はかかりますが、「この円筒面だけを穴として認識させたい」「ここだけフィレットとして切り出したい」という細かいコントロールができます。自動認識では誤認識が出やすいやや複雑な形状や、一部だけを編集可能にしたい場合に向いています。
また、インタラクティブモードには「面削除」という機能もあります。これはフィーチャーとして認識させるだけでなく、不要な面をボディから取り除いて形状をシンプルにする操作で、主に解析用のモデルを軽量化したいときや、アセンブリの干渉確認用に簡略形状が必要なときに役立ちます。
| モード | 特徴 | 向いている場面 |
|---|---|---|
| ⚡ 自動フィーチャー認識 | タイプを指定して一括認識 | シンプルな機械加工品、穴やフィレットが多い部品 |
| 🎯 インタラクティブフィーチャー認識 | 面・エッジを1つずつ選んで認識 | 複雑な形状、一部だけ認識させたい場合 |
実際の現場では、まず自動認識を試して大まかに認識させ、認識できなかった箇所をインタラクティブで補うという組み合わせが効率的です。結論は「まず自動、次にインタラクティブで補完」が基本です。
参考:自動認識とインタラクティブ認識の違いについては公式ヘルプが詳しいです。
FeatureWorksを使ってみよう!(CAD Japan / 大塚商会)
認識が完了したあとにできることが、フィーチャー認識の本当の価値です。ここでは「認識後に何ができるか」を具体的に押さえておきましょう。
フィーチャー認識が成功すると、FeatureManagerデザインツリーに新しいフィーチャー項目が追加されます。たとえば、インポートデータにφ8の貫通穴が5本あった場合、「穴ウィザード1」のような項目がツリーに現れます。これをダブルクリックするか右クリック→「フィーチャー編集」を選ぶと、穴径・深さ・規格といったパラメータを数値で変更できます。φ8をφ10に変えてOKを押すと、ボディ形状がリアルタイムで追従します。これが再構築エラーなく動けば、設計変更完了です。
また、フィーチャー認識後のスケッチはSOLIDWORKSのスケッチエディターで編集可能です。認識された押し出しカットのスケッチを開けば、寸法を変更したり穴位置を動かしたりすることもできます。寸法の自動割り当て機能も搭載されており、基準線寸法・変更寸法・累進寸法のいずれかを選んで自動付与できます。
フィーチャー認識によって復元できる主な形状の種類は次のとおりです。
金属加工の現場では特に「穴認識」と「板金フィーチャー認識」の需要が高いです。たとえば取引先から受け取った板金部品のSTEPファイルで、ベースフランジ・エッジフランジ・スケッチベンドをFeatureWorksで認識させれば、展開図の再計算や曲げ位置の変更がSOLIDWORKS上で即座に行えます。ゼロから板金モデルを作り直す必要がなくなるため、1件あたり数時間単位の工数削減につながります。
参考:板金フィーチャーの認識についての公式チュートリアル動画が公開されています。
【SOLIDWORKSチュートリアル】FeatureWorks:板金の認識(SOLIDWORKS JAPAN公式)
実務でFeatureWorksを使っていると、「認識しない」「メニューがグレーアウト」「認識したのに形状がおかしい」という壁にぶつかることがあります。ここでは現場でよく起きる問題を整理します。
問題①:フィーチャー認識のメニューが選択できない(グレーアウト)
最も多い原因は前述の3D Interconnectとの競合です。「ツール→オプション→システムオプション→インポート」で「3Dインターコネクトを有効にする」をオフにし、STEPファイルを開き直してください。これで解消することがほとんどです。それでも解決しない場合は、FeatureWorksアドインが有効になっているか確認が必要です。
問題②:STLファイルではフィーチャー認識できない
これは仕様上の制限です。STLはメッシュデータ(三角形の集合)であり、ソリッドボディではないため、FeatureWorksの対象になりません。FeatureWorksが動作するのはソリッドボディをもつSTEP・IGES・Parasolidなどのファイルです。STLを認識させたいときはいったんSTEPに変換するか、インポートボディとして別途処理する必要があります。
問題③:自動認識で認識率が低い、誤認識が起きる
複雑な形状や、元CADのモデリング品質が低い場合に起きます。フィレット半径が不均一だったり、面の微妙なズレがある場合、自動認識が失敗することがあります。そのような場合はインタラクティブモードで対象面を直接選んでフィーチャーを指定してください。また、認識後は「フィーチャー認識前後の形状比較」機能を使って元のインポートボディと認識後の形状を見比べることができます。面の削除を伴う操作を行ったときにのみ有効になる機能で、予期しない形状変化がないかを確認できます。これは使えそうです。
問題④:認識後にスケッチ編集で再構築エラーが出る
フィーチャー認識によって生成されたスケッチの拘束が不完全な場合に起きます。スケッチを開いて黄色や赤色になっているエンティティを確認し、不足している拘束を追加するか、寸法を明示的に入れ直すことで解消できます。認識後にスケッチの完全定義状態を確認する習慣をつけることが大切です。
参考:3D InterconnectとFeatureWorksの競合についてRedditでも多くのユーザーが報告しており、同様の解決策が共有されています。
SolidWorks 2022 Feature Worksの問題(Reddit r/SolidWorks)
フィーチャー認識は「使える場面を知っておくこと」で価値が何倍にもなります。ここでは金属加工の現場で特に効果が出やすいシーンを具体的に整理します。
シーン①:客先支給データの修正
取引先から「このSTEPデータをベースに、穴径をここだけ変えてほしい」というオーダーは珍しくありません。フィーチャー認識なしでは、押し出しカット+穴ウィザードで該当箇所を再作成するしかなく、20分〜1時間程度の作業になることもあります。FeatureWorksで穴を認識させておけば、フィーチャー編集で数値を変更するだけなので3〜5分で完結します。
シーン②:古い2Dデータをベースにした3Dモデルの効率的な作成
社内の古い2D図面をもとに3Dモデルを作る際、類似形状のSTEPファイルが存在する場合はそれを流用できます。デッドボディのままでは修正に限界がありますが、フィーチャー認識を使えば主要形状だけ認識させて、細部はインタラクティブで追加する方法で効率的に仕上げられます。
シーン③:板金部品の展開図修正
板金加工では曲げ位置や曲げ半径の見直しが頻繁に発生します。外部から受け取った板金STEPデータにFeatureWorksを適用し、ベースフランジとエッジフランジを認識させれば、曲げ位置を変えると展開形状が自動で更新されます。展開図を手計算で引き直す手間がなくなるのは、現場にとって大きなメリットです。
シーン④:マルチボディ部品の段階的認識
1つのSTEPファイルに複数のボディが含まれている場合でも、FeatureWorksは対応しています。マルチボディ部品は「一度に一つのボディずつ」認識していく仕様で、「ステップバイステップ認識」という専用のモードが用意されています。板金フィーチャーを含むマルチボディ部品にも対応しており、組み立て品の一部を修正したいケースにも活用できます。
フィーチャー認識を業務フローに組み込む際は、「まず3D Interconnectをオフにしてインポートする」というルールをチーム内で共有しておくのが得策です。設定ミスによるグレーアウトは、知っていれば1分で解決できますが、知らないと原因がわからず数十分悩むことになります。チーム全体でこのひと手間を覚えておくだけで、無駄なトラブルを防げます。
参考:FeatureWorksの操作全般について、公式ヘルプに体系的なドキュメントがまとめられています。
ステップバイステップによる認識(SOLIDWORKS 2025ヘルプ)