How can I get an arc tangent to a surface from two points ,ont of the points is on the edge of the surface, the other one is above the surface.
Get an arc from two points
A picture would be great: click to edit your post, then drag and drop an image file into it.
Proposal (see image below):

Set Osnap to End.

Find the plane in which you want to construct the arc.

Find the lines that are defined by the surfaces cutting the plane (black in the image).

Extend the lines:
line
, optionTangent
(red) 
Create a bisector line:
line
, optionBisector
(purple)Create a line perpendicular to the surface with the edge:
line
, optionPerpendicular

Set Osnap to Int and Perp, and draw arc with center on intersection of purple lines and perpendicular to black line at top (blue).
Hi try: make a line tangent to the surface at the first point by making a line in the Cplane and using OrientCrvToEdge. Use this line as a guide for the direction in Arc StartPoint Direction EndPoint.
Pascal
Any curve on the surface will do the one above is an isocurve (_ExtractIsoCurve)
You could project a curve on the surface (_Project)
Point can be anywhere