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

ID для фигур внутри подпрограмм, основных сценариев, или внешних программ

Подпрограммы  могут быть расположены в рамках текущей программы или во внешней программе. Когда подпрограмма находится в той же программе, где и вызов подпрограммы,  система ID множества фигур, описанная в "Множества фигур" (на странице 21 )может быть использована, чтобы обратиться к отдельным аспектам фигуры, созданной в подпрограмме. Однако, когда подпрограмма расположена во внешней программе, для обращения к фигурам, созданным в подпрограмме, следует использовать следующую систему:  “<Call Sub ID>:<FeatID>”. Например, если фигура,  называемая “F1”, расположена во внешней подпрограмме, вызванной с помощью команды Call Sub, с id “CS1”, то выражение ID  “CS1:F1” может быть использовано, чтобы обратиться к этой фигуре.

Пример: Этот пример лишь иллюстрирует использование системы CS1.F1 и не предназначен для применения.

Программа 1: PLUS1.PRG

SUBROUTINE/PLUS1, A1 = 0, A2 = 0, A3 = 0 F1 =FEAT/POINT,RECT THEO/A1+1,A2+1,A3+1,0,0,1 ACTL/3,1,1,0,0,1 MEAS/POINT,1 HIT/BASIC,A1+1,A2+1,A3+1,0,0,1,0,0,0 ENDMEAS/ ENDSUB/

Программа 2: TEST.PRG

CS1 =CALLSUB/PLUS1,D:\V30\WINDEBUG\PLUS1.PRG: 3,3,3,, DIM D1= LOCATION OF POINT CS1:F1 UNITS=IN ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH AX NOMINAL +TOL -TOL MEAS MAX MIN DEV OUTTOL X 3.0000 0.0000 0.0000 3.0000 3.0000 3.0000 0.0000 0.0000 ----#---- END OF DIMENSION D1

Базовые сценарии создают и удаляют объекты в динамике. Используйте схему “<Basic Script ID>:<Feat ID>”, чтобы обратиться  к фигуре, созданной в базовом сценарии. Например, если базовый сценарий с ID “BS1” создает фигуру с ID “F2”, используйте выражение  ID “BS1:F2”, чтобы обратиться к данной фигуре.

Внешние программы могут присоединяться к PC-DMIS с помощью команды присоединения. Чтобы обратиться к фигурам в присоединенных программах, используйте следующую схему: “<Attach Prog ID>:<Feat ID>”. Чтобы обратиться к фигуре “F3” в присоединенной программе с ID “GEAR1”, используйте выражение “GEAR1:F3”. (См. "Присоединение внешней программы" в главе "Прибавление внешних элементов" для дополнительной информацииsection.)

Комбинации выражений ID

Выражения ID множеств, выражения ID Wild Card, и выражения ID внешней подпрограммы, базового сценария и внешней программы могут быть использованы в комбинациях. Например, чтобы обратиться к третьему аспекту всех фигур, начинающихся с букв “CIR” во внешней программе, присоединенной с ID “BOLTPAT”, используйте выражение ID “BOLTPAT:CIR*[3]”.

Также, выражения ID могут использоваться в качестве обычных выражений. Таким образом, измеренному центроиду вышеприведенного массива фигур может быть присвоена переменная со следующим выражением:

ASSIGN/V1 = BOLTPAT:CIR*[3].XYZ

Приоритет приорететПри

Выражения вычисляются в соответствии с приоритетом, отображенным ниже (список составлен по принципу от большего приоритета к меньшему).

Наивысший приоритет

·  Объекты действия

·  (одинарный минус), !, (), функции (т.е. ABS, COS, STR, LEN, CROSS, и т.д.)

·  ^

·  *, /, %

·  +, ·  ==, <>, <, <=, >, >=

·  И

·  ИЛИ

Наименьший приоритет


 [JLH1]V3.5. New from

 [CA2]V3.5. New from Bret.

 [JLH3]Can a sub-element be anything I want. Could I do something like Assign/V1.Operator= "Jared" ? If not, where can we get a comprehensive list of supported sub-elements?

 [JLH4]V3.5. New text taken from Bret's email dated Feb 20, 2002.

 [JLH5]V3.5. New from report 209529.

 [JLH6]V3.5 new per report 209529

 [JLH7]Jared, Link it.

 [JLH8]By this do you mean a space character?

 [JLH9]Do we mean spaces?

 [JLH10]** v3.5. New from Bret's "Format Expression" email.

 [JLH11]V3.5. New text taken from Bret's email dated Feb 20, 2002.

 [JLH12]V3.5. New from Bret.