FreeCADを使う

2024年も終わりに近づいたころ、長らくVer0.2XだったFreeCADがVer1.0.0(以下Ver.1)になった。いわゆる正式バージョンというやつ。
便利になった機能もあるので初心者的視点で割と雑にメモ書きすることに。
ちなみに0.2Xのデータはエラーを出して読み込めないことがあるが、あくまで新規にVer.1を使い始めるということを前提にするので過去は振り向かない方針で。
その場合は修正するよりもVer0.2Xで開いておいてそれを参照しながらVer.1で新規に描いていった方が精神的に楽だったとだけ書いておく。
独学なんで間違っているところがあるかもしれないがそこは御免なさいということで。見つけた人はこっそり教えてくれ。
そして業務に使うのならFusionのほうがデータが壊れたりする可能性が低くていい。
FreeCADは途中の作業項目に修正を加えるとその影響で以降の作業内容が壊れることがあり、その修正の手間がばかにならないが、Fusionはその手間が比較的簡単。
でも私の環境ではFreeCADのほうが起動が早いのとどうせ趣味ということで気軽に使うならFreeCAD。

項目一覧

基本的なこと マウスの使い方
基本的なこと 表示言語に関して
基本的なこと ワークベンチについて
簡単なボディを作ってみる
簡単なボディをややこしい方法で作ってみる
アセンブリをしてみる
ネジを作る
Revolution と Datum と Position

基本的なこと マウスの使い方

画面右下にマウスの絵が描いてあるところがあるのでそこにカーソルを持っていくと説明が出るのでそれを参照のこと。
blenderとかを使ったことがある人は▼をクリックしてblenderを選択するとそれっぽくなるが、選んだ項目によってはFreeCADでの操作がわからなくなる場合があるので基本はCADで。

項目一覧へ

基本的なこと 表示言語に関して

他のサイトを見るとまず日本語にするというのが紹介されているが、しばらく日本語にして使ってメニュー構成に慣れてきたら英語に戻して使ってみることを勧める。
所々で英語のコマンドを入力する時があるのだが、日本語表示にしているとそのコマンドがわからない。英語表示なら画面に出ているので。

項目一覧へ

基本的なこと ワークベンチについて

ワークベンチ FreeCADではやりたい機能ごとにワークベンチを切り替えて作業をする。
左の図のPart Desighと書かれているドロップダウンリストがそれ。
最初に使うのはPart Designワークベンチだろう。PartとPart Designというよく似たワークベンチがあるが、Partは球や直方体などの既存のパーツを使って部品を作り上げていくもので、Part Designは平面図を書いてそれを上に伸ばしたり削ったりして部品を作っていく。自分がこのやり方を中心にしているのでこちらの方で説明を進める。
ちなみに部品という言い方をしているが、FreeCAD では Body (ボディ)と呼んでいるようなので以降それに合わせる。

PartにもPart Designにも同じような機能(論理合成とか)があるが、違いがいまいちわかっていない。
Part Designでの論理合成はPart Designワークベンチで作ったボディ同士じゃないとうまくいかないことがあるのでその場合はPartで論理合成を行う。ただ、それをやるとモデルツリーの並びが好みではない感じになるので、できるだけPart Designワークベンチ内でボディを作っていった方がいい気がする。

その他にもいろいろなワークベンチがあるので必要に応じて切り替えて使う。他のワークベンチに関しては実はよく知らない。
定番は Fastner (ねじ類作成用)とか Assenbly4 (複数のボディを組み立てていくやつ)だが、Assenbly4に関してVer.1になってから内蔵機能となって使いやすくなったので入れる必要がなくなった。
最初に使うワークベンチは設定で指定しておくといい。私はPart Designを指定している。


項目一覧へ

簡単なボディを作ってみる

最初は何から手を付けたらいいのかわからない人も多いと思う。
そんな人のための最初のとっかかりとして直方体を作ってみる。
まずはワークベンチを Part design にしてスタート。

クリエイト Create body (左の図の青い階段のようなもの)をクリックすると新しいボディが作成される。
そうすると左のモデルツリーに Body という項目が追加される。このツリーの下に操作がどんどんぶら下がっていく。

次にツリー上の Body が選択された状態で Create Body の隣にある Create sketch (丸と四角の絵)をクリックするとどの平面に対して図面を配置(attach)するのかを聞いてくる。
XY-plane は上から見た図、XZ-plane は正面から見た図、YZ-plane は横から見た図となる。
とりあえず Select attachment で XY-Plane を選択。

スケッチャー 四角 すると、ワークベンチが Sketcher に切り替わり、図面を描くモードとなる。
Create rectangle (四角の絵のボタン)をクリックし、適当に四角を描く。本当に適当で。
Tasks の中の Constraints に4つの結合と4本の線が引かれたのが記録されている。それぞれの項目をクリックすると図面上の対応する部分が緑色となる。
ここで Tasks の中の Close ボタンをクリックし、編集をいったん終了する。

パッド 図の四角い絵の Pad をクリックすると Tasks のところが Pad(押し出し)の設定となる。
Length が10.00mmとなっているがここを変えると高さが変えられる。とりあえず OK をクリックして Pad を終了。

上面
円
上面をクリックして選択、そして再び Create sketch をクリックすると選択面に図面が配置される形で Sketcher が開かれる。

今度は Clreate circle by center をクリックし、ここに適当に円を描く。
そして Close で終了。
ポケットボタン
ポケット
今度は Pocket をクリックして OK。
するとこのように穴をあけてくれる。
瞬く間にボディを作ることができたが、このボディには寸法とかが入っていないのでただのお絵かきである。
とりあえず保存する必要もないのでそのまま終了し、何度か描いて操作になれるといい。
特に Sketcher でいろいろなボタンを試してどのボタンでどんな図が描けるのか試してほしい。


基本的に
1. ボディを作成。
2. 図面を配置する面を選択
3. 図面を描く
4. それに対して3D化の指示を与える
5. 2に戻る
といった繰り返しでボディを作っていく。

項目一覧へ

簡単なボディをややこしい方法で作ってみる

ボディを作る流れはわかったと思うが、ここからはあえてややこしい方法をとりつついろんな機能を使って図形を作っていく。
簡単な図形を作るのに何でこんな面倒な手順を踏むのかという疑問もあるが、FreeCADの機能に触れてみることと、あとで複雑なボディを作るのに役立つこともあるかもしれないということで。

まずは表を作ってみる。
Excelなんかと比べると使いにくい表ではあるが、エイリアスが設定できたり簡単な計算ができたりメモを書いておけたりと何かと便利。
変更の可能性のある寸法にエイリアスを使うと非常に便利。
ただ、表でエイリアスをある程度定義すると図面の終了とかの時間が長くなるような気がする(検証してない)ので注意が必要かも。

表1
ワークベンチを Spleadsheet に切り替える。

表2
Create Spreadsheet をクリックし新しい表を作成する。

表3
表にこのように入力する。
必要なのはB列だけだが、設定したエイリアス(変数名という意味くらいでOK)を一覧する機能がないので設定予定のエイリアスをA列に書いておく。
C列はこれが何の寸法なのかわかるようにとかのコメントを入れておく。
単位がついていないとエラーが出る場合があるのでB列に入力した数値には単位を付けておいた方がいい。今回は"mm"。
他にも角度とかいろいろ指定する単位があるので各自調べてほしい。
この辺りを参考に。FreeCAD 数式
単位がなくてもなんとかする方法があるがそれは別途必要になった時に説明する。

表4
B2のセルを選択した状態で表の右上にある Alias 欄にエイリアスとして ww を入力。
B2セルを右クリックして Properties - Alias でも設定できるが、手数が多くなるので面倒。
"t"など使用できない文字を入力すると赤文字になるので"tt"とか"t_box"などに替える。

表5
エイリアスの設定が終わったセルはこのように色が変わる。
エイリアスを設定したセルを選択すると右上のエイリアス設定欄にエイリアスが表示されるので確認はできる。
しかしながら、一覧はできないのでやはり自分でメモを入れたほうがよいだろう。


表の作成はちょっと面倒なのでここまで来たら Test とかの名前でいったん保存したほうがいいだろう。

Ver.1になってから似たような機能で変数の設定があるのでこれも使ってみる。

Var1
Create a new variable set をクリック。
Var2
するとこのように変数設定用ダイアログが表示される。

Var3
とりあえずこのように入力してみる。
Nameは好きなようにわかりやすいものを。
Group も適当な名前に。変数をグループ分けして管理しやすいようにするものらしいので気にならないのならそのままで。
Type はその変数がどのようなタイプなのかを示すもの。作図の場合使う変数のほとんどが長さなので App::PropertyLength のままで。興味のある人はリストを見てどんなのがあるのか把握しておくのもいいかも。
名前を入れないと出てこない Varue 欄に数値を入れる。今回はLengthなので単位の mm は付けない。内部で補完してくれる(はず)
Add another にチェックを入れておくと続けて変数を設定できる。
Tooltip に変数の説明を入れると、マウスオーバーで説明が表示されるようになる。

Var4
ここで Create a new variable set をクリックすると新しい変数セットが作られる。
今作った変数セットに変数を追加するときは Modelツリーの VerSet をダブルクリックする。


いったんOKをクリックしてVerSetを閉じて今までの作業を保存しておく。

はっきり言ってTableもVerSetもできることは似たようなものに感じるので、どっちを使うのががいいのかよくわからないが、設計をする上であちこちでよく使うけどあまり変更しないものはVerSetを、よく変更する値(大きさを変えてみるものとか)に関してはSpreadseetを使う方がよさそうな気がする。
私の知識ではこの程度の認識だが、少なくともSpreadsheetの方が全体の見渡しはいいと思える。

さて、いよいよ簡単な図面を描いてみることにする。

MakeBody01
MakeBody02
Create body で新しいボディを作り、Create sketch でXY平面を指定して作図開始。
まずは四角を描くのだが、あえて Create line で直線4本を描いて四角に作り上げていく。
Create Line の左にあるのが Create polyline で、連続して直線を引くのに使う。おそらくこちらの方が利用することが多いだろう。

こんな感じに何となく縦線2本、横線2本を描く。
長方形を描くには各線の端点を接続し、向い合った辺同士を同じ長さかつ並行としてどこかの角を直角にすればいい。
変な角度で長方形を描くと後々面倒なので今回は各辺を垂直と水平とする。

MakeBody03
MakeBody04
Constrain horizontal/vertical をクリックしたのち各線を順次クリックしていくとこのようになる。
Ver.0.2Xの頃は垂直と水平が独立したボタンとなっていたが、Ver.1になって統合された。
注意するのは垂直もしくは水平に近い方向に合わせてくれるので、作図時にその方向に近くなるように線を引いておくこと。

MakeBody05
MakeBody06
MakeBody07
Constrain coincident をクリック。
これは端点同士を接続する、直線の端点を他の直線の延長上までもっていく、直線を点の方向に向けるなどの機能がある。

赤丸で囲まれた端点を順次クリックしていく。
次に緑丸で囲まれた端点と線上をクリックする。
次に黄色丸で囲まれた端点と線上をクリックする。
すると一番下の状態になり、長方形が出来上がる。
すべて端点同士を接続すればいいのだが、あえて端点と端点、端点と直線を試している。
Constrain coincident の動作がなんとなくわかったかと思う。

MakeBody08
MakeBody09
MakeBody10
Dimension をクリックし、いよいよ寸法を入れていく。
Ver.0.2Xのころは垂直寸法、水平寸法、斜め寸法、直径などすべて独立したボタンだったが、Ver.1になってから統合されてボタンの配置がすっきりした。もちろんボタンの右にある▼をクリックすると従来通りの機能も選べるので、どうしても寸法を入れにくい状況になったら切り替えることも視野に入れておくとよい。

線の端点などの点を2か所クリックすると点間距離を、直線をクリックすると直線の長さを、直線を2本クリックすると角度を、円周をクリックすると直径(円)or半径(円弧)など、状況によって機能が変わる。

上辺の直線をクリックし、マウスを動かして数値の位置を適当な場所まで移動させたらクリックすると、このように Insert length の入力ダイアログが出る。
Length の項目が選択されているので、通常はここで数値を入るのだが、今回は表から数値を引っ張ってくるので、Excelの計算式入力と同様"="をキーボードから入力すると Expression editor が起動する。Length欄の右にある丸で囲ってfxと書いてあるところをクリックしてもいいが、文字入力をするのであればキーボードから手を離さないほうが効率的。ちなみに各ボタンにマウスオーバーするとショートカットキーも表示されるので、慣れてきたら活用するとよい。
ここに Spreadsheet.ww と入力すると表に設定した30.00mmが設定される。spまで入力すれば"spreadsheet"が候補に出てくるのでこの補完機能を使うことで楽ができる場合がある。
同様に左辺をクリックし"="に続いて Spreadsheet.dd を入力することで長方形の形状が確定される。
この状態で図形のどこかをつまんでドラッグすると形が崩れることなく動かすことができる。動くということは完全に固定されていないということなので、Constrain coincident をクリックしてからXY軸の交点の青点と四角の左下の点を続けてクリックすることで、完全に四角形が固定される。
全体が緑色になったら固定完了。
固定という言い方を使っているが、用語的には「拘束」というのが正しい。
ここまで来たら Tasks の Close をクリックして作図終了。

MakeBody11
MakeBody12
Pad をクリックし、Length に先ほどと同様"="を入力し Spreadsheet.hh を入力。
こんな感じに直方体ができあがる。
表の数値を変更するとそれに連動して形状も変化する。

MakeBody13
MakeBody14
上面をクリックし create sketch をクリックする。
Create circle by center をクリックし、円を描く。
円の直径は VerSetで定義した値を使用するので寸法入力は"="の後に VarSet.dd と入力することで直径20mmの円ができあがった。
寸法値をダブルクリックし、Imsert diameter が開いたら Name のところに"ddd"入れておく。これはあとで使う。
寸法の表示が"ddd=φ20mm"になった。

寸法に名前を付けた場合、あとから見つけやすいように表にシート名、名前、何の寸法なのかをメモしておくとあとから探す手間が省けていい。

MakeBody15
MakeBody16
この円を四角の中心に配置したいので中心を取るための基準点を用意する。
Create extension geometry をクリックし、四角の上辺をクリックする。辺が赤くなり参照可能となったことがわかる。

MakeBody17
MakeBody18
Constrain symmetric をクリックし、四角の右上の赤点、左下の青点、円の中心点の順にクリックすると円が中心に配置される。

MakeBody19
Close し、Pocket で深さ10mmの穴をあける。
左の図のような感じにできただろうか。
ここでいったん保存しておく。

MakeBody20 MakeBody21
MakeBody22
余談ではあるが、参照寸法にも名前つけることができ、うまく使うと結構便利。
左が補助線との切り替え、右のが参考寸法との切り替え。
似たような機能なんで似たような絵になっている。
図面としては、円の中心と右上の対角線を結んだ直線上の円周から5mmの位置の円の中心からのXY寸法といった感じ。
手順を説明すると、
補助線に切り替え、円の中心と右上の角までの直線を引く。
円周上に点を打つ(直線ボタンの二つ左にあるやつ)。
Constrain consident で点と先ほどの補助線をクリックすることで円周と直線の交点に点を打つことができる。
補助線上に点を打ち、円周上の点とこの点の距離を5mmとする。
参照寸法に切り替え、円の中心と点のXYそれぞれの寸法を入れ、名前を付ける。
といった感じ。座標を計算するのが面倒な場合、図面に補助寸法を入れておくといちいち計算する必要がなくて楽ができるというわけである。


ここでもう一つボディを作ってみる。
MakeBody23
モデルツリーで先ほど作成したボディ(手順通り作っているのなら Body という名前になっているはず)を選択しスペースキーで非表示にする。モデルツリー上のいろいろなところで表示/非表示が使えるので、作図上死角になる場所などを選択する場合などに使える。
Create body - Create sketch - XY と進み作図を開始する。
適当な場所に円を描く。
今まではXYの交点を基準として作図していたが、そうもいかない場合もあるのであえてずらしておく。
寸法入力では"="を入力して以前円の直径として"ddd"を入力したスケッチ名を入力する。私の場合は"Sketch001"
大文字小文字を区別するので間違えないようドロップリストから選ぶのが無難。ドロップリストから選ぶと後ろにピリオドを自動でつけてくれるので便利。
続いて "Constraints."、"ddd"と入力。すると寸法として20mmが入力される。
はっきり言って VerSet を参照してもいいのだが、寸法の再利用の方法としてあえて使ってみた。
例えば、作図の途中で VerSet の値に3mm追加した寸法とかに名前を付けておけば、その値を参照するときに毎回3mmを足すことなく一発でほしい値を入力できることとなる。
そして円の中心とXYの交点までの寸法をそれぞれ10mmとし、xx yy などと適当に名前を付けておく。
MakeBody24
MakeBody25
Close で閉じて Pad で高さを入力する。
図のように"-2"入れてあげればよさそうだが、赤字でエラーが出ている。実はこの入力では単位をきちんと合わせないといけないので"-2mm"と入れるのが正解。これでエラーが消える。
こういう事態が起こるので表に入れた数値に"mm"を入れておいたわけだ。
どうしても表に"mm"を入れたくない場合、Spreadsheet.xxx * 1mm とすることで無単位の値を Length に変更できる。これは知っておいた方がよいTips。
ちなみにこれも表から数値を持ってきても問題ないのだが以下略。
これで直径20mm高さ13mmの円柱ができた。 このように Pad や Pocket などと同じ長さの寸法を簡単に持ってくることができる。
今回は参照した Pad は Pad のパラメーター入力で Type を Length で指定したものなのですぐに数値がわかったが、Type を Up to face (面まで)で作図した場合は数値の欄がデフォルトの値になっているため数値を拾うのが困難なので Length を参照したほうが簡単ということになる。
Type を Two dimensions (2方向の寸法)にすると Length と Length2 が出てくるので、こちらも参照することができる。
表示を日本語にしているとこの辺りのキーワードがわからなくなるので、ある程度使い方になれたら英語表示にしたほうがよいというのはこういうところにある。

MakeBody26
今度は円柱の上面を選択して Create sketch 。Create eternal geometry で円周を選択し、その中心に合わせて円を描き、直径に Sketch001.Constraints.ddd + 10mmと入力する。これでちょっと大きい円ができたわけだ。
Pad で高さ5mmを指定するとこのような形のボディができる。
ここで保存しておく。
ちなみに、再度ファイルを呼び出してボディを編集するときは、モデルツリーで編集したいボディを選択して右クリック、Active body にチェックを入れておく。
作図途中で他のボディを編集する時も同様。寸法の変更程度であれば不要だが習慣としておいたほうがよい。


項目一覧へ

アセンブリをしてみる

先ほど穴の開いた直方体ときのこみたいな円柱っぽいものを作ったが、これを組み立てたときの場所に配置してみる。
Ver.0.2Xの時はAssenbly4というワークスペースを別途組み込む必要があったが、Ver.1になってからFreeCADの機能として組み込まれ、使い勝手もよくなった。
FreeCADのアセンブリのやり方を検索してみてもほとんどがAssembly4を入れるVer.0.2Xのやり方で、私も最初はどうやるのか悩んだので簡単にしか説明できないが書いてみることとした。
Assembly4を使った図面があるようなら練習も兼ねて新しい書き方になおすのもよいといえるくらい使いやすい。

Assembly01
あとで表示がごちゃごちゃになるので、まずは先ほど作成したボディ2点を非表示にする。
次にワークベンチをAssembly に切り替える。

Assembly02
Assembly02
Create assembly をクリック。
モデルツリーに新たにAssemblyというものが出現する。

Assembly04
Assembly05
Insert Component をクリックしてまずは最初のボディを読み込む。
左のように作成したボディのツリーが出るので Body をクリックすると何やら聞いてくる。これは「この部金を基礎としていいか?」という意味なので、Yes をクリックし、続けて OK をクリック。
読み込んだ Body に赤い南京錠のマークがついて、このボディが基礎となることを意味している。
モデルツリーには Bdy002 となっている。
再び Insert Component をクリックして今度は Body001 (きのこのような円柱)を読み込む。 こちらは Body003。

Assembly06
Assembly07
直方体の上面の円周をクリックして選択。
マウスの中ボタン(スクロールボタン)と左ボタンを押しながらドラッグし、下面が見えるようにする。
ボディが重なって選択しにくいときにはボディをドラッグすることで移動できる。
CTRLキーを押しながらきのこの首の線をクリックする。
これで2か所が選択された。

Assembly08
Assembly09
Create a Fixed Joint をクリックすると先ほど選択した2つの線をくっつけるようにボディが配置される。とっても簡単。

Assembly10
Assembly11
Assembly12
モデルツリーで Body002 (直方体のやつ)を選択した後に View タブを選択、少し下にスクロールすると Transparency s という項目がある。これはボディの透明度を指定するところ。ここを30%にしてみる。
すると、ちゃんときのこが底面から2mmの隙間を残して埋まっているのが確認できる。
キーボードの1〜6を押すと視点が素早く変えられるので活用してほしい。
今回は固定結合を使用したが、他に回転とかスライドとかある。
モデルツリーの Joints を開いてみると Fixed というのがあると思う。これが今回の結合。 試しにこの Fixed を ダブルクリックして Create Joint の設定を Slider に変更してみよう。
きのこをマウスでドラッグするとスライドすることが確認できる。
移動範囲も設定できるので、設計に合わせて設定し、どこかにぶつかることがないかを確認できる。
というか、このきのこ、穴を突き抜けてるぞ。
Body002.Edge13 と Body003.Edge3 を DELキーで削除し、きのこの一番下の円周と直方体の穴の底の円周を選択し、Slider を Fixed に戻して OK をクリックするときのこの頭が2mmほど浮いた形で結合される。

動かして遊ぶときはモデルツリーの Assembly がアクティブになっている必要がある。動かせないときはここを確認すること。


項目一覧へ

ネジを作る

ネジを作るには Fasteners ワークベンチを導入するのが定番で、どこを見てもこれで作るやり方が紹介されている。
一部ねじ径とピッチに合わせた螺旋を作ってそこに三角形をスイープさせて作るというのを紹介しているページもある。
スイープの練習にはよい題材だが、別途ワークベンチを組み込むことなくそこそこ簡単にネジが作りたいという場合に使えるだろう方法を紹介する。

まずは雌ネジ。
これはFreeCADの標準機能で簡単にできる。
先ほど作成した直方体の穴にM20のネジを切ってみる。

Screw01
Screw02
まずはモデルツリーでBody001 と Assembly を非表示にし、Bodyを表示する。
次にBodyを右クリックし、Active Body とする。
M20のネジということはネジ山のの外側が20mmとなるので直径20mmの穴では山が作れない。そのため穴を小さくする。
Sketch001 を開き、直径の寸法を VarSet.dd-5mm とする。これで穴が小さくなった。

Screw03
Screw04
穴の円周を選択し、Hole をクリック。

Screw05
すると Hole parameters という穴の設定が開かれる。
Profile は ISO metric regular profile を選んでみた。ISO規格のメートル標準ネジ。
ISO metric fine profile だと細目ネジとなる。

Depth は Dimension (寸法値)とし、キーボードから"="を入力し、Pocket.length を入力。すると穴の深さの10.00mmとなる。こういう時に実寸法でなく Pocket.length を使うと穴の深さを変更した際には自動でネジを切る長さも変更されるので楽である。表で指定しても VarSet で指定してもいいんだけどね。こっちの方が「どこの寸法に合わせたのか」がわかりやすい。
これだけだと単にネジを通すための穴の絵である。

Threaded にチェックを入れるとネジ山作図となる。
Depthは自動で入っているのでModel Threaded と Update thread view にチェック。ここにチェックを入れることでネジ山が描画される。その分処理時間がかかることになるのでネジ山を作り終わったらチェックを外した方が処理時間が省略されていいらしいが、複雑な図面を描いているわけでもないのでそのまま表示させておく。 また、ネジ穴の内径を参照する場合はこのチェックを外しておかないととんでもない参照となってしまう。

Drill Point はドリルの先端角度の指定。何もしないとドリルの先の円錐部分が反映された穴形状となっているので、今回は Flat を選択する。
これで OK をクリックするとネジ穴の完成。

私の使っている3DプリンターはXY平面の円は直径が0.4mmほど小さくなるので Threaded のところにある Custom Clearance に0.5mmを指定している。
そうでなくとも多少広めにしておいた方がねじ込みがスムーズになるのでその辺は各自カットアンドトライで。
スライサーが Cura であれば水平穴展開の設定で0.5mmと入れておけばいいのだが、Prusa slicer にはその設定がないので図面側で調整する必要がある。でもなんとなく Cura よりPrusaのほうが出来上がりがきれいなんだよなぁ。

Screw06
こんな感じ。
Pocket と Hole の違いって何だろうとずっと疑問だったのだけど、任意図形で穴を掘るのが Pocket で、ネジ穴に特化したのが Hole ってことでいいのかな。

今度は雄ネジ。
残念ながら FreeCAD には雄ネジを切る機能はないらしい。
いよいよ Fastener ワークベンチの導入かといったところだが、雄ネジがいるなら丸棒をダイスでネジ加工すればいいじゃないかということで、その方向で。

Screw07
まずはダイスを作る。
つまり、先ほどネジ穴を作ったのと同じ手順。
今まで作ったボディをすべて非表示にし、Create body で新規にボディを作成する。基準面はXY平面。
Body004 が作られる。 先ほどネジ穴を作った際に外形はM20なので20mm、穴径は Hole のProperty から17.5mmというのがわかっているのでそれに対して余裕のある寸法で作図する。
同心円で二つの円を描く。
内側の円の直径は15mm、外側の円の直径は25mmと適当に決めておく。
中心の座標は先ほどのキノコの中心に合わせるので xx yy とつけた名前を参照する。

Screw08
Padで Length をきのこの柄の長さに合わせる。この通りに作業していれば Pad001.Length がそれに該当する。
Body001 を表示すると同じ場所にあることが確認できる。

Screw09
先ほどと同様、内側の円のふちをクリックして Hole をクリック、M20のネジを切る。すでに分かっていると思うが、Length は Pad003.Length を指定して13mmとする。
これでダイスの出来上がり。

今回、ダイスの位置をきのこに合わせるのに寸法で合わせたが、Create a sub-object(s) shape binder という機能(黄緑色のアメーバに赤い点がついたようなやつ)を使うと、簡単に参照が可能となる。
モデルツリーできのこボディを選択しこのボタンをクリックするときのこの影が生成される。この際に元のキノコは非表示にしておくこと。すると、この影の面、線、角が参照できるようになる。
ただ、この方法を使うと元のボディの形状を変更した際に内部的にどこかがずれるらしく、参照して作成した部分がどこかに行ってしまうという現象が頻発する。こうなると修正するより新たに描き直した方が早いという状況となるので、積極的に使うのはちょっとという感じ。参照元のボディと今作っているボディの位置関係の確認くらいであれば問題はない。そんなわけで、寸法で合わせたというわけだ。

Screw10
Screw11
Screw12
次に Body001 (きのこ)を表示し、Active body にする。(この操作、いらないかもしれないが習慣づけとして)
CTRLキーを押したまま Body001 Body004 の順で選択し、Boolean operation をクリック。
Body001 がActive であれば Body004 をクリックするだけでいいようだが、習慣づけとして。
Boolean parameter で cut を選択すると、この通りネジができ・・・てないですね。
Screw13
Screw14
原因は棒の直径がダイス内径より細いため。
ということで、Body001 - Pad001 - Sketch002 できのこの柄の直径を修正する。
Sketch001.Constraints.ddd となっていたのを VarSet.dd + 2 mm に修正。
最初は直方体の穴と同寸法でよかったためその値(ddd)を参照していたが、直方体の穴を狭くし、きのこの柄の径を大きくする必要が出たため個別に指定する必要が出たわけだ。
ちなみにボディがちゃんと表示される条件としてモデルツリーで該当ボディが表示になっていることと、該当ボディの最後の工程(今回は Boolean )が表示になっていることが必要。つまり途中の行程を表示にするとそこまでの状態を見ることができるということ。

さて、最後に Assembly で組付け状態を見てみよう。なんかなくなってますねぇ。
ツールバーにある虫眼鏡のボタンに Fit all というのがあるのでこれをクリックすると見失ったボディを見つけることができる。
これはねじを切ったことで今まで参照していた円がなくなったことが原因と思える。
ということで、モデルツリーの Assembly の下にある Fixed をダブルクリックし、Body002.なんちゃらとBody003.なんちゃらをDELキーを使って削除し、あらたに直方体の穴の底面ときのこの柄の底面をクリックすることで再度結合がされた。
ちなみに Fastner ワークベンチを使うと規格にないネジも作ることができるので、必要に応じて試してみるといい。


項目一覧へ

Revolution と Datum と Position

Revorutionは書いた図形を回転させて円柱状のものを作図する機能。

Revo01
こんな感じで図形を描いてRevolutionすると

Revo02
こんなボディができる。
Revolution に関してほとんどのページはこの程度の説明である。要は X Y Z のどれかを軸として回転させている。

でも世の中そんなに都合のいいことばかりではない。例えば XYZ どの軸も中心にできないような場所に Revolution したいとか、複数個所で Revolution したいとか。というか実際にはそのような場合のほうが多いだろう。

Revo03
こんなやつ。
左のボッチはZ軸に合わせることができるのでいいとして右の穴の縁取りは何を基準にするのか。

Revo04
こんな図を描いて Pad 。

Revo05
Revo06
どこの面も選択せずに Create sketch をクリックし、XZ 平面を選択。 こんな図を描いて Revolution。
こんな感じになるので右側の穴のふちを選択。

Revo07
Revo08
Revo09
Create a datum plane をクリックすると基準平面が出現する。
Attachment mode で Frenet NB もしくは Revolution section を選択するといい感じの平面となる。
この平面を選択してから Create sketch でこんな感じの図を描く。
回転の中心となる部分に補助線を入れることを忘れずに。
そして Revorrution 。
Revorution parameter の Axis で Construction line 1 を選択。これが先ほどの補助線ということ。
すると先ほどのようなボディが完成する。基準平面は見た目に邪魔なので非表示にする。

今回は円周を基準に基準平面を作成したが、他にも点・線・面を基準にして位置や角度を調整して基準面を作成できる。

Revo10
じゃあこんなボディ形状はどうだろう。
先ほどは穴が開いていたのでそれを基準に平面を作ったが、これにはそんなものがない。

Revo11
Revo12
ボッチを置きたい場所に点を配置し、左のボッチからのX寸法とy寸法を参照寸法値として入れておく。
この図面だと xx と yy 。
そしてこんな感じの図面を描いて Close 。

Revo13
今閉じたスケッチの Dataタブで、Attachment - Position - z に yy を参照する式を"-"を付けて入れる。
Attachment の右にある ... をクリックすると Placement というのが表示されるので、こちらの方がいろいろやりやすいかも。
スケッチが目的とする場所に移動していることを確認。

私の感覚ではY方向だと思うのだが、なぜかz方向。座標軸の基準が違うのだろうか。
移動や回転の指定に関してはまだ不勉強。

Revo14
そして Revolution 。
z軸でRevoっているので変な形が出来上がっている。
Revolution parameters の Axis で Select reference... をクリックし、スケッチの回転の中心にあたる線を選択すると、無事先ほどのボディが出来上がる。


項目一覧へ
とまあこんな感じでわずか1ページで簡単な説明をしたわけだ。
3D CAD の使い方を1ページで解説しているところなんかそうないだろう。

検索してもあまりヒットしないけど知っていると便利そうな項目を集めてみたわけだが、同じ手順で一通り追いかけてみれば初めて FreeCAD を使う人のとっかかりにはなると思う。
ほかのいろいろな機能に関しては他のきれいな図とレイアウトでわかりやすく解説しているページを参考にしてもらいたい。
表紙へ