Add Decal Example (VBA)
This example shows how to add a decal to a selected face on a part.
'---------------------------------
' Preconditions: Part document is open that
' contains
a model. A face on the
' model
is selected. PhotoWorks
' was
selected as an add-in
' in
SolidWorks (select Tools,
' Add-ins,
PhotoWorks)
'
' Postconditions: 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
' Apply the decal
Set swDecal = swModelDocExt.CreateDecal
Set swMaterial = swDecal
boolstatus = swMaterial.AddEntity(swFace)
strName = "C:\Program Files\SolidWorks\SolidWorks\data\graphics\Decals\Logos\sw.p2d"
swMaterial.FileName
= strName
strName = "C:\Program Files\SolidWorks\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