sph = Sphere((0, 0, 0), 1)

Tool: Spherical Angle (command SphericalAngle)
Select three points (vertex in middle)
Input: ptC, ptA, ptB
Output: sang

wAC: ptA ⊗ ptC
wAB: ptA ⊗ ptB
sangN: ((wAB * wAC)) / ((sqrt((wAB * wAB)) * sqrt((wAC * wAC))))
sangO: acosd(sangN)
sang: "" + sangO + ""

Tool: Spherical Distance (command SphericalDistance)
Select two oints
Input: ptA, ptB
Output: slen

ptAB: (ptA * ptB)
slenN: acos(ptAB)
slen: "" + slenN + ""

Tool: Spherical Compass (command SphericalCompass)
Select two points, then center
Input: ptA, ptB, ptC
Output: spo

ptAB: (ptA * ptB)
vBl: (ptAB * ptA)
vBp: ptB - vBl
vv: (vBp * vBp)
wBl: (ptAB * ptC)
wAC: ptA ⊗ ptC
wACn: (wAC * wAC)
wACu: wAC / sqrt(wACn)
wBp: (sqrt(vv) * wACu)
spo = CurveCartesian(wBl + (wBp * cos(θ)) + ((ptC ⊗ wBp) * sin(θ)), θ, 0, (2 * π))

Tool: Spherical Circle (command SphericalCircle)
Select center and point
Input: ptA, ptB
Output: spc

ptAB: (ptA * ptB)
vBl: (ptAB * ptA)
vBp: ptB - vBl
spc = CurveCartesian(vBl + (vBp * cos(θ)) + ((ptA ⊗ vBp) * sin(θ)), θ, 0, (2 * π))

Tool: Spherical Line (command SphericalLine)
Select two points
Input: ptA, ptB
Output: spl

spl = Circle(ptA, ptB, (-ptA))

Tool: Spherical Segment (command SphericalSegment)
Select two points
Input: ptA, ptB
Output: sps

sps = CircleArc((0, 0, 0), ptA, ptB)