SolidWorks スケッチ・パートモデリング・数式ベース設計
概要
SolidWorksのパートモデリングは「スケッチ → フィーチャー」の2段階構造。スケッチがずれていると、どんな高度なフィーチャーでも修復できない。
逆に拘束がきちんと入ったスケッチの上であれば、Extrude・Revolve・Sweep・Loftといった基本フィーチャーだけでほとんどの機械部品をモデリングできる。
本書はスケッチ状態の管理、主要なフィーチャーコマンド、そして寸法間の関係式(Equation・Global Variable)を組み合わせて設計意図(Design Intent)をファイルに埋め込む方法までを整理する。
1. スケッチ状態と色のルール
スケッチ要素は拘束・寸法の状態に応じて異なる色で表示される。
実務で青色の状態でスケッチを終えるのは、「あとで爆発する爆弾」を仕込むのと同じ。
| 色 | 意味 | 対処 |
|---|---|---|
| 青 | Under Defined | 拘束・寸法を追加 |
| 黒 | Fully Defined | 理想的な終了状態 |
| 赤 | Over Defined | 衝突している拘束を除去 |
| ピンク | Not Solved | 関係を再定義 |
| 黄 | Dangling | 参照エンティティ消失 — 再接続または削除 |
| 茶 | Invalid Solution | 反対解(solution)を選択 |
ヒント: スケッチは必ず黒(Fully Defined)で終了すること。青スケッチは意図せず引きずられて動き、リビルドエラーの最も頻繁な原因となる。
2. 幾何拘束(Geometric Relations)
標準の拘束リストは以下の通り。
- Horizontal / Vertical
- Coincident (点-点、点-線の一致)
- Collinear (同一直線)
- Perpendicular / Parallel
- Tangent (接線)
- Concentric (同心)
- Equal (長さ・半径が等しい)
- Midpoint (中点)
- Merge (点のマージ)
- Symmetric (中心線基準の対称)
- Fix (固定) — なるべく避ける
- Intersection / Coradial
ヒント: 拘束を寸法より先に追加する。拘束が十分であれば寸法の数は自然に最小化される。
ヒント: Display/Delete RelationsダイアログでフィルターをDanglingにすると、参照が切れた拘束だけを抽出できる。インポートスケッチ修復の必須ツール。
注意: Fix拘束はグローバル座標に釘を打ち込む効果があり、原点の移動やフィーチャー再編成で簡単に壊れる。Fixではなく拘束の組み合わせで位置を定義するのが原則。
3. Smart Dimensionの活用
- 単一コマンドで線形/角度/半径/直径を自動判定。
- 2点 → 線形、2線 → 角度、円1個 → 直径寸法。
- Modifyダイアログで
=を入力すると数式モードに入り、グローバル変数や他の寸法を参照可能。 - 数値横のスピンボックスをドラッグすると値がリアルタイムに反映され、設計意図の検証に便利。
ヒント: 図面にmm/inch併記が必要な場合、Tools → Options → Document Properties → Dimensions → Dual DimensionsでPrimary/Secondary単位を設定する。
4. スケッチ補助ツール
- Sketch Picture: 図面PDFキャプチャ・手書きスケッチを平面に配置し、Auto Trace(Professional以上)で外形線を自動スケッチ化。
- Convert Entities(ショートカット
Ctrl+E推奨): エッジ・スケッチを現在の平面に投影。自動的にOn Edge拘束が付与される。 - Offset Entities(
Ctrl+Shift+O推奨): エンティティを一定距離オフセット。両方向・逆方向・Cap endsオプション。 - Sketch Contour: 1つのスケッチ内で複数の閉領域を個別選択してExtrude — ただし管理が難しくなるので濫用禁止。
- 3D Sketch: パイプルーティング・Weldmentパス・配線パスなどに必須。
TabキーでXY/YZ/ZX平面を巡回。 - Equation Driven Curve: Explicit(y=f(x)) / Parametric(x=f(t), y=f(t))対応。インボリュート歯車・サイクロイドなど数式曲線に。
注意: Convert Entitiesで作ったエンティティのOn Edge拘束を解きたい場合は、拘束だけを削除してエンティティ自体は残す。エンティティを消すと上位フィーチャーが参照を失う。
5. Extrude / Revolve / Sweep / Loft
5.1 Extrude (押し出し)
- Boss/Baseはソリッド追加、Cutは除去。
- End Condition: Blind / Through All / Up To Next / Up To Vertex・Surface・Body / Mid Plane / Offset From Surface。
- Through AllよりUp To Nextのほうが設計意図を正確に伝える。後からボディが追加されても、予定範囲のみ貫通する。
- Mid Planeはスケッチ平面基準の両方向対称押し出し。対称形状に必須。
5.2 Revolve (回転)
- 回転軸+プロファイルスケッチ。プロファイルが軸を横切ると自己干渉エラー。
- One-Direction / Two-Direction / Mid-Plane。
- Centerline(中心線) をプロファイルと一緒に描いておくと軸が自動認識される。
5.3 Sweep (スイープ)
- プロファイル+経路(Path)。Guide Curve追加で経路外の変形も可能。
- Twistオプションでネジ・スプリング作成。
- 経路スケッチは必ずプロファイルの中心・端点とPierce拘束を取ること。
5.4 Loft (ロフト)
- 2つ以上のプロファイルを滑らかに接続。
- Guide Curves, Centerline, Start/End Constraints(Normal/Tangent)対応。
- プロファイルの頂点(Connector) がずれると捻れが発生するので、コネクターをドラッグして整列させる。
5.5 Boundary Boss/Base
- Loftの上位版。両方向の曲線網で面を制御し、Contact / Tangent / Curvatureの連続性を指定できる。
- サーフェス的なClass-A形状が必要なときに有効 → 詳細なサーフェス技法: /cad-tips/solidworks/sheetmetal-weldments-surface
6. Fillet · Chamfer · Shell · Draft · Rib
6.1 Fillet
- Constant / Variable / Face / Full Roundの4モード。
- 大きいフィレットを先に適用してから小さいフィレットを入れる。逆にすると大フィレットが小フィレットを覆いきれない。
- Shell・Draftが入る前にFilletを適用すると、自然な内部フィレットが形成される。
- 意匠目的のフィレットを乱発するとグラフィック性能が落ち、Shellが破綻する。
6.2 Chamfer
- Distance-Distance / Distance-Angle / Vertex / Offset Face。
- 2019+のPartial Chamferでエッジの一部区間だけ面取り可能。
6.3 Shell
- 内部をくり抜いて均一厚の壁を作る。
- Multi-thicknessオプションで特定面だけ別厚を指定可能。
- Cut-ExtrudeはShellの後に適用してこそ実際の穴形状になる。
- 凸フィレットの半径が壁厚より小さいとShell失敗 → フィレット半径を大きくするか、Multi-thicknessで例外処理。
6.4 Draft (抜き勾配)
- 射出・鋳造金型に必須。Neutral Plane / Parting Line / Step Draft。
- DraftXpert自動ツール提供。
- Draft → Filletの順を推奨。逆順だとエッジが不自然になる。
6.5 Rib
- 薄い補強リブ。オープンスケッチの線分で生成。
- Linear / Naturalタイプ、Draft角度・厚み方向を指定。
- リブスケッチは外郭への延長が自動なので、あえて完全拘束にせず、位置拘束のみ定義するほうがスッキリする。
7. Pattern / Mirror
| タイプ | 用途 |
|---|---|
| Linear Pattern | 1方向/2方向、Up to Reference、Pattern Seed Only |
| Circular Pattern | 回転軸基準、Equal Spacing / Instances to Skip |
| Mirror | 平面基準の対称複製。Merge solidsチェック維持を推奨 |
| Sketch Driven | スケッチ点の位置に複製 |
| Curve Driven | 曲線に沿って等間隔 |
| Table Driven | Excel座標表ベース |
| Fill Pattern | 指定領域をハニカム/円形配列で埋める |
ヒント: Geometry Patternオプションをチェックするとフィーチャー再計算をスキップしてボディだけを複製する。100個以上の大量パターンで10~20倍高速化する。
8. 参照ジオメトリ・特殊フィーチャー
- Plane: オフセット/角度/3点/垂直/接線など多彩な生成法。
- Axis: 2点/2平面/円筒面/点-平面垂直。
- Point: 円弧中心、面の中心、交点。
- Coordinate System: Export/Importの基準点。
- Combine: 多ボディのAdd/Subtract/Common。
- Split: 平面・面でボディ分割後、Save Bodiesでファイル分離。
- Intersect: ボディ・面の交差領域を生成/除去。
- Wrap: 3D表面にスケッチをEmboss/Deboss/Scribe。ロゴ・グリップパターンに使用。
- Thread: Cosmetic ThreadとReal Geometry Threadを選択。図面表現が目的ならCosmeticで十分。Real Geometryはリソース消費が大きい。
ヒント: View → Hide/Show → Temporary Axesで円筒面の自動軸をオンにしておくと、円形パターンの軸としてすぐ使える。
9. Equation · Global Variable — 数式ベース設計
9.1 Global Variable
- Modifyダイアログで
=変数名を入力 → "Create Global Variable"ボタンをクリック。 - 以降、すべての寸法で当該変数を参照可能。
- 変数名は英数字・アンダースコアのみ。意味のある名前を推奨(
HoleDiameter、PlateThickness)。
9.2 Equationsマネージャー
Tools → EquationsまたはFeatureManagerのEquationsノードを右クリック。3つのタブで構成される。
- Global Variables: 変数定義
- Features: フィーチャーのSuppression条件
- Equations: 寸法間の関係式
例:
"D1@Sketch1" = "D2@Sketch1" * 2"D1@Hole1" = "PlateThickness" * 1.5"State@Rib1" = "PlateThickness" < 3 ? "Unsuppressed" : "Suppressed"— 薄板ではリブを自動的に有効化。
9.3 関数と単位
対応関数: sin, cos, tan, asin, acos, atan, sqrt, log, log10, exp, abs, int, sgn, if, min, max, floor, ceil, mod。
- 三角関数はラジアン単位。度変換は
sin(45 * pi/180)。 pi定数対応。- 単位変換は手動: インチ→mmは
* 25.4。
9.4 External Text Fileへのリンク
複数パートが同じサイズを共有する場合、Global Variableを外部.txtファイルから読み込むようリンクする。
Tools → Equations → Link to External File。寸法1つを変更すればリンクされた全パートに反映される。
ヒント: Custom PropertyもEquationで埋められる。例: $PRP@Description = "Plate " & "PlateThickness" & "mm"の形式で部品説明を自動生成。
10. スケッチ・モデリングのベストプラクティス
- 拘束を先に、寸法を後に。最小拘束の原則。
- 原点に最低1~2個の点を接続(Coincident, Midpoint)。
- 複雑なスケッチは複数の単純スケッチに分割。
- 中心線(Construction line) を積極活用して対称・中心拘束を確保。
- Fillet・Chamferはスケッチではなくフィーチャーで処理。
- 大きいフィーチャー先行 → ディテール → 標準フィーチャー(Hole Wizard) → Draft → Fillet → Shell → Cosmeticの順でツリーを構成。
- 主要寸法をGlobal Variableとして宣言 → 1箇所の修正で全体を変更。
実務チェックリスト
- すべてのスケッチがFully Defined(黒)状態
- Fix拘束の使用を最小化
- Global Variableで主要寸法を集中管理
- FilletはShell・Draftの前に配置
- 大きいフィレット先行 → 小さいフィレットを後から
- Convert Entitiesのエンティティは削除せず拘束のみ調整
- Pattern数量100個以上ならGeometry Patternオプションをチェック
- Threadは目的に応じてCosmetic/Real Geometryを選択
- EquationはFeatureManager最上部に配置して可視性を確保