Диапазон поиска для чисел
При выполнении поиска с использованием типов значений Вещественное число и Вещественное число с единицей измерения в системе Windchill можно задать определенный диапазон для возвращаемых результатов поиска.
|
При поиске значений с типом Вещественное число с единицей измерения диапазон вычисляется на основе базовой единицы измерения. Эта единица измерения может отличаться от отображаемой единицы измерения.
|
Например, мы создаем следующие детали:
Деталь
|
Вес
|
Bearing-987
|
8.0377
|
Bearing-x55
|
8.0383
|
Bearing-n7v2
|
8.0388
|
Нужно выполнить расширенный поиск деталей на основании их веса. Укажем значения критериев 8.038:
Windchill применяет к поиску диапазон с округлением. В результате поиск возвратит веса в диапазоне от 8.0375 до 8.0385:
Деталь | Вес | Возвращен? |
Bearing-987 | 8.0377 | Да |
Bearing-x55 | 8.0383 | Да |
Bearing-n7v2 | 8.0388 | Нет |
Основные правила для округления диапазонов состоят в том, что диапазон включает в себя числа, которые при округлении становятся равными входному значению поиска. В приведенном выше примере 8.0388 округляется до 8.039, поэтому оно исключается из результатов поиска.
Округление
Как и в других примерах, выполняется поиск объектов, которые имеют определенное значение атрибута. При выполнении поиска вводится 1.74 в качестве критерия поиска значения атрибута.
Значение атрибута объекта | Включается в результаты? | Объяснение |
1.7408 | Да | 1.740 округляется до 1.74. |
1.73611 | Да | 1.736 округляется до 1.74. |
1.7308 | Нет | 1.730 округляется до 1.73. |
1.74611 | Нет | 1.746 округляется до 1.75. |
1.73 | Нет | Подходящие числа должны быть в диапазоне округления, исходя из начального значения поиска. Его границы примерно на 0.5 больше или меньше, чем младшая значащая цифра (последний символ в значении поиска). • Например, если введено 1.74, результаты будут включать все значения, которые при округлении попадают в диапазон от 1.735 до 1.745. • Если введено 1.740, результаты будут включать все значения, которые при округлении попадают в диапазон от 1.7395 до 1.7405. Чтобы числа 1.73 и 1.74 были возвращены в одном и том же поиске, необходимо ввести 1.7 в качестве критериев поиска. В результаты этого поиска будут включены значения, которые при округлении попадают в диапазон от 1.65 до 1.75. |
| Диапазон округления применяется только к еще одной цифре за младшей значащей цифрой входного значения поиска. Поэтому при значении поиска 1.4 объект со значением 1.3489 не будет возвращен, несмотря на то что он в конечном счете округляется до 1.4. Данное входное значение поиска 1.4 Windchill учитывает только до второго порядка (E-2). В этом случае значение 1.3489 рассматривается как 1.34, которое округляется до значения 1.3, что не соответствует критерию. Однако если вы ищете 1.35, тогда 1.3489 округляется, исходя из значения третьего порядка (E-3), т. е. 1.348, которое округляется до 1.35, т. е. соответствует. |
Способ применения диапазонов округления означает, что можно вести очень точный поиск чисел без использования большого количества цифр в критерии поиска. Например, 1.28378 округляется до следующих значений:
• 1.2838
• 1.284
• 1.28
• 1.3
Поэтому, если нужно искать объект, который имеет значение атрибута 1.28378, можно ввести любое из приведенных выше чисел.
| Исключением является случай, когда критерий поиска представлен целым числом. При поиске целого числа применяется предельно ограниченный диапазон. Диапазон получается добавлением к числу и вычитанием из него 5E-14. Например, при поиске 16 будут возвращены результаты от 15.99999999999995 до 16.00000000000005. |
Округление от 5
Ключевым фактором вычисления диапазонов чисел в Windchill является способ обработки числа 5. При обычном использовании числа округляются от 5 в большую сторону. Поэтому 85 округляется до 90, а 11.5 округляется до 12 и т. д.
Однако Windchill применяет следующее правило при округлении от 5: если младшая значащая цифра равна 5, округление в большую или меньшую сторону зависит от предшествующей цифры.
Если предшествующая цифра - четная, округление производится в меньшую сторону:
• 4.125 округляется до 4.12
• 4.145 округляется до 4.14
• 4.165 округляется до 4.16
Если предшествующая цифра - нечетная, округление производится в большую сторону:
• 4.115 округляется до 4.12
• 4.135 округляется до 4.14
• 4.155 округляется до 4.16
В результате при округлении 5 число всегда округляется до четного числа.
Исключающий и включающий диапазоны
Заданы следующие правила.
• Для включения в результаты поиска число должно быть внутри диапазона, значения которого при округлении равны входному значению поиска.
• При округлении 5, если предшествующая цифра - четная, число округляется в меньшую сторону.
Диапазон возвращаемых значений может быть разным в зависимости от того, заканчивается ли значение поиска четной или нечетной цифрой. Диапазон может быть либо включающим, либо исключающим.
• При применении включающего диапазона в него включаются верхняя и нижняя границы. Если младшая значащая цифра - четная, диапазон является включающим.
Например, если заданное входное значение поиска равно 3.4, диапазон значений включает все числа, которые при округлении больше или равны 3.35 и при этом меньше или равны 3.45.
• Если применяется исключающий диапазон, из него исключаются верхняя и нижняя границы. Если младшая значащая цифра - нечетная, диапазон является исключающим.
Например, если заданное входное значение поиска равно 3.3, диапазон значений включает все числа, которые при округлении больше 3.25 и при этом меньше 3.35.
Поэтому диапазон возвращаемых значений немного больше, если входное значение поиска заканчивается четной цифрой.