I have updated shapesheet functions in constant length line.
DEPENDSON(Angle,Width)+SETF(GetRef(EndX),BeginX+.........
into
DEPENDSON(Width)+SETF(GetRef(EndX),BeginX+.........
Because, I thought it is only when Width changed that needs to trigger next SETF function.
Now the behavior became more stable and the end point can now more strongly snap to other shape.
And I combined the constant length line with a circle, it behaves like a compass, a kind of drafting tool that is used when the Visio was not yet invented.
Here is a describing short video in YouTube.
Please enjoy.
https://youtu.be/h9pkUrR2hJoAnd here is an example Visio drawing.