「エッジってラインのこと?」
「ワイヤ?とはなんのこと?」
「シェルとかコンパウンド?なんて普段つかってないけど・・」
というように、なんとなくわかってるけどその用語の定義をしっかりとは知らないFreeCADワードってありますよね?それぞれワードをイラストにしてまとめて記事にしてみました。
- 頂点 Vertex
- エッジ Edge
- ワイヤ Wire
- フェイス Face
- ソリッド Solid
- コンパウンド Compound
という順番に各要素は複雑になっていきます。
この記事は
FreeCAD Documentaitionから以下を引用して作りました。ぜひ一度リンク先をブラウザの翻訳機能を有効にしてご覧になってください。
”Everything starts with Vertices. With one or two vertices, you form an Edge (full circles have only one vertex).With one or more Edges, you form a Wire. With one or more closed Wires, you form a Face (the additional Wires become "holes" in the Face). With one or more Faces, you form a Shell. When a Shell is fully closed (watertight), you can form a Solid from it. And finally, you can join any number of Shapes of any types together, which is then called a Compound.”意訳:すべては頂点から始まり、1つまたは2つ以上の頂点を伴ってエッジを形成します。1つまたは2つ以上のエッジによってワイヤが形成されます。そして、閉じられたワイヤによってフェイスができます。フェイスが合わさることでシェルを形成します。そして、シェルの中身が隙間なく詰まったときそれはソリッドと呼ばれるものになります。そして最後は、沢山のシェイプやさまざまなオブジェクトを一緒に1つに合わせるとでコンパウンドになります。
1 頂点、エッジとは ( vertex, edge )
vertex(ヴァーテクス) = 頂点
edge(エッヂ) = エッジ
edge(エッヂ) = エッジ
※Wikiでは頂点の複数形をvertexes,
verticesの2つで併記されているが意味に違いがあるのか?わかりません。
FreeCADのオブジェクトはすべて頂点ヴァーテクスvertexから開始されている。2つの頂点間を結んだ線のことはエッヂedgeと呼ぶようになる。
Draftワークベンチで描いたラインLine(線)もSketcherで描いた線分も、マウスオーバーして選択してみるとPythonコンソールにエッヂ(Edge)を選択しましたと英語で表示されることで確認できる。
立方体や直方体、他色々立体の境界線もEdgeエッヂと呼ばれ扱われるので混乱しやすい。Lineライン、Wireワイヤ、Edgeエッヂは区別されるが、WireのEdgeを選択するとか、LineのEdgeを選択するというのはありうるし、成り立つ。
2 ワイヤとは ( wire )
wire = ワイヤ
1つ以上のエッヂ・ラインをつなげたものはwireと呼ばれるものになる。
Sketcherで作図した連続線はただちにワイヤとなるわけではなく、ただ連結された1本の線みたいな扱い。すべてのエッヂを選択した状態でDraftワークベンチのアップグレードを行ってはじめてWireになる。
また、wireの最初と最後の頂点同士を連結し閉じた状態にすると、Closed wire = 閉じられたワイヤになる。閉じられたワイヤは、面(FaceやFlatFaceフェイスやフラットフェイス)にすることができる。
3 フェイスとは ( face )
face = フェイス
閉じられたワイヤ(ClosedWire)はface(面)になる。
試しに、閉じられたワイヤを選択してDraftワークベンチにてUpgrade(アップグレード=↑ボタン)を実行するとフェイスを作成できる。逆に、フェイスをDowngrade(ダウングレード=↓ボタン)するとwireに戻ことが確認できる。
閉じられたワイヤにおいて、囲われたエリアが面(face)になる。閉じられていないと面化することはできない。
4 シェルとは ( shell )
shell = シェル
faceのあつまり。中身がスカスカで↓で紹介するソリッドとは別物。Faceを複数選択してコンパウンドにすることもできるがShellとは別物。
5 ソリッドとは ( solid )
solid = ソリッド
シェルの中身が埋まり隙間なく詰まったものをsolidと呼ぶ。シェルとは異なる。Partワークベンチで作成するプリミティブはソリッド。シェルのソリッド化はかんたんにできる。FreeCADやFusion360、Solidworksといった3DCADは、ソリッドを作成する3DCGソフトウェアであり、パラメトリック(コンボボックスで色々パラメータをあとから色々いじれること)な立体を作成することを最終目標としている。
6 コンパウンドとは ( compound )
いろいろなシェイプ、オブジェクト、エッジ、頂点、ソリッドなどを一つのまとまりにしたものことをCompoundコンパウンドという。ブーリアン演算の和集合とは異なる。
Compoundについて辞書的な意味を検索してみても3次元作図においてはあまり役に立たず、とりあえず色々をまとめて1つのものにしてしまう機能という感じの理解でOK。
Partワークベンチツールバーのアイコンクリックでコンパウンド化の実行ができるので、結果をツリービューで確認するとコンパウンドグループ(まとまり)になっているのがわかる。いろいろオブジェクトを1つにまとめて扱いたいときというとあまり用途が想像できないかもしれないが、ブーリアン和集合にはしたくないときや、和集合に失敗するときなどなどにCompoundは非常に便利な使い方がある。正しい使用法ではないかもしれないが。
SketcherがあるならDraftワークベンチいらなくね?問題
FreeCADを私のように知識0の状態からスタートした初心者の場合、だいたいSketcherから立体を作成するとことになると思います。Webチュートリアルでそういう内容が多すぎる。そうすると
「Draftワークベンチってなんのためにあるの?」「SketcerあるんだしDraftいらんくね?」
となりますよね?ざっくりなんですが、Sketcherは2D図面(ワーキングプレーン)依存であり、Draftは座標依存であるという点で少々違いがあります。
Draftワークベンチで作られるオブジェクトはFreeCADにおいてもっとも基礎的な要素であり、本記事で紹介したVertex, Edge, Wire、FaceなどはすべてDraftオブジェクトです。Draftオブジェクトは、原点座標を基準に3D空間に自由に作図できる。
対して、Sketcherワークベンチで作図を行う場合、まずワーキングプレーンをアタッチするところから始まっているわけで、そのアタッチ先を基準にして作図を行うのです。
Sketcherワーキングプレーンのアタッチ先候補には、XY・YZ・XZ平面や、そのほかにはソリッドのとある平面や頂点などが挙げられる。たとえば、Sketcherワーキングプレーンをソリッドにアタッチした場合に、もしアタッチ元であるソリッドへなにかしら変更が加えられた時は再計算が行われる。再計算に失敗するほどの大きな変更があった場合(頂点・面・線が減ったり、なくなってしまったというような場合)には、ツリービューで赤いビックリマークが表示され遡って作業の修正を余儀なくされることになる。ワーキングプレーンのアタッチし直しとか。
ざっくりつまり、
Draft作図 = 原点座標(0、0、0)参照
Sketcher作図 = ワーキングプレーン参照
ということ。Draftオブジェクトは、ワーキングプレーン参照から起こる再計算・やりなおしの問題は発生しない。なぜならDraftオブジェクトはいつでも原点座標を参照しており、その基準となっている原点座標軸が動くことは無いからです。Draftのスナップも同様です。Snapも結局原点座標軸を参照しているからです。
ここまで読んでいただくと、「じゃ、Draft作図機能最強じゃないか」と思われるかもしれませんがおおきな問題があります。
それは、Draftワークベンチの使用感がめちゃくちゃ悪いということ。どう考えたって2D平面作図はSketcherのほうがはるかにやりやすい。DraftワークベンチのキモはDraftワーキングプレーン(原点座標参照)とスナップを使いこなすことなんですが、いかせん直感的にできなくていつまでたっても慣れないんだよなぁ・・。まじで機能改善もとむ。もしくは正しい使用法みたいなチュートリアルを誰か示して・・・。
Sketcher図面をそのままDraftオブジェクトに変換することはできるし、その逆のDraftオブジェクトをSketcher図面に変換することも可能なので、状況に合わせて使い分けられたし・・・、というのがいいかもしれません。
経験則ですが、参照元のオブジェクトが後から動いたり変更があっても再計算の問題が起こらないDraftオブジェクトには以下のような用途、
- 複数のSketcherや立体にまたがるような線、基準線
- 複数のオブジェクトの基準となるような補助線
に非常に使えるというのがおわかりいただけると思います。反対にある程度作業が進んで、後から色々変更や修正を加えるような場合は依存関係を残せるSketcher作図を利用したほうがいいかもしれません。
WikiでPythonスクリプトの基礎を学べます
Manual:Creating and manipulating geometryでは、Pythonコンソールにて打ち込みコマンドで作図する方法が書かれている。Wikiの具体的な内容は円弧と直線を用いて楕円というか、コロッケを上から見たような立体を作成するチュートリアルです。これを読めばマクロ自作の基礎を学ぶことができる。
Pythonコマンド郡を1つにまとめればマクロが作成でき作業の自動化を狙えるようになりますので、どうぞ下記リンクを一度ご参照しFreeCAD知識をお深めくださいm(_
_)m
FreeCADの要素の意味や、Draftワークベンチの存在意義がわかりやすくまとめられていて、大変参考になりました。どうもありがとうございます。
返信削除コメントありがとうございます!お力になれていたら幸いです!
返信削除検索してたどり着きました。
返信削除初めの作画方式の違いの説明が非常にありがたい。
まともにこの辺の意味を解いているものがないうえに、動画見てても要領得ないものばかり。
おかげで、freecadの基本とオブジェクト操作の適用がどういう条件で行われるか理解しました。
CZさんコメントありがとうございます。
返信削除大変恐縮です。勉強中な身分ですゆえ、記事に間違いがないといいのですが・・・汗
最近のFreeCADのアップデートには目を見張るものがありますね!機能の進化と一緒にわかりやすいチュートリアル動画がほしい今日この頃です。