problem solved...it was due to this system variable "OSNAPCOORD"
;-------------------------------------------------------------------------------------------------------;
; Mezz Pline - Utility to draw Mezz Beams © CJC aka 'RHINO' 22/04/2009 ;
;-------------------------------------------------------------------------------------------------------;
; This routine draws the mezzanine beams plans ;
; - Fixed inconsistency when user picks 2 different Osnaps - 24/04/09
;-------------------------------------------------------------------------------------------------------;
(defun c:mpl (/) (c:mezz_pline))
(defun c:mezz_pline (/ usercmd userosm userplw userlay usersnp plw mode pt1 pt2 cntr loop *error* )
(defun *error* (msg)
(if (not
(member msg '("console break" "Function cancelled" "quit / exit abort" "" nil))
)
(princ (strcat "\nError: " msg))
)
(and usercmd (setvar "cmdecho" usercmd)
userosm (setvar "osmode" userosm)
userplw (setvar "plinewid" userplw)
userclr (setvar "cecolor" userclr)
userlay (setvar "clayer" userlay)
userort (setvar "orthomode" userort)
usersnp (setvar "osnapcoord" usersnp)
)
(princ)
) ; end error function
; routine starts here
(setq usercmd (getvar "cmdecho")
userosm (getvar "osmode")
userplw (getvar "plinewid")
userclr (getvar "cecolor")
userlay (getvar "clayer")
userort (getvar "orthomode")
[color=red]usersnp (getvar "osnapcoord")[/color]
)
(setvar "cmdecho" 0)
[color=red](setvar "osnapcoord" 1)[/color]
(setvar "orthomode" 1)
(prompt "\nThis command will draw mezzanine beams (thick polylines) between 2 points...
\nPlease select points [Left to Right for X] & [Top to Bottom for Y]..."
)
(setq plw (getint "\nEnter Pline Thickness <60>: "))
(or plw (setq plw 60))
(setvar "plinewid" plw)
(command "_-layer" "m" "STEEL" "ltype" "continuous" "" "lweight" "0.000" "" "color" "3" "" ""
"_-color" 4
);force layer to "STEEL" & set color to cyan (4)
(setq loop "T")
(while (= loop "T")
(setvar "osmode" 147)
(setq pt1 (getpoint "\nFirst point..."))
(if pt1 (setq loop "T"))
(if (null pt1) ((exit) (princ)));if no pt1 selected - exit quietly :)
(if (= loop "T") (setq pt2 (getpoint pt1 "Second point...")))
(if (= (cadr pt1) (cadr pt2))
(progn
(setq pt1 (list (+ (car pt1) 150) (cadr pt1))
pt2 (list (- (car pt2) 150) (cadr pt2))
)
)
);end if trim x
(if (= (car pt1) (car pt2))
(progn
(setq pt1 (list (car pt1) (- (cadr pt1) 150))
pt2 (list (car pt2) (+ (cadr pt2) 150))
)
)
);end if trim y
(setvar "osmode" 0)
(command "._pline" pt1 pt2 "")
);end loop
(*error* "")
(princ)
)
(prompt "\nmezz_pline is now available - type <MPL> to run! ")