Some corrections for your codes .
You can't get object by the function "getpoint"
Code:
(setq pt1 (getpoint "\nSelect 1st object: "))
(setq pt2 (getpoint pt1 "\nEnter second point: "))
So it should be Like ....
Code:
(setq pt1 (car (entsel "\nSelect 1st object: ")))
or with ssget function
Code:
(setq pt1 (ssget ))
And for getting the distance between two points, and the variable name should not be same as the one that you used getting the first point ..(pt1)
Code:
(setq Dis1 (getdistance "\nEnter Distance are select item: "))
So it should be Like ....
Code:
(setq Dis1 (getdist "\nEnter Distance are select item: "))
And also I do know about the use of your osmode , may be someone else would check it out .
Good luck
Tharwat