基本操作 > Windchill のサーチ機能 > サーチの参照 > サーチ範囲とベース単位の変換
サーチ範囲とベース単位の変換
実数実数 (単位付き) の値で属性サーチを実行する場合、Windchill は一定の範囲内でサーチ結果を返すことができます。詳細については、数値のサーチ範囲を参照してください。
実数 (単位付き) の値をサーチした場合、ベース単位を使用して範囲が計算されます。この単位はユーザープリファレンスによって制御可能な表示単位とは異なる場合があります。詳細については、以下を参照してください。
これにより、表示単位によってはサーチ結果に大きな違いが生じることがあります。さらに、複数のユーザーがデータを共有しているときに、これらの環境が異なる測定システムを使用するよう設定されている場合、混乱が生じることがあります。
たとえば、以下について考えてみます。
ユーザー "John" は表示単位を USCS に設定しています。このユーザーが部品を作成またはサーチする際には、重量を lbs-mass (ポンド) として指定します。
ユーザー "Arnold" は表示単位を SI に設定しています。このユーザーが部品を作成またはサーチする際には、重量を kg (キログラム) として指定します。
Windchill では、重量 (質量) のベース単位はキログラムです。
John と Arnold は同じ組織内でデータを共有して作業しています。
Arnold は以下の部品を作成し、各部品の重量をキログラムで設定します。
名前
重量
Arnold_1
0.317515 kg
Arnold_2
0.317548 kg
Arnold_3
0.317562 kg
Arnold_4
0.318 kg
Arnold_5
0.3 kg
Arnold_6
0.3401987 kg
John は以下の部品を作成し、重量をポンドで設定します。
名前
重量
John_1
0.7 lbs-mass
John_2
0.67 lbs-mass
John_3
0.73 lbs-mass
John_4
0.69 lbs-mass
John_5
0.71 lbs-mass
John_6
0.70 lbs-mass
表示単位とベース単位
John が Arnold の部品を表示したときには、キログラムからポンドに変換された重量が表示されます。
ただし、データベースに実際に記録されている重量はベース単位の重量です。Arnold の表示単位はベース単位と同じなので、Arnold が入力した重量がそのままデータベースに保存されます。
名前
Arnold が入力した重量
John に表示される重量
データベースに保存されている重量
Arnold_1
0.317515 kg
0.700001 lbs-mass
0.317515 kg
Arnold_2
0.317548 kg
0.7000003 lbs-mass
0.317548 kg
Arnold_3
0.317562 kg
0.7000034 lbs-mass
0.317562 kg
Arnold_4
0.318 kg
0.701 lbs-mass
0.318 kg
Arnold_5
0.3 kg
0.7 lbs-mass
0.3 kg
Arnold_6
0.3401987 kg
0.7500097 lbs-mass
0.3401987 kg
ただし、Arnold の側からすると、物事は若干複雑です。John が重量の値をポンドで入力すると、次の 2 つの処理が行われます。
Windchill は入力値をその論理的ベース単位に変換し、結果をデータベースに保存します。重量のベース単位はキログラムであり、ポンドからキログラムへの変換レートは 1:0.45359237 です。したがって、0.7 ポンドはデータベースに 0.317514659 キログラムとして記録されます。
ただし、変換後の重量は John がポンドで入力したときの有効桁数に丸められます。この丸められた後の数値がインタフェース (情報ページ、テーブルなど) に表示されます。
したがって、Arnold に表示される値は、データベースに保存されている実際の値とは少し異なります。
名前
John が入力した重量
Arnold に表示される重量
データベースに保存されている重量
John_1
0.7 lbs-mass
0.3 kg
0.317514659 kg
John_2
0.67 lbs-mass
0.30 kg
0.3039068879 kg
John_3
0.73 lbs-mass
0.33 kg
0.3311224301 kg
John_4
0.69 lbs-mass
0.31 kg
0.3129787353 kg
John_5
0.71 lbs-mass
0.32 kg
0.3220505827 kg
John_6
0.70 lbs-mass
0.32 kg
0.317514659 kg
* 
変換後の単位の値をその表示単位に丸める際には、従来の丸め規則が適用されます。たとえば、次のようになります。0.25 は 0.3 に丸められます。これはサーチ範囲での丸めとは異なります。
例: 非ベース単位でのサーチ
John が重量属性に対してアドバンスサーチを実行した場合、結果の数値範囲は変換後の数値範囲から計算されます。
たとえば、John が基準値として 0.70 lbs-mass を使用して重量属性に対してデータベースサーチを実行したとします。
「サーチ」をクリックすると、以下の処理が行われます。
1. Windchill は入力値をベース単位の値に変換しますが、この値はサーチで入力された有効桁数に丸められます。これは前述の Arnold に表示される変換後の表示単位での値を計算するときの丸めと同じ種類のものです。以下に例を示します。
変換後の完全な値 = 0.317514659 kg
0.7 lbs-mass と入力すると 0.3 kg に丸められる
0.70 lbs-mass と入力すると 0.32 kg に丸められる
0.700 lbs-mass と入力すると 0.318 kg に丸められる
2. サーチ範囲はベース単位に変換後の丸められた値に基づきます。
0.70 lbs-mass = 0.32 kg
0.32 kg = サーチ範囲は 0.315 から 0.325 kg (両方の値を含む)
3. サーチ結果が John に返されたときに、重量は USCS の値で表示されます。0.315 から 0.325 kg のサーチ範囲が適用された場合、0.69445612588 から 0.7165023521 lbs-mass の表示範囲で結果が返されます。
* 
この違いは重要です。ベース単位がポンドで変換が行われなかった場合、John に返されるサーチ結果の範囲はこれよりはるかに小さい 0.795 から 0.705 ポンドになります。
John のサーチでは以下が返されます。
名前
表示重量
John_1
0.7 lbs-mass
John_5
0.71 lbs-mass
* 
ベース単位の変換が行われなかった場合、0.795 から 0.705 の範囲から外れるので、この部品は返されません。
John_6
0.70 lbs-mass
Arnold_1
0.700001 lbs-mass
Arnold_2
0.7000003 lbs-mass
Arnold_3
0.7000034 lbs-mass
Arnold_4
0.701 lbs-mass
例: 変換されたデータ値に対するベース単位でのサーチ
今度は、Arnold が重量 =0.317514659 kg (これは Windchill で 0.70 ポンドを変換した場合の完全な値) という基準を使用して部品をサーチします。
サーチが実行される前に変換は行われません。この結果、Arnold には 0.3175146585 から 0.3175146605 というはるかに小さな範囲で結果が返されます。
名前
表示重量
John_1
0.3 kg
John_6
0.32 kg
この時点で、Arnold は当然のことながら混乱します。
このサーチで John_1 は返されたのに Arnold_5 は返されなかったのはなぜでしょうか? これらの情報を見ると、両者の重量は 0.3 kg で同じです。
そして、このサーチで John_6 は返されたのに John_5 は返されなかったのはなぜでしょうか? これらの情報を見ると、両者の重量も 0.32 kg で同じです。
それは、Windchill では表示値ではなくデータベース値でサーチが行われるためです。
名前
Arnold に表示される重量
データベースに保存されている重量
John_1
0.3 kg
0.317514659 kg
John_2
0.30 kg
0.3039068879 kg
John_3
0.33 kg
0.3311224301 kg
John_4
0.31 kg
0.3129787353 kg
John_5
0.32 kg
0.3220505827 kg
John_6
0.32 kg
0.317514659 kg
John_1 と John_6 のどちらのデータベース値もサーチ入力と完全に一致しています。しかし、John_5 の実際のデータベース値はサーチ範囲に含まれていません。
Arnold_5 の場合、その表示値とデータベース値は 0.3 kg で同じです。したがって、このサーチの評価で Arnold_5 は 0.300000000 に丸められ、この値は 0.3175146585 から 0.3175146605 のサーチ範囲に含まれていません。
これは役に立ちましたか?