Proměnné mohou nabývat jakéhokoli typu ze sedmi operandů: integer, real, řetězec, bod, ukazatel prvku, pole a funkce. Proměnné jsou ustaveny a dostávají svou první hodnotu a typ prostřednictvím povelu ASSIGN. ID proměnné může být jakýkoli alfanumerický řetězec, který nezačíná číselným znakem. Také lze používat v id proměnné podtržítka za předpokladu, že podtržítko není prvním znakem.
Hodnoty proměnných jsou mezi běhy provádění ukládány. To znamená, že je-li provádění rutiny zastaveno a opětovně spuštěno, budou hodnoty, které mají proměnné při zastavení provádění, stejné, jakmile je provádění znovu spuštěno.
Je-li Okno úprav aktivní, PC-DMIS indikuje aktuální hodnotu proměnné, kdykoli je kurzor umístěn do pole. Během provádění se hodnoty proměnné mění v závislosti na průběhu provádění. Umístěte ukazatel myši nad požadovanou proměnnou k nalezení její aktuální hodnoty.
ASSIGN/V1=2.2+2
Proměnná V1 je reálné číslo s hodnotou 4.2
ASSIGN/VAR1=CIRCLE1.X
Proměnná VAR1 je reálné číslo s hodnotou rovnající se měřené hodnotě CIRCLE1.X v okamžiku přiřazení.
ASSIGN/MYVAR=LINE1.XYZ
Proměnná MYVAR je bod se stejnou hodnotou měřeného geometrického středu LINE1 v okamžiku přiřazení.
ASSIGN/SVAR="Halo světe"
Proměnná SVAR je řetězec s hodnotou "Halo světe"
V těchto příkladech jsou proměnné přiřazené hodnoty. Jakmile je proměnné přiřazena hodnota, můžete použít proměnnou jako operand v jakémkoli poli výrazu.
Zde je V1 použita v číselném poli. Je použita jako hodnota před zásahem příkazu předzásahu:
ASSIGN/V1=1/3PREHIT/V1
Jelikož výrazy lze používat ve většině editovatelných polí, je následující výraz také legální a má stejný účinek: PREHIT / 1/3.
Na komponenty proměnných typu Bod lze odkazovat jednotlivě pomocí zápisu tečky s příponou používaného pro odkazy.
ASSIGN/V1=MPOINT(3,4,5)
V1 je typu bod s hodnotou 3, 4, 5
ASSIGN/XVAR=V1.X
XVAR je typu double s hodnotou 3
ASSIGN/YVAR=V1.Y
YVAR je typu double s hodnotou 4
ASSIGN/IVAR=V1.I
IVAR je typu double s hodnotou 3
ASSIGN/REDUNVAR=V1.XYZ
REDUNVAR je typu bod s hodnotou 3, 4, 5
Následující přípony jsou vzájemně rovnocenné. Obě jsou určeny k objasnění významu výrazu v rutině měření.
Je dáno, že V1 je typu Bod.
V1.X je stejné jako V1.I
V1.Y je stejné jako V1.J
V1.Z je stejné jako V1.K
V1.XYZ je stejné jako V1.IJK a V1 bez jakékoli přípony.
Jestliže proměnná typu řetězec má hodnotu řetězce stejnou jako název řetězce id prvku, rozměru nebo zarovnání, lze proměnnou použít jako referenční objekt:
ASSIGN/V1="CIRCLE1"
Následující operandy jsou možné a platné za pžedpokladu, že existuje prvek s názvem CIRCLE1.
V1.X - Měřená hodnota X CIRCLE1
V1.TX - Teoretická hodnota X CIRCLE1
V1.Diameter - Měřený průměr CIRCLE1
V1.Radius - Měřený poloměr CIRCLE1
Tento typ odkazování, který je k dispozici u řetězcových proměnných , je k dispozici pouze pro jednu úroveň odkazování. Následující nebudou fungovat.
ASSIGN/V1="CIRCLE1"
ASSIGN/V2="V1"
V2.X - Nabývá hodnoty 0 místo aktuální měřené hodnoty CIRCLE1.X.
Reference V2.X nebude označena jako chyba červeným textem, i když výraz nad ní nastavuje její typ na řetězec. Důvod, proč nemůže být označena jako chyba, je to, že průběh provádění rutiny měření není až do okamžiku provádění znám.
Použijete-li však složené závorky, následující bude fungovat:
ASSIGN/V1={CIRCLE1}
ASSIGN/V2={V1}
V2.X - Takto dostanete hodnotu CIRCLE1.X.
Uvažujme tento příklad:
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/
Jestliže během provádění rutiny je hodnota CIRCLE1.X větší než hodnota CIRCLE1.TX, pak výraz V2.X bude platný a nabude hodnoty 2. V opačném případě výraz V2.X nabude hodnoty 0, protože hodnota V2 v okamžiku příkazu ASSIGN pro V3 je řetězec „V1“. V takových případech je povinností programátora dílu zajistit, že výrazy budou fungovat dle očekávání.
Téměř všechny z referencí prvku lze použít na levé straně povelu ASSIGN k vložení hodnoty do měřeného nebo teoretického datového členu prvku. Jedinou výjimkou je jediný komponent vektorů I, J, K. Pro přiřazení k vektoru musí být kompletní vektor přiřazen najednou s použitím výrazu, který vyhodnocuje na bod. Data vektoru jsou normalizována při vkládání do datových členů vektoru prvku.
ASSIGN/CIRCLE1.I=2-ilegálníl
ASSIGN/CIRCLE1.IJK=MPOINT(2,0,0)-legální (vektor je normalizovaný na 1,0,0)
Pro informace o používání proměnných v rámci rozměrů viz téma „Dimenzování proměnných“ v kapitole „Použití starších rozměrů“.