ASME Y14.41-2003

ここ数日、少し移動時間があったので読みました、ASME Y14.41-2003。
(時間があれば、少なくとも読み進める気になるところが、ISOのコピーとは違います。読んでたらたぶん同じことが書いてあるんだと思いますが)
やっぱり直接実務(CADオペレーションや設計)に活かせそうなことはあまり書いてないんですが、いちおう気付いたことをここにメモしておこうと思います。
まず着目したのは、寸法について。
3.1.1(4) Y14.5MのDirect Tolerancing(寸法に±など直接公差をいれるやり方)は、フィーチャーのサイズにのみ使用されるべきで、幾何公差を使うことが望ましい
という記述です。幾何公差推奨の宣言です。
実際例図ではサイズ寸法はあまり出てきません。
3Dモデルでは幾何情報の表現が簡単なので、当然のことといえば当然のような気もします。
さらに、
7.2.2 表示されるフィーチャーのサイズ寸法は常に公差を含まなければならない
というのがあり、例図では全て公差が表示されています。
公差が表示されていない寸法というのはつまり理論的に正確な寸法であり、四角で囲まれています。公差範囲も四角もない寸法というのはありえないようです。
(部品のDimXpertでは公差「なし」とか「一般」を選ぶと公差表示はなくなるので注意が必要ですね)
そして、好ましいとされる幾何公差の観点からは、面の輪郭度が多用されています。平面でもかまわず面の輪郭度を使ってます。
これについては、私の設計経験が未熟なので
「輪郭度を使うと便利そうだなぁ」
という程度の感想しか出てこないのですが、これからは形体定義方法として面の輪郭度を積極的に使ってみようと思います。
そして最後に、データムターゲット。
データムターゲットの定義方法もかなり詳しく記述されています。
Solidworksの部品のDimXpertには、少なくとも私の知っている限りデータムターゲットを入れる機能はないので、「三次元にデータムターゲットを入れるのは難しいのかなぁ」と漠然と思っていたのですが、いずれにせよ必要ですよね、やっぱり。
(DimXpertで言うと図面のDimXpert(つまり2D図)でも、機能としてはかなり大雑把なデータムターゲットしか入れられないので不満はあったんですが)
このあたりの機能は、追加されることを指をくわえて待ってるだけになってしまうんですが、こうして書いてあるものがあると期待が高まります。
その他の内容も、3Dデータビューワのベンダさんのためにあるような内容で、ユーザーとして知っておかなきゃありえないような内容はあまりなかったです。ソフトがそうなってないとどうしようもない。
部品のDimXpertの寸法設定に役に立ちそうな内容もあまりありませんでした。
Solidworksさん、チュートリアルを増やしてください(懇願)
追記: この記事はコメントもぜひ見てください
設計テーブルで直線パターンを変化させる
さて、今日は先日のエントリ
関係式で直線パターンを他フィーチャーに合わせて変える
の続きです。
関係式で直線パターンをフレキシブルに変化させることができるようになりましたが、グローバル変数はコンフィギュレーション分けできませんし、設計テーブルに入れることもできません。
なので今回はちょっと小細工して、もっと便利に使えるように改良します。
具体的には、前回は関係式に直接入れてたパラメータ(フィンの数(直線パターンインスタンス数)と、ベース長さ(直線パターンが入るスペースの全長))を、
強引にスケッチにして、スケッチからパラメータを読みます。

前回は30と180というパラメータを関係式に直接書き込んでいましたが、今回はパラメータ指定用のスケッチを作ります。

これは外形寸法を指示するためのスケッチ

そしてこの円はフィンの数(30枚)を指定するためのスケッチです。
インスタンス数は本来単位のないパラメータですが気にせず円の直径として書きます。

そうしたら、前回は関係式に直接書き込んでいたパラメータを今回作ったスケッチの寸法に置き換えて、今回作ったスケッチを設計テーブルで指定すると・・・

どかんと一気にたくさんコンフィギュレーションがつくれました。
これで、いろんなパターンのヒートシンクが超簡単につくれるようになりました。
伊藤家の食卓に応募しようかなぁ
2009-05-28 追記
その後、むやみに関係式を増やすべきでない
ということに気付きました。
今エントリでは、5つも関係式を作ってしまいましたが、1,4の二つだけを関係式とすべきで、
3のただ関係式内で使うだけの値を変数に割り当てる→わかりやすさのためスケッチに名前をつけてそのままつかう
2,5のただ変数を参照するだけ→リンク値の使用
とすべきでした。
関係式で直線パターンを他フィーチャーに合わせて変える
の続きです。
関係式で直線パターンをフレキシブルに変化させることができるようになりましたが、グローバル変数はコンフィギュレーション分けできませんし、設計テーブルに入れることもできません。
なので今回はちょっと小細工して、もっと便利に使えるように改良します。
具体的には、前回は関係式に直接入れてたパラメータ(フィンの数(直線パターンインスタンス数)と、ベース長さ(直線パターンが入るスペースの全長))を、
強引にスケッチにして、スケッチからパラメータを読みます。

前回は30と180というパラメータを関係式に直接書き込んでいましたが、今回はパラメータ指定用のスケッチを作ります。

これは外形寸法を指示するためのスケッチ

そしてこの円はフィンの数(30枚)を指定するためのスケッチです。
インスタンス数は本来単位のないパラメータですが気にせず円の直径として書きます。

そうしたら、前回は関係式に直接書き込んでいたパラメータを今回作ったスケッチの寸法に置き換えて、今回作ったスケッチを設計テーブルで指定すると・・・

どかんと一気にたくさんコンフィギュレーションがつくれました。
これで、いろんなパターンのヒートシンクが超簡単につくれるようになりました。
伊藤家の食卓に応募しようかなぁ
2009-05-28 追記
その後、むやみに関係式を増やすべきでない
ということに気付きました。
今エントリでは、5つも関係式を作ってしまいましたが、1,4の二つだけを関係式とすべきで、
3のただ関係式内で使うだけの値を変数に割り当てる→わかりやすさのためスケッチに名前をつけてそのままつかう
2,5のただ変数を参照するだけ→リンク値の使用
とすべきでした。
関係式で直線パターンの数を変化させる
今回はやろうと思ってできていなかった
直線パターンのフレキシブルな変更の話題です。
「直線パターン(フィーチャー)って使いづらい!」
と思ったことはありませんか?
あれば、ぜひ読んでみてください。
私は使いづらいと思ってました。
なぜって、とりあえず
・決まったスペースに決まった数を入れようと思ったら、間隔を手計算しないといけないうえ、ぴったり収まらない
それから
・コンフィギュレーションでインスタンス数を変えられない
つまり私がやりたかったことは、例を挙げて言うと、
いろんなパターンのヒートシンクを(簡単に)作る
です。つまり、
・ヒートシンクのサイズを変える。
・フィンの数を変える。
・フィンの厚みを変える。
などのパターンをいろいろ作って、コンフィギュレーションでわけて、シミュレーションにかたっぱしから放り込みたい、とこういうわけなんです。
たとえばこんなモデル

この状態では厚み2mmのフィンが30個あります。
普通の直線パターンでは、たとえばこのヒートシンクのサイズを広げると端っこがあまってしまいますし、狭めると30個乗らなくなります。
それに、違うコンフィギュレーションを作ってフィンの数を変える(たとえば、フィン25個のコンフィギュレーションを作る)ことができません。
これは関係式で解決します。
ツール→関係式 にあるやつですね。
今回は二つのグローバル変数とひとつの式
IntFinPatNum: フィンの数
DimBaseLength: ヒートシンクのサイズ(直線パターン方向)
DimFinPitch: フィンのピッチ(上記2変数と厚みより計算)
"DimFinPitch"=("DimBaseLength"-"D1@スケッチ2")/("IntFinPatNum"-1)
(D1@スケッチ2は厚みの寸法)
を設定しました。

これで準備OK
ターゲットの直線パターンをフィーチャーマネージャーデザインツリーでダブルクリックすると、画面内にインスタンス数がちっちゃく出てくるので、さらにそこをダブルクリックすると、修正というダイアログボックスが出てきます。
そこで下向き三角を押すと関係式が追加できるようになりますので、

関係式の追加画面で、さっき作ったフィンの数のグローバル変数IntFinPatNumを指定します。

同様にベースの押し出し長さにはDimBaseLengthを指定し、フィンピッチもDimFinPitchを指定してできあがり。これで、
・ヒートシンクのサイズを変更したいときはDimBaseLengthを、
・フィンの数を変えたいときにはIntFinPatNumを
変更すれば自由自在にヒートシンクを変更することができるようになりました。

しかし!
これではまだ、コンフィギュレーションでわけていろいろな本数のヒートシンクを作ったり、設計テーブルを使って簡単にコンフィギュレーションを増やしたりすることはできません。
なぜなら、グローバル変数はコンフィギュレーション別に変更したり、設計テーブルに入れたりすることができないからです。
では、どうしましょうか?
ちょっと長くなったので、それはまた次の機会に。
直線パターンのフレキシブルな変更の話題です。
「直線パターン(フィーチャー)って使いづらい!」
と思ったことはありませんか?
あれば、ぜひ読んでみてください。
私は使いづらいと思ってました。
なぜって、とりあえず
・決まったスペースに決まった数を入れようと思ったら、間隔を手計算しないといけないうえ、ぴったり収まらない
それから
・コンフィギュレーションでインスタンス数を変えられない
つまり私がやりたかったことは、例を挙げて言うと、
いろんなパターンのヒートシンクを(簡単に)作る
です。つまり、
・ヒートシンクのサイズを変える。
・フィンの数を変える。
・フィンの厚みを変える。
などのパターンをいろいろ作って、コンフィギュレーションでわけて、シミュレーションにかたっぱしから放り込みたい、とこういうわけなんです。
たとえばこんなモデル

この状態では厚み2mmのフィンが30個あります。
普通の直線パターンでは、たとえばこのヒートシンクのサイズを広げると端っこがあまってしまいますし、狭めると30個乗らなくなります。
それに、違うコンフィギュレーションを作ってフィンの数を変える(たとえば、フィン25個のコンフィギュレーションを作る)ことができません。
これは関係式で解決します。
ツール→関係式 にあるやつですね。
今回は二つのグローバル変数とひとつの式
IntFinPatNum: フィンの数
DimBaseLength: ヒートシンクのサイズ(直線パターン方向)
DimFinPitch: フィンのピッチ(上記2変数と厚みより計算)
"DimFinPitch"=("DimBaseLength"-"D1@スケッチ2")/("IntFinPatNum"-1)
(D1@スケッチ2は厚みの寸法)
を設定しました。

これで準備OK
ターゲットの直線パターンをフィーチャーマネージャーデザインツリーでダブルクリックすると、画面内にインスタンス数がちっちゃく出てくるので、さらにそこをダブルクリックすると、修正というダイアログボックスが出てきます。
そこで下向き三角を押すと関係式が追加できるようになりますので、

関係式の追加画面で、さっき作ったフィンの数のグローバル変数IntFinPatNumを指定します。

同様にベースの押し出し長さにはDimBaseLengthを指定し、フィンピッチもDimFinPitchを指定してできあがり。これで、
・ヒートシンクのサイズを変更したいときはDimBaseLengthを、
・フィンの数を変えたいときにはIntFinPatNumを
変更すれば自由自在にヒートシンクを変更することができるようになりました。

しかし!
これではまだ、コンフィギュレーションでわけていろいろな本数のヒートシンクを作ったり、設計テーブルを使って簡単にコンフィギュレーションを増やしたりすることはできません。
なぜなら、グローバル変数はコンフィギュレーション別に変更したり、設計テーブルに入れたりすることができないからです。
では、どうしましょうか?
ちょっと長くなったので、それはまた次の機会に。
ISO 16792:2006
ISO 16792(製図: デジタル製品定義データ実施規範)をJSAでゲットしました。

いつも思うんですが、ISO(のJSAコピー版)はしょぼいですね。紙質が・・・ちょっと薄めのコピー紙です。しょぼい。
ハードウェア(物質)ではなく、ソフトウェア(中身)で勝負だ、といってもやはり外見に左右されてしまって、これでは中身までしょぼく感じてしまいます。
けっこう高額なものなので、コピーとはいえもうすこし
お金をかけてせめてJISハンドブックくらいの質感にしてほしいです。
ちなみにASME Y14.5は上等です。

というわけで、今回の投稿は
「見た目でちょっとしょぼいと思っちゃっている」
という私の心理を差し引いてお考えください。
さて、この規格、ISO 16792,DimXpertのヘルプに準拠がうたわれている規格のひとつであることは以前に書きました。
それで、DimXpertで寸法を設定するのに役にたつだろうと思って購入したわけですが、序文を読むと、もうひとつのDimXpert準拠規格
ASME 14.41: 2003から修正採用
と書いてあります。
まったく同じわけではなさそうです。
そしてこの規格内での引用規格は全てISOの規格(ISO 8015など)となっています。ASMEは出てきません。(参考文献としては出てきます)
ただその後は、設計に影響する内容は書いてありません。この規格は、三次元データ運用方針のような規格で、設計が終わった後、どのように製品を定義するか
(たとえば寸法の入れ方、線の書き方、データセットにふくまれるべき情報など)
が書かれているだけです。
つまり、データムとは何か、ここにこの寸法を入れるということはどういう意味か、といったような内容はありません。
なので、寸法の解釈は引用規格に入っているISO 8015に従うということになるでしょうか。
そうするとDimXpertの幾何拘束にはISOとASMEで違いが出てくるように思われますが、ほんとかな・・・
前回のB0401のこともあるので、デフォルトは包絡拘束されると考えたほうがよいなと思っていたんですが。
まあとりあえず実際に試してみないとダメですね。
規格読むばっかりじゃなく手を動かすようにがんばります。

いつも思うんですが、ISO(のJSAコピー版)はしょぼいですね。紙質が・・・ちょっと薄めのコピー紙です。しょぼい。
ハードウェア(物質)ではなく、ソフトウェア(中身)で勝負だ、といってもやはり外見に左右されてしまって、これでは中身までしょぼく感じてしまいます。
けっこう高額なものなので、コピーとはいえもうすこし
お金をかけてせめてJISハンドブックくらいの質感にしてほしいです。
ちなみにASME Y14.5は上等です。

というわけで、今回の投稿は
「見た目でちょっとしょぼいと思っちゃっている」
という私の心理を差し引いてお考えください。
さて、この規格、ISO 16792,DimXpertのヘルプに準拠がうたわれている規格のひとつであることは以前に書きました。
それで、DimXpertで寸法を設定するのに役にたつだろうと思って購入したわけですが、序文を読むと、もうひとつのDimXpert準拠規格
ASME 14.41: 2003から修正採用
と書いてあります。
まったく同じわけではなさそうです。
そしてこの規格内での引用規格は全てISOの規格(ISO 8015など)となっています。ASMEは出てきません。(参考文献としては出てきます)
ただその後は、設計に影響する内容は書いてありません。この規格は、三次元データ運用方針のような規格で、設計が終わった後、どのように製品を定義するか
(たとえば寸法の入れ方、線の書き方、データセットにふくまれるべき情報など)
が書かれているだけです。
つまり、データムとは何か、ここにこの寸法を入れるということはどういう意味か、といったような内容はありません。
なので、寸法の解釈は引用規格に入っているISO 8015に従うということになるでしょうか。
そうするとDimXpertの幾何拘束にはISOとASMEで違いが出てくるように思われますが、ほんとかな・・・
前回のB0401のこともあるので、デフォルトは包絡拘束されると考えたほうがよいなと思っていたんですが。
まあとりあえず実際に試してみないとダメですね。
規格読むばっかりじゃなく手を動かすようにがんばります。
さてそろそろDimXpertへ①
大阪に帰ってまいりました。
ざっと規格もお勉強できたことなので、
そろそろDimXpertがうまく使えるかためしてみたいと思います。
せっかくなのでいちおうヘルプトピックも読んでおくか~ということで読みました。
「部品のDimXpert」
Solidworks2009のヘルプでは、目次の公差(Tolerancing)のところにあります。
そうしたら・・・
「部品に対するDimXpert は、ASME Y14.41-2003 とISO 16792:2006 に準拠した寸法と公差を部品に適用するために使うツールのセットです」
ああああああ!!!Y14.5じゃない!!!
このY14.41というのはDigital Product Definition Data Practicesということで、3次元図面関連の規格のようです。
そういえばあった、そんなの。
言われてみれば、3次元に寸法入れようとしているので、
あたりまえ中のあたりまえですね、しかも。
(公差設定のことばかり頭にあって図面という認識が欠落してました)
とはいえ公差設定の思想が違うことはまずないと思うので、役にたたないということはないでしょうけど、
Y14.41も読まないといけないじゃないですか
(またJSAに連絡して買わないといけないな)
(たしかISO(16792)のほうもこのASME規格をベースに作られているようなことを聞いたことがあるような気がするので、ひとつだけ読めばよさそうなのは不幸中の幸い・・・かな?)
まあY14.41はそのうち購入することにして、とりあえずは(また同じようなことが無いように)まずヘルプを全部読みながら、いろいろ試していきたいと思います。
ざっと規格もお勉強できたことなので、
そろそろDimXpertがうまく使えるかためしてみたいと思います。
せっかくなのでいちおうヘルプトピックも読んでおくか~ということで読みました。
「部品のDimXpert」
Solidworks2009のヘルプでは、目次の公差(Tolerancing)のところにあります。
そうしたら・・・
「部品に対するDimXpert は、ASME Y14.41-2003 とISO 16792:2006 に準拠した寸法と公差を部品に適用するために使うツールのセットです」
ああああああ!!!Y14.5じゃない!!!
このY14.41というのはDigital Product Definition Data Practicesということで、3次元図面関連の規格のようです。
そういえばあった、そんなの。
言われてみれば、3次元に寸法入れようとしているので、
あたりまえ中のあたりまえですね、しかも。
(公差設定のことばかり頭にあって図面という認識が欠落してました)
とはいえ公差設定の思想が違うことはまずないと思うので、役にたたないということはないでしょうけど、
Y14.41も読まないといけないじゃないですか

(またJSAに連絡して買わないといけないな)
(たしかISO(16792)のほうもこのASME規格をベースに作られているようなことを聞いたことがあるような気がするので、ひとつだけ読めばよさそうなのは不幸中の幸い・・・かな?)
まあY14.41はそのうち購入することにして、とりあえずは(また同じようなことが無いように)まずヘルプを全部読みながら、いろいろ試していきたいと思います。