Houdini - Constraints and anchor_id - Part 2
See Part 1 here.
99% of the time, when you setup constraint points that are close to/on the surface of a geometry, you don’t actually need i@anchor_id.

[left] We have a constraint network with points that only have @name declared. The points on her body have @name = "thing", the ones on top @name = "".
[right] The constraint network that gets built inside DOPs is as expected, everything just works.
Packed Primitives and anchor_id
So far, we’ve been importing the girl into DOPs as an RBD Object. What happens if we Pack her and import her as an RBD Packed Object?

[Above] We pack her – which turns the whole thing to a single point and a single primitive – and in the Wrangle set the only point @name = "thing".
The obvious problem then becomes: how do we refer to points on packed primitives, since technically, they have only one point?
If we keep everything the same, e.g. the constraint points have @name which match the single packed primitive’s @name – the Constraint Network looks correct but actually doesn’t work.

The points aren’t actually “sticking” to her.
From Houdini’s docs:

So all we have to do is set i@anchor_id of the constraint points to -1.

[Above] The final constraint network. i@anchor_id (pink), s@name (cyan). Since the “top” points have an empty name, their i@anchor_id can actually be anything. We use -1 for clarity.