Skip to main content

Speos Labs Automation 2025 R1

SetActiveSurfaceUnit

Last update: 17.07.2025

Description

Sets the active surface unit of the xm3 map. Returns 0 if the surface unit is not included in the map.

Syntax

object.SetActiveSurfaceUnit(int nSurfaceUnit) As Short

  • object: Virtual 3D Photometric Lab object

  • nSurfaceUnit: surface unit index

    • 0: Illuminance / Irradiance

    • 1: Reflection (Photometric / Radiometric)

    • 2: Transmission (Photometric / Radiometric)

    • 3: Absorption (Photometric / Radiometric)

VB script example

Sub main()
 Dim test As Integer
Dim NbC As Integer
Dim NbS As Integer
Dim MyXM3Viewer As Object
Dim retval
 Dim MyFolder As String
MyFolder = "PathWorkSpeace"
 Dim MyFile As String
MyFile = "NameOfXm3Map.xm3"
 Set MyXM3Viewer = CreateObject("Xm3Viewer.Application")
 retval = MyXM3Viewer.OpenFile(MyFolder & MyFile)
 retval = MyXM3Viewer.Show(1)
 NbC = MyXM3Viewer.GetNbConfig()
ftextfile.writeline "Nb config : " & NbC
 NbS = MyXM3Viewer.GetNbSource()
ftextfile.writeline "Nb Nb Source : " & NbS
 For i = 0 To NbC - 1
test = MyXM3Viewer.SetActiveConfig(i)
Next i
 For i = -2 To NbS - 1
test = MyXM3Viewer.SetActiveSource(i)
Next i
 For i = 0 To 3
test = MyXM3Viewer.SetActiveSurfaceUnit(i)
test = MyXM3Viewer.GetActiveSurfaceUnit()
ftextfile.writeline "Unit: " & test
Next i
 End Sub

IronPython example

from System import Type, Activator
type = Type.GetTypeFromProgID("Xm3Viewer.Application")
MyXm3Viewer = Activator.CreateInstance(type)
#Open the file
MyFolder = "PathWorkSpeace"
MyFile = "NameOfXm3Map.xm3"
MyXm3Viewer.OpenFile(MyFolder + MyFile)
MyXm3Viewer.Show(1)
NbC = MyXM3Viewer.GetNbConfig()
print "Nb config: " & str(NbC)
NbS = MyXM3Viewer.GetNbSource()
print "Nb source: " & str(NbS)
i = 0
while i  NbC:
	MyXM3Viewer.SetActiveConfig(i)
	i += 1
i = 0
while i  NbS:
	MyXM3Viewer.SetActiveSource(i)
	i += 1
i = 0
while i  3:
	MyXM3Viewer.SetActiveSurfaceUnit(i)
	MyXM3Viewer.GetActiveSurfaceUnit()
	i += 1

Connect with Ansys