Подпрограммы могут быть расположены в рамках текущей программы или во внешней программе. Когда подпрограмма находится в той же программе, где и вызов подпрограммы, система 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 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.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.