特徵陣列

在常式執行過程中多次測量某項特徵時,會自動建立一個特徵陣列。特徵陣列的元素數與執行特徵的次數相等。

如果測量的圓物件處於 while 迴圈中,該迴圈執行了五次,則產生的陣列會有五個測量的圓。如果測量的圓的 ID 爲 「Circle1」,則可使用陣列運算式存取測量的圓物件的各個實例。可使用方括弧指示所需的實例。

Assign/V1 = Circle1[3].X
V1 被指派了 Circle1 第三個實例的 X 測量值。

儘管給定的特徵有特徵陣列,但在對該特徵的引用中卻並未使用陣列標誌,使用的是最近實例。在上例中,Circle1.XCircle1[5].X 相同,因爲第五個實例即該物件最近的實例。

在陣列運算式的方括弧中,可使用運算式。因此 Circle1[3].XCircle1[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

上例可能的輸出:

Centroid of instance #1 of Circle1:  3.4, 2.6, 1.43

Centroid of instance #2 of Circle1: 4.4, 3.6, 2.43

Centroid of instance #3 of Circle1: 5.4, 4.6, 3.43

Centroid of instance #4 of Circle1: 6.4, 5.6, 4.43

Centroid of instance #5 of Circle1: 7.5, 6.6, 5.43

在給定的執行運行中執行了多次的尺寸與坐標系,同樣也有陣列。因此尺寸 "Dim1" 至少執行了兩次,坐標系 "Align1" 至少執行了四次,則 Dim1[2].NomAlign1[4].Origin 將可用。

若某特徵陣列引用超出界限(如使用者請求 Circle1[2.5]> Circle1["Hello, World"]),將傳回其上限或下限項目。若 Circle1 有 3 個實例,則 Circle1[4] 及以上將傳回 Circle1[3] 的值,而 Circle[0] 及以下將傳回 Circle1[1] 的值。介於放括弧之間的所有運算式將強制爲整數,因此 2.5 將變爲 2,而 "Hello World" 則變爲 0。