Bill Tillman Posted May 10, 2012 Share Posted May 10, 2012 I'm on to a new module for this project today and seem to be having a fit with a dimension not lining up with the others as it should. If you try this snippet of code I think you will see what I mean. The last dimension which is supposed to be in the lower right hand corner of the rectangles is not behaving as the others do, even though I wrote the code almost identically to the others which do line up. (defun dtr (x) (* pi (/ x 180.0)) ); end dtr function (defun c:test () (setq oldsnap (getvar "osmode")) (setq oldpick (getvar "pickbox")) (setvar "osmode" 0) (setvar "pickbox" 0) (setq a 55.0 b 45.0 pt1 '(0.0 0.0) pt2 (polar pt1 0.0 b) pt3 (polar pt2 (dtr 270.0) a) pt4 (polar pt3 (dtr 180.0) b) ctrl1 (polar pt1 0.0 (/ b 2.0)) ctrl2 (polar ctrl1 (dtr 90.0) 2) ctrl3 (polar pt1 (dtr 270.0) (/ a 2.0)) ctrl4 (polar ctrl3 0.0 2)) (command "._RECTANGLE" pt1 pt3) (command "._OFFSET" 0.1875 (entlast) (polar pt3 0 12) "") (command "._OFFSET" (- 3 (* 0.1875 2)) (entlast) (polar pt3 0 12) "") (command "._RECTANGLE" (polar (polar pt1 (dtr 180.0) 2) (dtr 90.0) 2) (polar (polar pt3 (dtr 0.0) 2) (dtr 270.0) 2)) (command "._OFFSET" "1" (entlast) (polar pt1 (dtr 90.0) 12) "") (command "._PLINE" (polar (polar pt1 (dtr 180.0) 4) (dtr 90.0) 2) (polar (polar pt1 (dtr 180.0) 2) (dtr 90.0) 4) (polar (polar pt2 (dtr 0.0) 2) (dtr 90.0) 4) (polar (polar pt2 (dtr 0.0) 4) (dtr 90.0) 2) (polar (polar pt3 (dtr 0.0) 4) (dtr 270.0) 2) (polar (polar pt3 (dtr 270.0) 4) (dtr 0.0) 2) (polar (polar pt4 (dtr 180.0) 2) (dtr 270.0) 4) (polar (polar pt4 (dtr 180.0) 4) (dtr 270.0) 2) "c") (command "._LINE" pt1 (polar (polar pt1 (dtr 180.0) 3) (dtr 90.0) 3) "") (command "._MIRROR" (entlast) "" ctrl1 ctrl2 "") (command "._MIRROR" (entlast) "" ctrl3 ctrl4 "") (command "._MIRROR" (entlast) "" ctrl1 ctrl2 "") (command "._ZOOM" "A") (command "._DIMLINEAR" pt1 pt2 (polar pt1 (dtr 90.0) 24)) (command "._DIMLINEAR" pt1 (polar (polar pt1 (dtr 180.0) 4) (dtr 90.0) 2) (polar pt1 (dtr 90.0) 24)) (command "._DIMLINEAR" pt2 (polar (polar pt2 (dtr 0.0) 4) (dtr 90.0) 2) (polar pt2 (dtr 90.0) 24)) (command "._DIMLINEAR" pt1 pt4 (polar pt1 (dtr 180.0) 24)) (command "._DIMLINEAR" pt1 (polar (polar pt1 (dtr 90.0) 4) (dtr 180.0) 2) (polar pt1 (dtr 180.0) 24)) [b][color=red](command "._DIMLINEAR" pt4 (polar (polar pt4 (dtr 270.0) 4) (dtr 180.0) 2) (polar pt4 (dtr 180.0) 24))[/color][/b] (command "._ZOOM" "A") (setvar "osmode" oldsnap) (setvar "pickbox" oldpick) (princ) ); end test function Quote Link to comment Share on other sites More sharing options...
MSasu Posted May 10, 2012 Share Posted May 10, 2012 When add dimensions via COMMAND function is safer to constrain them to desired position: (command "._DIMLINEAR" pt4 (polar (polar pt4 (dtr 270.0) 4) (dtr 180.0) 2) [color=red]"_V"[/color] (polar pt4 (dtr 180.0) 24)) Quote Link to comment Share on other sites More sharing options...
Bill Tillman Posted May 11, 2012 Author Share Posted May 11, 2012 MSasu, thanks very kindly. I wasn't not aware that such a switch existed for dimlinear command. Quote Link to comment Share on other sites More sharing options...
MSasu Posted May 11, 2012 Share Posted May 11, 2012 You're welcome! I suggest you to use it for all dimensions added that way - is much safer like this. Quote Link to comment Share on other sites More sharing options...
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.