Hi @ashSPTSS. The ASideDefinitions object represents not only a collection of ASideDefinition objects, but provides properties to access the ones in the collection, and a method for adding more to the collection, so by its very nature, there can be multiple ASideDefinition objects in that one sheet metal part. However, there does not appear to be a way to 'change' an existing ASideDefinition from using one Face to using another Face. We can only add additional ones, access ones already in it (without the ability to changing them), or delete them.
So, is your design intent to only run this rule once on the document, or for it to potentially get ran multiple times on the same document? Is your intent just to add one ASideDefinition, or both? If your intention is for this rule to only add one (not both), then for it to switch between the two when the value of that parameter changes, then your code would need to first delete any already existing ASideDefinition(s), then add the one you want to use as a second step. Once we know what your plan is, we may be able to help more effectively.
By the way, if you want to find / get a Face (or Edge or Vertex) that you assigned a name to using the built-in 'Assign Name' tool, within an iLogic rule, then there is two main routes of doing that.
This is an example showing one of the simpler routes, starting with the 'ThisDoc' iLogic 'RuleObject'.
Dim oMyNamedEntity = ThisDoc.NamedEntities.TryGetEntities("entity name")
The other way, with more flexibility, is like the following:
Dim oNEs As NamedEntities = iLogicVb.Automation.GetNamedEntities(oDoc)
Dim oMyNamedEntity = oNEs.TryGetEntity("entity name")
...where the 'oDoc' variable would be replaced by whatever variable already represents the Inventor.Document object that you want to retrieve the named entities from, and "entity name" would be edited to the name you assigned to the entity. Both of those example lines of code are using the newer 'TryGetEntities' method, which will not throw an error if it can not find an entity by the specified name, but will instead just not return a value to assign to the variable. There is also the method named 'FindEntity', which is older, and will throw an error if it can not find an entity with the specified name.
Plus, when you include the unquoted name of a Parameter within an internal iLogic rule, it usually turns Blue (by default), which means it is recognized as representing a Parameter, and its presence in that rule will cause that rule to get automatically ran every time the value of that parameter changes. That behavior can be turned off, but that is the default behavior, just in case you were not already aware.
Wesley Crihfield

(Not an Autodesk Employee)