Интерактивное графическое программное обеспечение PC-DMIS (Глава 26: Использование выражений и переменных), страница 10

Пример: Если измерение округлого объекта осуществлялось по контуру пять раз, то будет создано множество из пяти окружностей. Если id измеренной окружности “Circle1”, то выражение множества можно использовать для доступа к отдельным подходам измерения объекта окружности. Квадратные скобки используются, чтобы показать необходимый подход.

Assign/V1 = Circle1[3].x

V1 присваивается измеренной величине x во время третьего подхода измерения Circle1.

Примечание: Когда множество фигур существует для отдельно взятой фигуры, а уведомление о множестве не используется для ссылки на эту фигуру, используется самый последний подход измерения. Из вышеприведенного примера, ссылка Circle1.x будет той же, что и Circle1[5].x, т.к. пятый подход будет последним случаем измерения объекта.

Выражения могут использоваться в квадратных скобках любого выражения множества. Circle1[3].x и Circle1[2+1].x будут являться эквивалентами. В следующем примере используется контур, чтобы вывести на экран измеренный центр пяти окружностей из вышеприведенного примера.

Пример: Assign/V1 = 1 While/V1 < 6 Comment/Rept, “Centroid of instance #” + V1 + “ of Circle1:  “ + Circle1[V1].XYZ Assign/V1 = V1 + 1 End/While

Возможный вывод из приведенного примера:

Центроид, вычисленный при  подходе #1 of Circle1:  3.4, 2.6, 1.43

Центроид, вычисленный при  подходе #2 of Circle1:  4.4, 3.6, 2.43

Центроид, вычисленный при  подходе #3 of Circle1: 5.4, 4.6, 3.43

Центроид, вычисленный при  подходе #4 of Circle1: 6.4, 5.6, 4.43

Центроид, вычисленный при  подходе #5 of Circle1:  7.5, 6.6, 5.43

Множества так же существуют при измерениях и выравниваниях, которые были выполнены несколько раз в время выполнения одной программы. Таким образом, исходные точки Dim1[2].Nom и Align1[4].будут доступны при условии того, что измерение “Dim1” выполнено как минимум дважды, а выравнивание “Align1”  - четыре.

Если ссылка на множество фигур находится за пределами (т.е., пользователь запрашивает Circle1[2.5] или > Circle1["Hello, World"]), верхнее или нижнее ограничение возвращается. Если Circle1 имеет 3 подхода, то Circle1[4] выше будут возвращены в виде Circle1[3] и Circle[0], а ниже - виде Circle1[1]. Все выражения в квадратных скобках округляются до целого числа, таким образом,  2.5 станет равным 2 и "Hello World" превратится в ноль 0.

Объект с множественными показателями:

По умолчанию, множество фигур является одноразмерным множеством. Если белее удобно рассматривать множество фигур как многомерное множество, это можно осуществить с помощью объекта с множественными показателями.

Объект с множественными показателями позволяет уточнить верхний и нижний пределы для множественных измерений.

·  При создании верхнего и нижнего пределов первого измерения создается двухмерное множество, в котором первый размер предельный, а второй размер беспредельный.

·  При создании верхнего и нижнего пределов первых двух измерений множества образуется трехмерное множество. Последнее измерение всегда беспредельное.

Пример:

Фигура F1 расположена внутри вложенного контура WHILE. Измерение по внутреннему контуру WHILE осуществляется пять раз, и три раза – по внешнему. По завершении операции F1 измерена 15 раз, а так же существует 15 подходов.

Рассмотрим следующий сегмент программы:

ARRAY_INDICES/1..5,.. ASSIGN/V1 = 1 WHILE/V1<=3 ASSIGN/V2 = 1 WHILE/V2<=5 F1=FEAT/POINT,RECT THEO/V2,V1,0,0,0,1 ACTL/1,1,0,0,0,1 MEAS/POINT,1 HIT/BASIC,V2,V1,0,0,0,1,1,1,0 ENDMEAS/ ASSIGN/V2 = V2+1 COMMENT/REPT,"Location of F1[" + V2 + "," + V1 + "] :" + F1[V2,V1].XYZ END_WHILE/ ASSIGN/V1 = V1+1 END_WHILE/

Этот сегмент кода создает решетку 3 X 5 из измеренных 15 точек.

С помощью команды множественных показателей первое измерение множества фигур находится в диапазоне от 1 до 15 включительно. Таким образом, в выходном протоколе вместо записи F1[1] – F1[15] появится запись F1[1, 1] – F1[5, 3], что является более последовательным с точки зрения расположения фигур. Обратите внимание, что данный комментарий так же относится к множеству фигур, использующему двухмерную систему.