↑ページトップへ

トップ - 技術ドキュメント - FreeCAD 使い方メモ

FreeCAD 曲線に沿って断面形状を押し出す(スイープ機能)

更新:2017/2/12
FreeCAD 0.16

スケッチを曲線に沿って押し出してソリッドを作成する方法を説明します。この機能を使うと次のような形状を作成することが可能です。

Bend Spiral Branches
  1. メニューの [File]-[New] で新しいドキュメントを作成します。

  2. メニューの [View]-[Workbench]-[Part Design] でパートデザインワークベンチパートデザインワークベンチに移動します。

  3. まず押し出し経路用の曲線を作成しましょう。

    1. XY 平面上に新しいスケッチ面を作成Sketcher_NewSketchします。

      Create Sketch Plane スケッチ面の作成
    2. 図のように2つの直線Sketcher_Lineと1つの円弧Sketcher_Arcを作成します。位置は拘束時に調整するのでおおまかで構いません。

      Sketch Step 1
    3. 一致拘束Constraint_PointOnPointで3つのワイヤーをつなぎます。

      Sketch Step 2
    4. 円弧の中心とワイヤーの結合点を直線Sketcher_Lineでつなぎ、それぞれに垂直拘束Constraint_Verticalと水平拘束Constraint_Horizontalをかけます。

      Sketch Step 3
    5. 円弧を作る2直線を選択して補助線に切り替えSketcher_ToggleConstraintます。補助線は青色で表示されます。

      Sketch Step 4
    6. 最後に左下の端点を選択してロック拘束Sketcher_ConstrainLockをかけ、原点(0, 0)に一致させた後、各点をドラッグして全体のバランスを整えます。それが終わったらコンボ・ビューのタスク・タブにあるCloseをクリックしてスケッチ編集モードを終了してください。

      Sketch Step 5
  4. 次に押し出す断面形状を作成しましょう。

    1. ツリーでドキュメントを選択した状態でYZ平面上に新しいスケッチ面を作成Sketcher_NewSketchします。

      Create Sketch Plane-YZ スケッチ面の作成
    2. 図のように円を作成Sketcher_CreateCircleします。位置は拘束時に調整するのでおおまかで構いません。

      Sketch Step 6
    3. 円の中心を選択してロック拘束Sketcher_ConstrainLockをかけ、原点(0, 0)に一致させます。

      Sketch Step 7
    4. 円を選択して半径拘束Constraint_Radiusをかけます。今回は半径を5とします。それが終わったらコンボ・ビューのタスク・タブにある Closeをクリックしてスケッチ編集モードを終了します。

      Sketch Step 8
  5. 2つのスケッチが完成すると図のようになります。

    Sketch Step 10
  6. メニューの [View]-[Workbench]-[Part] でパートワークベンチパートワークベンチに移動し、スイープPart_Sweepを選択します。
  7. まずスイープダイアログで押し出す断面(Sketch001)を選択し、ボタンでスイープ対象に設定します。

    Sweep Task
  8. 次に Sweep Pathをクリックして 3D ビュー上で押し出し経路を選択します。Ctrl キーを押しながらクリックすると線の複数選択が可能です。それが終わったら Doneをクリックして選択を終了します。

    Sketch Step 10
  9. 最後にダイアログ左下にある Create solidをチェックして、スイープダイアログの OKを押すとスイープが行われてソリッドが作成されます。

    Bend

スイープ機能を使えば任意の形状のスケッチを任意の曲線に沿って押し出すことが可能です。下図ではパートワークベンチのプリミティブ作成Part_CreatePrimitivesで作成したらせんに沿って正五角形をスイープしています。

Spiral

また複数の断面形状を使用することで断面形状を変えながらスイープを行うこと(スイープブレンド)も可能です。

Sweeping-Blend1 Sweeping-Blend2

押し出し経路が分岐している場合には一度でスイープできません。その場合は2回に分けてスイープしてブーリアン演算で結合Part_Fuseします。

Branches