Mark,
I understand that in AC2005 there will FINALLY be a new OSMODE for this!
But for now - why don't you provide this ability in your POP0 button menu,
using 'cal - something like so?:
***POP0
**SNAPCURSOR
[&Object Snap Cursor Menu]
ID_Tracking [Temporary trac&k point]_tt
ID_From [&From]_from
[--]
ID_CalMEE [MEE (Midpt. Between Endpts. P1 and P2)]_non '_.CAL MEE;
ID_CalMPP [MPP (Midpt. Between any Two Pts. P1 and P2)]_non '_.CAL
(cur+cur)/2;
ID_CalOther [->Other Cal Functions]
ID_Cal [Cal (3D Calculator Utility)]_non '_.CAL
ID_CalILLE [ILLE (Int. of Lines defined by Endpts. P1 thru P4)]_non
'_.CAL ILLE;
ID_CalPLT [PLT (Point T* from Endpt. P1 toward Endpt. P2)]_non '_.CAL
PLT(end,end,T);
ID_CalPLD [PLD (Point T Units from Endpt. P1 toward Endpt. P2)]_non
'_.CAL PLD(end,end,T);
ID_CalT [T (Set T variable)]'_.CAL T=\
[--]
ID_CalCVUnit [<-cvunit (Convert Quantity,From,To)]'_.CAL cvunit(\
"Mark McDonough" wrote in message
news:403ce2f5$1_3@newsprd01...
> Thanks for offering up a suggestion. But it still doesn't work, because
the
> lisp command's last line must evaluate to the point, and if there is an
> osnap set, the (setvar "osmode" oldos) BEFORE delivering the last point,
> ends up with osnap modes potentially interfering with the actual point.
>
> To explain a bit more, I have a lisp command named MIP (MId Point) that
> finds the point between any 2 selected points. So I can be in the LINE
> command, then enter 'MIP to start a line between two endpoint or
> intersection points on some other geometry. Works great most of the time.
> What if the user has an ENDP osnap mode set, then snaps to two opposite
ends
> of the same line, and the lisp properly finds the midpoint, but the ENDP
> osnap will override that specified midpoint and will find an endpoint on
the
> line instead.
>
> Why doesn't the person just use the MID osnap you ask (for that last
> scenario)... well, if you give people a command that finds the midpoint
> between any two points, then that's what it should do, even if they do
> something dumb like use the command to show two opposite endpoints on the
> same line.
>
> That's why I'm asking about the OSNAPCOORD system variable, because it's
> supposed to control the behavior of specific point input regardless of
> osmode setting, designed for keyboard input and scripts.... help says
> nothing about whether that setvar helps out when used from lisp.
>
> --
> Mark McDonough
> Sasaki Associates
> http://www.sasaki.com
>
> "JamesA" wrote in message
> news:403ba574$1_3@newsprd01...
> > I'm not sure I understand your question, but I'll give it a shot. I've
> > never messed with the OSNAPCOORD var, but for a transparent point
routine
> I
> > use something like the following:
> >
> > (setq oldos (getvar "osmode"))
> > (setvar "osmode" 0)
> > (setq pt )
> > (setvar "osmode" oldos)
> > (command pt)
> >
> > And don't end with (princ)... Hope this helps
> >
> > James
> >
> >
>
>