Attached is a rule that checks and modifies bends if needed.
SyntaxEditor Code Snippet
Dim smDef As SheetMetalComponentDefinition = ThisDoc.Document.ComponentDefinition
Dim uom As UnitsOfMeasure = ThisDoc.Document.UnitsOfMeasure
Dim chkRadius As String = InputBox("Enter Bend Radius: ", "Title", smDef.BendRadius.Expression)
Dim chkRadiusValue As Double = uom.GetValueFromExpression(chkRadius, "cm")
Dim featSet As HighlightSet = ThisDoc.Document.CreateHighlightSet()
Dim oRed As Color = ThisApplication.TransientObjects.CreateColor(255, 0, 0)
oRed.Opacity = 0.80
featSet.Color = oRed
For Each pf As PartFeature In smDef.Features
Dim doAdd As Boolean = False
Select Case pf.Type
Case ObjectTypeEnum.kFlangeFeatureObject
If Not pf.BendFeature Is Nothing Then
If Not EqualWithinTolerance(pf.BendFeature.Definition.BendRadius.Value, chkRadiusValue, .001) Then doAdd = True
End If
Case ObjectTypeEnum.kContourFlangeFeatureObject
If Not pf.BendFeature Is Nothing Then
If Not EqualWithinTolerance(pf.BendFeature.Definition.BendRadius.Value, chkRadiusValue, .001) Then doAdd = True
End If
Case ObjectTypeEnum.kFaceFeatureObject
If Not pf.BendFeature Is Nothing Then
If Not EqualWithinTolerance(pf.BendFeature.Definition.BendRadius.Value, chkRadiusValue, .001) Then doAdd = True
End If
Case ObjectTypeEnum.kHemFeatureObject
If Not pf.BendFeature Is Nothing Then
If Not EqualWithinTolerance(pf.BendFeature.Definition.BendRadius.Value, chkRadiusValue, .001) Then doAdd = True
End If
Case ObjectTypeEnum.kBendFeatureObject
If Not EqualWithinTolerance(pf.BendFeature.Definition.BendRadius.Value, chkRadiusValue, .001) Then doAdd = True
Case ObjectTypeEnum.kFoldFeatureObject
If Not pf.BendFeature Is Nothing Then
If Not EqualWithinTolerance(pf.BendFeature.Definition.BendRadius.Value, chkRadiusValue, .001) Then doAdd = True
End If
Case Else
'Do Nothing
End Select
If doAdd Then
featSet.AddItem(pf.BendFeature)
End If
Next
If featSet.Count > 0 Then
If DialogResult.Yes = MessageBox.Show("Highlighted Features has an incorrect bend radius. Would you like to fix them?", "Check Bends", MessageBoxButtons.YesNo) Then
For Each bf As BendFeature In featSet
bf.Definition.BendRadius.Expression = chkRadius
Next
End If
End If
featSet.Clear()
featSet = Nothing
InventorVb.DocumentUpdate()