$( Translation/MarkedAngle/MarkedDistance/Positive ($Object, $AngleMeasure, $DistanceMeasure) ${ The JSP construction has negative angle orientation. This macro sets that right. The MeasureInDegrees and DirectedAngles parameters affect the result. $} Calculate (0, 0, '', '0 A - ') ($AngleMeasure) [hidden]; Translation/MarkedAngle/MarkedDistance ($Object, $1, $DistanceMeasure) $) $( Translation/MarkedAngle/FixedDistance/Positive ($Object, $AngleMeasure, $Distance) ${ The JSP construction has negative angle orientation. This macro sets that right. The MeasureInDegrees and DirectedAngles parameters affect the result. $} Calculate (0, 0, '', '0 A - ') ($AngleMeasure) [hidden]; Translation/MarkedAngle/FixedDistance ($Object, $1, $Distance) $) ${ Translation/FixedAngle/MarkedDistance/Positive ($Object, $DistanceMeasure, $Angle) You don't need a macro for that, just use the standard construction and change the sign of the angle! $} ${ Just testing. * Background = 239, 239, 239 * MeasureInDegrees = 0 * LabelSize = 8 $V Point (50, 60); $S1 UnitPoint ($V, 25); $c Circle ($V, $S1) [black]; Circle interior ($c) [color (223, 223, 223)]; $S2 Point on Object ($c, -1.0); { this has negative orientation too. } Segment ($V, $S1) [black]; Segment ($V, $S2) [black]; $alpha Angle ($S1, $V, $S2, 10, 15, 'alpha: ') [suffix (' radians')]; $d Distance ($V, $S1, 10, 27, 'd: ') [suffix (' pixels')]; $P Point (50, 150) [label ('P')]; $P1 Translation/MarkedAngle/MarkedDistance/Positive ($P, $alpha, $d) [blue, label ('P translated by (d, alpha)')]; Circle ($P, $P1) [hidden]; Circle interior ($1) [color (223, 223, 239)]; $P2 Translation/MarkedAngle/FixedDistance/Positive ($P, $alpha, 10.0) [blue, label ('P translated by (10, alpha)')]; Circle ($P, $P2) [hidden]; Circle interior ($1) [color (215, 215, 239)]; $}