Add Decal Example (VBA)
This example shows how to add a decal to a selected face on a part.
'----------------------------------------------------------------------------
' Preconditions:
' 1. Open a part document that contains a model.
' 2. Ensure that the specified decal files exist.
' 3. Select a face on the model.
' 4. Select Tools > Add-ins > PhotoView 360.
'
' Postconditions: A decal is applied to the selected face.
'----------------------------------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swFace As SldWorks.Face2
Dim swDecal As SldWorks.Decal
Dim swMaterial As SldWorks.RenderMaterial
Dim boolstatus As Boolean
Dim strname As String
Dim nDecalID As Long
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
Set swModelDocExt = swModel.Extension
Set swFace = swSelMgr.GetSelectedObject6(1,
-1)
swModel.ClearSelection2 True
' Create the decal
Set swDecal = swModelDocExt.CreateDecal
Set swMaterial = swDecal
boolstatus = swMaterial.AddEntity(swFace)
strname = "C:\Program Files\SolidWorks
Corp\SolidWorks\data\graphics\Decals\Logos\sw.p2d"
swMaterial.FileName = strname
strname = "C:\Program Files\SolidWorks
Corp\SolidWorks\data\graphics\Decals\Logos\sw.bmp"
swMaterial.TextureFilename = strname
swMaterial.MappingType = 0
swMaterial.FixedAspectRatio = False
swMaterial.FitHeight = True
swMaterial.FitWidth = True
boolstatus = swModelDocExt.AddDecal(swDecal,
nDecalID)
' Rebuild the model to show the newly
applied decal
Call swModel.Rebuild(swRebuildAll)
End Sub