Export SOLIDWORKS MBD to STEP 242 Example (VBA)
This example shows how to export a SOLIDWORKS MBD part to a STEP 242 file and
publish it to SOLIDWORKS MBD PDF.
'--------------------------------------------------------------
' Preconditions:
' 1. Verify that:
'
* specified part,
'
* SOLIDWORKS MBD 3D PDF theme, and
'
* c:\temp exist.
' 2. Ensure that the SOLIDWORKS MBD add-in is loaded.
' 3. Open the Immediate window.
'
' Postconditions:
' 1. Opens the specified part.
' 2. Gets the MBD3DPdfData object.
' 3. Gets the MBDSTEP242Data object.
' 4. Sets properties on the objects.
' 5. Exports the part to STEP 242.
' 6. Publishes the part to SOLIDWORKS MBD PDF.
' 7. Examine the Immediate window and c:\temp.
'
' NOTE: Because the part is used elsewhere, do not save
changes.
'---------------------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModDocExt As SldWorks.ModelDocExtension
Dim swMBDSTEP242Data As SldWorks.MBDSTEP242Data
Dim swMBD3DPDFData2 As SldWorks.MBD3DPdfData
Dim status As Long
Dim fileName As String
Dim standardViews As Variant
Dim viewIDs(2) As Long
Dim errors As Long
Dim warnings As Long
Sub main()
Set swApp = Application.SldWorks
fileName = "C:\Users\Public\Documents\SOLIDWORKS\SOLIDWORKS
2025\samples\tutorial\api\block.sldprt"
Set swModel = swApp.OpenDoc6(fileName,
swDocumentTypes_e.swDocPART, swOpenDocOptions_e.swOpenDocOptions_Silent, "",
errors, warnings)
Set swModDocExt = swModel.Extension
Set swMBDSTEP242Data = swModDocExt.GetMBDSTEP242Data()
Set swMBD3DPDFData2 = swModDocExt.GetMBD3DPdfData()
'Populate IMBD3DPdfData2
swMBD3DPDFData2.CreateAttachSTEP242 = True
swMBD3DPDFData2.STEP242Edition =
swMBDSTEP242PublishEdition_e.swPublishSTEP242Edition_3_0
'Set path and file name for SOLIDWORKS MBD 3D PDF
swMBD3DPDFData2.FilePath = "c:\temp\MyBlockMBD.PDF"
'Set SOLIDWORKS MBD 3D PDF theme
swMBD3DPDFData2.ThemeName = "E:\Program Files\SolidWorks
Corp\SOLIDWORKS\data\themes\template_coverpage_multipleviewports_stylized\theme.xml"
'Set standard views for SOLIDWORKS MBD 3D PDF
viewIDs(0) = swStandardViews_e.swFrontView
viewIDs(1) = swStandardViews_e.swTopView
viewIDs(2) = swStandardViews_e.swDimetricView
standardViews = viewIDs
swMBD3DPDFData2.SetStandardViews (standardViews)
'Populate IMBDSTEP242Data
swMBDSTEP242Data.PublishFileName =
"C:\Temp\MyBlockMBDSTEP242.stp"
swMBDSTEP242Data.STEP242Edition =
swMBDSTEP242PublishEdition_e.swPublishSTEP242Edition_3_0
swMBDSTEP242Data.PublishWithAllCustomProperties = True
'Dim CusPropNames(1) As String
'CusPropNames(0) = "MIKCustom"
'CusPropNames(1) = "MIKConfig"
'swMBDSTEP242Data.CusPropertiesToPublish = CusPropNames
swMBDSTEP242Data.SplitPeriodicFaces = False
swMBDSTEP242Data.ExportFaceEdgeProperties = True
'Publish
status = swModDocExt.PublishSTEP242File2(swMBDSTEP242Data)
status = swModDocExt.PublishTo3DPDF(swMBD3DPDFData2)
End Sub