Turn Lights On Example (VBA)
This example shows how to turn all of the lights on. This example also
shows how to pack two integers into a double value.
'------------------------------------------
'
' Preconditions: Part or assembly is open.
'
' Postconditions: All lights are turned on.
'
'-------------------------------------------
Option Explicit
' Define two types
Type DoubleRec
dValue
As Double
End Type
Type Int2Rec
iLower
As Long ' Assuming that a C int has 4 bytes
iUpper
As Long
End Type
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swFeatMgr As
SldWorks.FeatureManager
Dim
nLightCount As
Long
Dim
vLightProp As
Variant
Dim
dr As
DoubleRec
Dim
i2r As
Int2Rec
Dim
i As
Long
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swFeatMgr = swModel.FeatureManager
'
Forcibly turn lights on
i2r.iLower
= 0
i2r.iUpper
= 0
LSet
dr = i2r
swFeatMgr.EnableFeatureTree = False
Debug.Print
"File = " & swModel.GetPathName
nLightCount
= swModel.GetLightSourceCount
For
i = 0 To nLightCount - 1
vLightProp
= swModel.LightSourcePropertyValues(i)
Debug.Print
" SOLIDWORKS
Name =
" & swModel.GetLightSourceName(i)
Debug.Print
" User
Name
=
" & swModel.LightSourceUserName(i)
vLightProp(17)
= dr.dValue
swModel.LightSourcePropertyValues(i) = vLightProp
Next
i
swFeatMgr.EnableFeatureTree = True
swFeatMgr.UpdateFeatureTree
swModel.EditRebuild3
End Sub
'------------------------------------------