Hi @n_thomasWJZ8L. Just as an added bonus, if needed or desired, there is a way to maintain the automatic triggering of the rule to run every time one of those parameter values changes in that document. You may already be aware of this, but when you include those blue, unquoted parameter names within an internal iLogic rule, that will cause that rule to get ran every time the value of one of those parameters changes. But since we can not use those blue, unquoted parameter names within external iLogic rules that way, what I am describing below is sort of like a workaround process to maintain that auto run functionality while still having your main code in an external rule.
Use an internal iLogic rule within that document that only contains some 'dummy' variables that are set to those blue, unquoted parameter names, then use a line of code to run your external iLogic rule. Sort of like the following:
oTrigger = LG
oTrigger = FTR_POS
oTrigger = DISTANCE_4
oTrigger = DISTANCE_6
oTrigger = DISTANCE_9
iLogicVb.Automation.RunExternalRule(ThisDoc.Document, "YourExternalRuleNameHere")
Then, every time the value of one of them changes, it will trigger this internal rule to run, which will run the external rule. All the critical code is still in the external rule, so if it needs to change, it can be done in that one place. This 'dummy' internal rule is just the 'middle man' for enabling the automatic 'triggering' functionality. I use that little trick quite a bit. The only time you might ever want/need to change anything in this internal rule is if you changed the name of the external rule. If you rename the parameters in this document, then this internal iLogic rule should update its blue parameter names to match automatically.
Wesley Crihfield

(Not an Autodesk Employee)