Sets whether to report results from your SOLIDWORKS Design Check Custom Check validation macro as passed or failed.
Visual Basic for Applications (VBA)
+++
‘**********************************************************
‘ If check passes, then pass true to SOLIDWORKS Design Checker API
‘**********************************************************
Sub PassCheck()
Dim swApp As SOLIDWORKS.SldWorks
Dim dcApp As DesignCheckerLib.SWDesignCheck
Set swApp = Application.SldWorks
Set dcApp = swApp.GetAddInObject("SWDesignChecker.SWDesignCheck")
Dim errorCode as Long
errorCode = dcApp.SetCustomCheckResult(True, Null)
End Sub
+++
‘**********************************************************
‘ If check fails, then pass false and either a one-dimensional string
‘ array as shown next or pass a two-dimensional string array as shown
‘ in the example after this example
‘**********************************************************
Sub FailedCheck1Dim()
Dim FailedItemsArr() As String
ReDim FailedItemsArr(1 To 4) As String
FailedItemsArr(1) = "Failed Item 1"
FailedItemsArr(2) = "Failed Item 2"
FailedItemsArr(3) = "Failed Item 3"
FailedItemsArr(4) = "Failed Item 4"
Dim swApp As SOLIDWORKS.SldWorks
Dim dcApp As DesignCheckerLib.SWDesignCheck
Set swApp = Application.SldWorks
Set dcApp = swApp.GetAddInObject("SWDesignChecker.SWDesignCheck")
Dim errorCode as Long
errorCode = dcApp.SetCustomCheckResult(False, (FailedItemsArr))
End Sub
+++
‘**********************************************************
‘ If check fails, then pass a two-dimensional array
‘ so that failed items are highlighted in the results list
‘ when a user selects them
' Names must be fully qualified for selection with
' IModelDocExtension::SelectByID2
‘**********************************************************
Sub FailedCheck2Dim()
Dim FailedItemsArr() As String
ReDim FailedItemsArr(0 To 2, 0 To 1) As String
FailedItemsArr(0, 0) = "RD2@Drawing View2"
FailedItemsArr(0, 1) = "DIMENSION"
FailedItemsArr(1, 0) = "RD1@Drawing View4"
FailedItemsArr(1, 1) = "DIMENSION"
FailedItemsArr(2, 0) = "My Failed Item 3"
FailedItemsArr(2, 1) = ""
Dim swApp As SOLIDWORKS.SldWorks
Dim dcApp As DesignCheckerLib.SWDesignCheck
Set swApp = Application.SldWorks
Set dcApp = swApp.GetAddInObject("SWDesignChecker.SWDesignCheck")
Dim errorCode as Long
errorCode = dcApp.SetCustomCheckResult(False, (FailedItemsArr))
End Sub
+++
‘ Enumerators
Dim FailedItemsArr As String
ReDim FailedItemsArr(0 To 2, 0 To 1) As String
While(...)
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
‘ Insert validation logic here
‘ Array of failed item names and types can be added to
‘ array in loop
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
ReDim preserve FailedItemsArr...
FailedItemsArr(iLoopCount, 0) = "RD2@Drawing View2"
FailedItemsArr(iLoopCount, 1) = "DIMENSION"
Wend
Dim swApp As SOLIDWORKS.SldWorks
Dim dcApp As DesignCheckerLib.SWDesignCheckSet
Set swApp = Application.SldWorks
Set dcApp = swApp.GetAddInObject("SWDesignChecker.SWDesignCheck")
Dim errorCode as Long
errorCode = dcApp.SetCustomCheckResult (False, (FailedItemsArr) )