why does this Code not work?
want to add a rendermaterial to a specific Display state (Display state name ="Innen")
'Written by Keith Rice
'CADSharp LLC
'www.cadsharp.com
Option Explicit
Const APPEARANCE_PATH As String = _
"P:\Konfigurator\SW\Konfigurator_DIN_links\Erscheinungsbilder\fs3005.p2m"
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swObj As Object
Dim swRenderMat As SldWorks.RenderMaterial
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
Set swObj = swSelMgr.GetSelectedObject6(1, -1)
If swModel.GetType = swDocPART Then
If swObj Is Nothing Then Set swObj = swModel
ElseIf swModel.GetType = swDocASSEMBLY Then
Dim swAssy As SldWorks.AssemblyDoc
Dim swComp As SldWorks.Component2
Dim lngInfo As Long
Set swAssy = swModel
If TypeOf swObj Is SldWorks.Face2 Or _
TypeOf swObj Is SldWorks.Feature Or _
TypeOf swObj Is SldWorks.Body2 Then
Set swComp = swSelMgr.GetSelectedObjectsComponent3(1, -1)
swComp.Select4 False, Nothing, False
swAssy.EditPart2 False, True, lngInfo
If lngInfo = -1 Then
swApp.SendMsgToUser "Failed to edit component."
Exit Sub
End If
End If
Else
Exit Sub
End If
Set swRenderMat = swModel.Extension.CreateRenderMaterial(APPEARANCE_PATH)
If swRenderMat.AddEntity(swObj) = False Then
swApp.SendMsgToUser "Failed to add entity."
Exit Sub
End If
If swModel.Extension.AddDisplayStateSpecificRenderMaterial( _
swRenderMat, swSpecifyDisplayState, "Innen", Empty, Empty) = False Then
swApp.SendMsgToUser "Failed to add appearance."
Exit Sub
End If
swModel.EditRebuild3
If Not swComp Is Nothing Then
swComp.Select4 False, Nothing, False
swAssy.EditAssembly
End If
End Sub