Thank you for the screenshot and further details - that's helpful in seeing what you're after.
A key part of this shape is deciding which side the label should be placed relative the the end point that its tracking. This is done using the RECTSECT function which returns an integer ("0=zero (center), 1=right, 2=top, 3=left, 4=bottom").
Once you know where the label is placed your extra 'block' is going to want to sit in the opposite direction. So I've added two new user cells in the group shape that translate the label postion:
User.Block_Start_Side = INDEX(User.Label_Start_Side,"0;3;4;1;2",";","0")User.Block_End_Side = INDEX(User.Label_End_Side,"0;3;4;1;2",";","0")
From there you can use those new values to calculate the LocPin postion (see image and file for details).
Best regards
John