Kangaroo 2 Tensile surface with holes

You had the right idea. Direction + Length will do it, but I’ve realised there is a bug where Direction gives odd behaviour if the input vector is not unitized. With this small change your definition works:
ReciprocalForce_K2.gh (96.5 KB)
(I’ll fix this for the next release, so the input vector is automatically unitized by the component, but for now just include a unitize component before it)

Alternatively, a more direct alternative to TranslationLock from K1 is the Transformation component in K2, where the transformation can be a translation, but doesn’t have to be:
ReciprocalForce_K2_Transform.gh (96.8 KB)