Değişkenler

Değişkenler yedi işlenen türünden herhangi biri olabilir: tamsayı, gerçek, dize, nokta, özellik işaretçisi, dizi ve işlev. Değişkenler oluşur ve kendi değerlerini alır ve ASSIGN deyimi aracılığıyla yazılır.

Değişken kimliği, nümerik bir karakterle başlamayan herhangi bir alfanümerik dize olabilir. Alt çizgi ilk karakter olmadığı sürece, değişken kimliğinde alt çizgi kullanabilirsiniz.

Ölçüm yordamı açık kaldığı sürece PC-DMIS, yürütme çalıştırmaları arasındaki değişken değerleri kaydeder. Bu, yürütme bittiğinde, yordamı yeniden başlattığınızda PC-DMIS'in değerleri yordamın sonu olarak kullandığı anlamına gelir. Bu davranışı isteyebilir veya istemeyebilirsiniz. Yeni değişken değerleri istiyorsanız, yordamınızın başındaki atama deyimleriyle değerlerinizi temizlemek iyi bir uygulamadır. Örneğin bazı sayı hesaplamalarında V1 değişken değeri kullanıyorsanız ASSIGN / V1 = 0 kullanarak o değişkeni temizleyebilirsiniz.

Eğer Düzen pencereciği aktifse, imleç alan içinde nereye yerleştirilirse yerleştirilsin PC-DMISi değişkenin mevcut değerini gösterir. Yürütme esnasında değişken değerleri, yürütme akışına dayanarak değiştirir. Mevcut değerini bulmak için fare işaretçisini, istenilen değişkenin üzerine konumlandırın.

ASSIGN/V1=2.2+2
Değişken V1, 4.2 değerli reel bir sayıdır

ASSIGN/ VAR1 = CIRCLE1.X
VAR1 değişkeni, atama esnasında CIRCLE1.X'in ölçülen değerine eşit bir değerle reel bir sayıdır.

ASSIGN/ MYVAR = LINE1.XYZ
Değişken MYVAR, atama esnasında LINE1'in ölçülen kitle merkeziyle aynı değerli bir noktadır.

ASSIGN/ SVAR = "Merhaba Dünya"
Değişken SVAR, "Merhaba Dünya" değerli bir dizedir

Bu örneklerde, değişkenlere değerler atanır. Bir değişkene bir değer atandığında, değişkeni bir işlenen olarak herhangi bir ifade alanında kullanabilirsiniz.

Burada, V1 bir sayısal alanda kullanılmaktadır. Önvuruş komutunun önvuruş değeri olarak kullanılır:

ASSIGN/V1=1/3PREHIT/V1

İfadeler değiştirebileceğiniz çoğu alanda kullanılabildiğinden, aşağıdaki ifade de geçerlidir ve aynı etkiye sahiptir:
PREHIT / 1/3.

Nokta tipi değişkenlerin bileşenlerine, referanslar için kullanılan nokta uzantı yazımını ayrı ayrı kullanmak için başvurulabilir.

ASSIGN/V1=MPOINT(3, 4, 5)
V1, 3, 4, 5 değerli bir tür tür noktasıdır

ASSIGN/XVAR=V1.X
XVAR, 3 değerine sahip çift tipidir

ASSIGN/YVAR=V1.Y
YVAR, 4 değerine sahip çift tipidir

ASSIGN/IVAR=V1.I
IVAR, 3 değerine sahip çift tipidir

ASSIGN/REDUNVAR=V1.XYZ
REDUNVAR, 3, 4, 5 değerine sahip nokta tipidir

Aşağıdaki uzantılar, birbirine eşdeğerdir. Her ikisi de, bir ölçüm yordamındaki bir ifadenin anlamını kesinleştirmek için sunulur.

Verilen V1, nokta tipidir.

V1.X, V1.I
ile aynıdır V1.Y, V1.J
ile aynıdır V1.Z, V1.K ile aynıdır

V1.XYZ, V1.IJK ile ve herhangi bir uzantı olmaksızın V1 ile aynıdır.

Eğer dize tipi bir değişken, bir özelliğin, boyutun veya hizalamanın kimlik adıyla eşit bir dize değerine sahipse, değişkeni bir referans nesnesi olarak kullanabilirsiniz:


ASSIGN/V1="CIRCLE1"

CIRCLE1 isimli bir özelliğin bulunması koşuluyla aşağıdaki operandlar, muhtemel ve geçerlidir.

V1.X - CIRCLE1 'in ölçülen X değeri
V1.TX - CIRCLE1 'in teorik X değeri
V1.Diameter - CIRCLE1 'in ölçülen çapı
V1.Radius - CIRCLE1 'in ölçülen yarıçapı

Dize değişkenleri üzerinde yer alan bu dolaylama türü, dolaylamanın sadece tek seviyesi için kullanılabilirdir.. Aşağıdaki çalışmayacaktır.

ASSIGN/V1="CIRCLE1"
ASSIGN/V2="V1"

V2.X - Bu, CIRCLE1.X'in geçerli ölçülen değeri yerine 0 olarak değerlendirilir.

Referans V2.X, yukarıdaki bir ifadenin türünü bir dizeye ayarlaması durumunda dahi kırmızı metinle bir hata olarak işaretlenmez. Hata olarak işaretlenememesinin nedeni, ölçüm yordamının yürütülmesinin akışının, yürütme zamanına kadar bilinmemesidir.

Ancak, eğer köşeli parantez kullanırsanız, aşağıdaki çalışır:

ASSIGN/V1={CIRCLE1}
ASSIGN/V2={V1}

V2.X - Bu size CIRCLE1.X değerini verir.

Aşağıdaki örneğe bakınız:

ASSIGN/V1="CIRCLE1"
ASSIGN/V2="V1"
IF/CIRCLE1.X>CIRCLE1.TX,GOTO,L2
L1=LABEL/
ASSIGN/V3=V2.X
GOTO/LABEL,L3
L2=LABEL /
ASSIGN/V2=MPOINT(2,5,7)
GOTO/LABEL,L1
L3=LABEL/

Yordam yürütme sırasında, CIRCLE1.X değeri CIRCLE1.TX değerinden büyükse V2.X ifadesi geçerli olur ve 2 olarak değerlendirilir. Aksi halde, V3 için ASSIGN sırasında V2 değeri "V1" dizesi olduğundan V2.X ifadesi 0 sonucunu verir. İfadelerin bu durumlarda bekleneni yapmasını sağlamak, parça programcısının sorumluluğudur.

Bir özelliğin ölçülen veya kuramsal veri üyesine bir değer koymak için ASSIGN deyiminin sol tarafındaki özellik referanslarının neredeyse tamamını kullanabilirsiniz. Tek istisna, vektörlerin tekli I, J, K bileşenleridir. Vektörlere atamak için vektörün tamamını bir noktayı değerlendiren bir ifadeyle bir kerede atamanız gerekir. Vektör verileri, özelliğin vektör veri öğelerine giriş yapılırken normalleştirilir.

ASSIGN/CIRCLE1.I=2-geçersiz
ASSIGN/CIRCLE1.IJK=MPOINT(2,0,0)-geçerli (vektör 1,0,0 olarak normalleştirilir)

Boyutlar içinde değişkenleri kullanma üzerine bilgi için, "Eski Boyutları Kullanma" bölümündeki "Değişkenleri Boyutlandırma" başlığına bakınız.