【CATIA基礎知識】内部要素(サブエレメント)とは

CATIAでは形状を作成するときに様々な要素(エレメント)となる形状を選択しますが、その中には内部要素(サブエレメント)というものが存在します。

内部要素を使って作成した形状は履歴の変更をしたときに履歴が追従しない場合が多いため、内部要素はできる限り使わないに越したことはありません。しかし、実際に形状作成を行っていると使わざるを得ない場面に出くわすこともあります。

内部要素についてしっかりと理解しておけば履歴変更時にエラーが出ても臨機応変に対応することができますし、形状作成時に内部要素を使っても大丈夫な時とそうでない時がわかるのでしっかりとおさえておきましょう。

このページでは以下の内容が学べます。

icon-check-square 内部要素とは何か

icon-check-square 形状作成で内部要素を使わないほうがいい理由

icon-check-square 形状作成で内部要素を使う場合の注意点

このページの内容は履歴追従について理解している必要があるため、まだ以下のページを読んでいない方は先にそちらから読んでみてください。

【CATIA基礎知識】履歴の考え方

 

内部要素(サブエレメント)とは

CATIAでは形状を作る時、点や曲線、サーフェスなど様々なものを『要素』として使用します。その中でもサーフェス形状やソリッド形状の頂点やエッジ(辺)、フェース(面)などは直接選択して要素として利用することができます。
このような形状から直接選択した要素を内部要素(サブエレメント)といいます。

内部要素を使うと直感的に形状作成をすることができますが、履歴の追従がしないことが多いです。履歴が不要で形状だけが今すぐ欲しいという場合は、内部要素を使った方が素早く作成できるため、内部要素を使っても問題はありませんが、履歴からしっかりと作っていく形状では基本的には使わないよう意識しておきましょう。

内部要素とそうでない要素のどちらを選択しているのかわからない場合は、選択した時の名称を見ると簡単に判別することができます。通常の要素の場合は選択すると、選択した形状名のみが表示されますが、内部要素を選択した場合は以下の画像のように『¥』がつきます。

『¥』は「の中の」という意味で、上の画像の『サーフェス.A¥フェース.1』は、サーフェス.Aの中にあるフェース(面)を意味しています。
このような選択した時の名称に『¥』がついた場合はすべて内部要素です。

内部要素を含めたCATIAでの3D形状の種類についての解説は以下を参照してください。

 

内部要素が履歴追従しなくなる理由

内部要素は上記のとおり、ある形状の一部を要素として使用するわけですが、履歴の変更によって元の形状が変形してしまうと、場合によっては選択していた内部要素が見失われてしまうことがあります
選択していた内部要素が見失われててしまうと、その要素を使って作成していた形状が作成できなくなってしまい履歴追従がストップしてしまいます。
これが内部要素を使うと履歴が追従しなくなる理由です。

たとえば下の画像の左側の形状を履歴の変更だけで右側の形状に変更するとします。
このとき、フィレット部(青色部)の形状を内部要素の『フェース.1』とします。

『形状変更1』の場合は、『フェース.1』が変更後も変わらずに存在しています。このような形状を変更しても内部要素で選択した部分が存在している場合には履歴は追従します。しかし『形状変更2』の場合は、形状が大きく変更され『フェース.1』が消失してしまっています。このような形状を変更したときに内部要素で選択した部分が消失してしまった場合には履歴が追従しなくなってしまいます

このように、内部要素として選択している形状(上の例でいう『フェース.1』)は履歴で形状を変更したときに消失してしまう場合がある『常に存在しているとは限らない不安定な要素』といえます。
そのため、しっかりとした履歴が必要な形状作成では内部要素はできる限り使わないように意識し、もし使わざるを得ない場合は「なぜ」「どこで」「何を定義したか」などをしっかりと理解し、その要素が消えた場合でもすぐに対処できるようにしておく必要があります。

 

『内部要素の消失』の具体例

上記の内容を踏まえたうえで、形状変更があったときに内部要素が消失する場合の具体例をその対処法とあわせて見ていきましょう。

履歴変更による『内部要素の消失』

下の画像のように左の形状を右の形状に修正するとします。

修正前の左側の形状は履歴で形状変更をすることができるようになっており、以下のように赤く囲われた面の高さを変更することができます。

このとき、この修正を下の画像のような流れでエッジ(内部要素)を使って形状修正したとします。

この時点で形状修正は終わりましたが、
ここで面の高さを変更したいとなった場合に履歴は追従するでしょうか

履歴で高さを変更すると、下の画像のように高さを低くした場合にのみエラーが発生しました。

このエラーは、面の高さを低くした時に選択していたエッジが消失してしまうことが原因です。

下の画像のように、面の高さが高くなる方はエッジが消えないため履歴が追従しますが、面の高さを低くした場合ではエッジが消えてしまいエラーが発生してしまうという訳です。(選択していたエッジは2つのフィレットに飲み込まれ消失)

 

内部要素の消失によるエラーの対処法

ではこの場合、エラーをどう解消すればいいのかを考えてみましょう。
まず、なぜエラーが発生したのかをまとめると以下の通りです。

分割するために作成した平面は『エッジ上に垂直な平面』と定義して作成したが、その要素となるエッジが消失したことにより平面の定義ができなくなりエラーが発生。

ここで重要になってくるのはエラーが発生した原因は平面が作成できなくなってしまっただけということです。
つまり言い換えれば、平面さえ再定義できれば履歴は再び追従するということです。

今回は平面を『エッジに対し垂直な平面』と定義しましたが、これをエッジではなく『消える恐れのない他の形状』から定義すれば内部要素の消失によって履歴が追従しなくなるということは起こりません。
ここでいう『消える恐れのない形状』というのは『形状コマンドで定義して作成した形状』や『絶対座標』や『デフォルト平面』などのことをいいます。

下の画像では『横壁から10mmオフセット』という内容で平面を定義し直しました。
この結果、高さを変更してもエラーが発生することなく、履歴を追従させることができるようになりました。

このように内部要素によって起こったエラーは原因さえわかれば、修正することは容易です。
特に今回のような原因が1つしかない場合は、すぐに修正することができます。

問題なのは内部要素を何十、何百と使った形状でエラーが発生してしまう場合です。
内部要素を大量に使用すると、どの内部要素が原因でエラーが発生しているのかがわからない状態に陥ってしまいます。さらに、1つのエラーを解消したとしても、そのエラーの解消によってほかの内部要素が消えてしまうという場合もあり、こうなってしまうともう履歴変更による形状修正はほぼ不可能です。
1から形状を作成し直すか、履歴が追従しているところまで戻ってやり直すしかなくなってしまうため、内部要素の使用はかなりのリスクがあるということを知ったうえで使用するよう心掛けましょう。

 

まとめ

今回は内部要素(サブエレメント)についての内容でした。
CATIAを使う上で内部要素についてしっかりと理解しておく必要があります。

形状の定義などがよくわからない初めのうちは、この内部要素を使って形状作成の流れを理解するのもいいと思いますが、できる限り使わない方がいい要素だということを知ったうえで使いましょう。
内部要素は選択してすぐに使えて便利な要素ですが、時間をかけてでもしっかりと形状作成コマンドで定義した形状を要素として利用たほうが結果的に効率がいいです。
内部要素で選択することのできる形状のほとんどは、形状作成コマンドで定義することができるため、最終的には内部要素を使わないで形状作成ができるようになりましょう。

 

2019年7月13日CATIA, CATIA基礎知識, GSDワークベンチ

Posted by Lic