Interpretace polí variant

Pole vrácená rozhraním AutoCAD ActiveX jsou opět typu variant. Jestliže je známý datový typ vráceného pole, je možné jednoduchým způsobem přistupovat k variantu jako k poli. V případě, že není známý typ dat obsažených ve variantu, musí se použít VBA funkce VarType nebo Typename. Tyto funkce vrací datový typ variantu. Pro postupný průchod přes pole je nutné použít VBA příkaz ForEach.

Příklad výpočtu vzdálenosti mezi dvěma body zadanými uživatelem

V příkladu je datový typ známý (souřadnice jsou typu double). 3D souřadnice jsou pole o třech prvcích typu double a 2D souřadnice jsou pole o dvou prvcích.

Sub Ch2_VypocetVzdalenosti() 
  Dim bod1 As Variant 
  Dim bod2 As Variant
  ' Zjistí body od uživatele 
  bod1 = ThisDrawing.Utility.GetPoint(, vbCrLf & "První bod: ")
  bod2 = ThisDrawing.Utility.GetPoint(bod1, vbCrLf & "Druhý bod: ") 
  ' Vypočítá vzdálenost mezi bodem 1 a bodem 2
  Dim x As Double, y As Double, z As Double 
  Dim dist As Double 
  x = bod1(0) - bod2(0)
  y = bod1(1) - bod2(1) 
  z = bod1(2) - bod2(2)
  dist = Sqr((Sqr((x ^ 2) + (y ^ 2)) ^ 2) + (z ^ 2)) 
  'Zobrazí výslednou vzdálenost
  MsgBox "Výsledná vzdálenost mezi body je: " _ 
    & dist, , " vypočítaná vzdálenost"
End Sub

Vysvětlení předchozího kódu:

Na začátku kódu funkce je umístěna definice proměnných. Poté jsou získány dva body od uživatele (pomocí metody GetPoint). Následuje blok kódu pro vypočítání vzdálenosti. Nakonec je výsledek zobrazen pomocí volání metody MsgBox.

Zdrojový kód funkce Ch2_VypocetVzdalenosti().