gruedi Posted March 22, 2009 Author Posted March 22, 2009 Yeah, the osnap is the issue. Does this sound like a weird AutoCad glitch that nobody would be able to figure out, or is there some way we could work around it? The problem is the temporary reference point is rather useless without osnaps. I'm wondering why the osnaps are causing this to occur... Quote
SEANT Posted March 22, 2009 Posted March 22, 2009 A general method for dealing with this issue it to change Tools – Options – User Preference – Priority for Coordinate Data Entry to: Keyboard entry except scripts Or, at the command line: OSNAPCOORD enter 2 Quote
Lee Mac Posted March 22, 2009 Posted March 22, 2009 I suppose we could incorporate the "(setvar "OSMODE" 0)" into the routine, but I doubt it'd be much use as you are running the routine transparently within the standard ACAD funtion, so it'd be pretty difficult to turn them back on... Quote
SEANT Posted March 22, 2009 Posted March 22, 2009 I should have taken the time to check . . . . Apparently OSNAPCOORD does not have the ability negate OSNAP influence during program execution. Is it possible to perform a concatenation, and then send a string to the command line? Perhaps that would get some action out of the "Keyboard entry except scripts" setting. Quote
gruedi Posted March 22, 2009 Author Posted March 22, 2009 Well, I'll leave the question about concatenation to the programmers here, but I did do a quick test to see if I could cause the glitch to disappear under any circumstances. It turns out that if you set the osnap distance to its minimum the problem goes away. Of course, this is not an optimal solution, as it requires extra precision when choosing snap points, but perhaps this info will help. Quote
Lee Mac Posted March 22, 2009 Posted March 22, 2009 Could the use of "_non" to avoid Osnaps be utilised? (defun c:ref (/ refpt Off_dist Off_distx Off_disty) (setq refpt (getpoint "\nSelect reference point: ") Off_dist (getstring "\nOffset: ") Off_distx (substr Off_dist 1 (vl-string-position 44 Off_dist)) Off_disty (substr Off_dist (+ 2 (vl-string-position 44 Off_dist)))) (command "_non") (list (+ (car refpt) (distof Off_distx 4)) (+ (cadr refpt) (distof Off_disty 4)))) Its a long shot... and very untested! Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.