Hi @jclements7LNR5. Is that actually working for you. It doesn't seem like it could work, because the PartsList.ReferencedDocumentDescriptor.ReferencedModelState property returns a variation of the ModelStateTypeEnum. Each variation of that Enum has a name and an Integer type value, but none of its numerical values is zero. At the beginning of your rule, you declared a variable named "modelState" as an Integer, then set its initial value to zero. Then the first check is if any of the ModelStateTypeEnum variations equals that zero value, which it seems would always be False...at least for the first PartsList it encounters, but then that global variable would have a different value for any further iterations. Because then, after it evaluates to False, it will go to the 'Else' portion of that block of code, where it is 'setting' the value of that variable to whichever ModelStateTypeEnum variation's numerical value it finds there. Since the variable was declared outside of the iteration, the value it got assigned in the previous iteration will carry over into the new iteration, so if there were more than one PartsList on that sheet, it would be comparing the previous ModelStateTypeEnum numerical value from that variable against the value of that property in the next PartsList, instead of checking it against the original zero value. Was the design intention here to see if two or more PartsLists on that sheet point to different types of ModelStates?
Wesley Crihfield

(Not an Autodesk Employee)