Hi,
I have an urgent need to get a macro working, well everything worksfine except for one thing - this is an example from the api help toadd a decal to a selected face - but the fitwidth and fitheightproperties that are set to true don't actually check the boxes inthe decal/mapping properties. I ned to get this working asap orface a lot of manual decal editing.
Here is the code from the api help, which if you try it you willsee that those 2 properties are not set properly.
'---------------------------------
'
' 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:\Programiles\SolidWorks\SolidWorks\data\graphics\Decals\Logos\sw.p2d"
swMaterial.FileName = strName
strName = "C:\Programiles\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
SolidworksApi macros
I have an urgent need to get a macro working, well everything worksfine except for one thing - this is an example from the api help toadd a decal to a selected face - but the fitwidth and fitheightproperties that are set to true don't actually check the boxes inthe decal/mapping properties. I ned to get this working asap orface a lot of manual decal editing.
Here is the code from the api help, which if you try it you willsee that those 2 properties are not set properly.
'---------------------------------
'
' 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:\Programiles\SolidWorks\SolidWorks\data\graphics\Decals\Logos\sw.p2d"
swMaterial.FileName = strName
strName = "C:\Programiles\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
SolidworksApi macros