Message 1 of 3
iLogic form feature activation and suppression code tidy up
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I have created code to activate different features using the logic form, it then populate a custom prop for export.
It works perfectly, but I am not a coder, would any recommend a tidy up at all?
If Cut = "None" Then Feature.IsActive("Box Section") = True Feature.IsActive("U Channel") = False Feature.IsActive("Angle Section") = False Feature.IsActive("Model A") = False Feature.IsActive("Model A - Small Side") = False Feature.IsActive("Model B") = False Feature.IsActive("Model B - Small Side") = False Feature.IsActive("Model C") = False Feature.IsActive("Model D") = False Feature.IsActive("Model E") = False Feature.IsActive("Model F") = False End If If Cut = "Model A" Then Feature.IsActive("Box Section") = True Feature.IsActive("U Channel") = False Feature.IsActive("Angle Section") = False Feature.IsActive("Model A") = True Feature.IsActive("Model A - Small Side") = False Feature.IsActive("Model B") = False Feature.IsActive("Model B - Small Side") = False Feature.IsActive("Model C") = False Feature.IsActive("Model D") = False Feature.IsActive("Model E") = False Feature.IsActive("Model F") = False End If If Cut = "Model A - Small Side" Then Feature.IsActive("Box Section") = True Feature.IsActive("U Channel") = False Feature.IsActive("Angle Section") = False Feature.IsActive("Model A") = False Feature.IsActive("Model A - Small Side") = True Feature.IsActive("Model B") = False Feature.IsActive("Model B - Small Side") = False Feature.IsActive("Model C") = False Feature.IsActive("Model D") = False Feature.IsActive("Model E") = False Feature.IsActive("Model F") = False End If If Cut = "Model B" Then Feature.IsActive("Box Section") = True Feature.IsActive("U Channel") = False Feature.IsActive("Angle Section") = False Feature.IsActive("Model A") = False Feature.IsActive("Model A - Small Side") = False Feature.IsActive("Model B") = True Feature.IsActive("Model B - Small Side") = False Feature.IsActive("Model C") = False Feature.IsActive("Model D") = False Feature.IsActive("Model E") = False Feature.IsActive("Model F") = False End If If Cut = "Model B - Small Side" Then Feature.IsActive("Box Section") = True Feature.IsActive("U Channel") = False Feature.IsActive("Angle Section") = False Feature.IsActive("Model A") = False Feature.IsActive("Model A - Small Side") = False Feature.IsActive("Model B") = False Feature.IsActive("Model B - Small Side") = True Feature.IsActive("Model C") = False Feature.IsActive("Model D") = False Feature.IsActive("Model E") = False Feature.IsActive("Model F") = False End If If Cut = "Model C" Then Feature.IsActive("Box Section") = False Feature.IsActive("U Channel") = False Feature.IsActive("Angle Section") = True Feature.IsActive("Model A") = False Feature.IsActive("Model A - Small Side") = False Feature.IsActive("Model B") = False Feature.IsActive("Model B - Small Side") = False Feature.IsActive("Model C") = True Feature.IsActive("Model D") = False Feature.IsActive("Model E") = False Feature.IsActive("Model F") = False End If If Cut = "Model D" Then Feature.IsActive("Box Section") = False Feature.IsActive("U Channel") = False Feature.IsActive("Angle Section") = True Feature.IsActive("Model A") = False Feature.IsActive("Model A - Small Side") = False Feature.IsActive("Model B") = False Feature.IsActive("Model B - Small Side") = False Feature.IsActive("Model C") = False Feature.IsActive("Model D") = True Feature.IsActive("Model E") = False Feature.IsActive("Model F") = False End If If Cut = "Model E" Then Feature.IsActive("Box Section") = False Feature.IsActive("U Channel") = False Feature.IsActive("Angle Section") = True Feature.IsActive("Model A") = False Feature.IsActive("Model A - Small Side") = False Feature.IsActive("Model B") = False Feature.IsActive("Model B - Small Side") = False Feature.IsActive("Model C") = False Feature.IsActive("Model D") = False Feature.IsActive("Model E") = True Feature.IsActive("Model F") = False End If If Cut = "Model F" Then Feature.IsActive("Box Section") = False Feature.IsActive("U Channel") = False Feature.IsActive("Angle Section") = True Feature.IsActive("Model A") = False Feature.IsActive("Model A - Small Side") = False Feature.IsActive("Model B") = False Feature.IsActive("Model B - Small Side") = False Feature.IsActive("Model C") = False Feature.IsActive("Model D") = False Feature.IsActive("Model E") = False Feature.IsActive("Model F") = True End If If Feature.IsActive("Model A") Then Model_Type = "Model A" End If If Feature.IsActive("Model A - Small Side") Then Model_Type = "Model A" End If If Feature.IsActive("Model B") Then Model_Type = "Model B" End If If Feature.IsActive("Model B - Small Side") Then Model_Type = "Model B" End If If Feature.IsActive("Model C") Then Model_Type = "Model C" End If If Feature.IsActive("Model D") Then Model_Type = "Model D" End If If Feature.IsActive("Model E") Then Model_Type = "Model E" End If If Feature.IsActive("Model F") Then Model_Type = "Model F" End If 'change Custom iProperty Name to desired Custom iProperty Name Dim propertyName1 As String = "MOD" 'define custom property collection oCustomPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties") Try 'set property value oProp = oCustomPropertySet.Item(propertyName1) Catch ' Assume error means not found so create it oCustomPropertySet.Add("", propertyName1) End Try 'set custom property value; Change Custom iProperty Name to desired Custom iProperty Name; 'change UniqueFxName to the name of your User Defined Parameter iProperties.Value("Custom", "MOD") = Model_Type 'processes update when rule is run so save doesn't have to occur to see change iLogicVb.UpdateWhenDone = True