nicolas Posted November 4, 2010 Share Posted November 4, 2010 Hi, I'm looking for an autolisp that can create a rectangular bounding box around a closed object i.e a region, a block of a profile, an open-closed polyline. Thank you in advanced, Nicolas. Quote Link to comment Share on other sites More sharing options...
BlackBox Posted November 4, 2010 Share Posted November 4, 2010 Will this work: (defun c:BNDBX (/ eName mn mx) (vl-load-com) (if (setq eName (car (entsel "\n >> Select Object >> "))) (progn (vla-getboundingbox (vlax-ename->vla-object eName) 'mn 'mx) (vl-cmdf "._rectang" (vlax-safearray->list mn) (vlax-safearray->list mx)))) (princ)) Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted November 4, 2010 Share Posted November 4, 2010 (edited) I wrote this a while ago: [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] LM:SSBoundingBox [b][color=RED]([/color][/b] ss [b][color=BLUE]/[/color][/b] bb [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-load-com[/color][/b][b][color=RED])[/color][/b] [i][color=#990099];; © Lee Mac 2010[/color][/i] [b][color=RED]([/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]lambda[/color][/b] [b][color=RED]([/color][/b] i [b][color=BLUE]/[/color][/b] e ll ur [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]while[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] e [b][color=RED]([/color][/b][b][color=BLUE]ssname[/color][/b] ss [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] i [b][color=RED]([/color][/b][b][color=BLUE]1+[/color][/b] i[b][color=RED]))))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-getBoundingBox[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vlax-ename->vla-object[/color][/b] e[b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b]ll [b][color=DARKRED]'[/color][/b]ur[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] bb [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray->list[/color][/b] ur[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray->list[/color][/b] ll[b][color=RED])[/color][/b] bb[b][color=RED]))[/color][/b] [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=#009900]-1[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]lambda[/color][/b] [b][color=RED]([/color][/b] data [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]function[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]lambda[/color][/b] [b][color=RED]([/color][/b] funcs [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]function[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]lambda[/color][/b] [b][color=RED]([/color][/b] func [b][color=RED])[/color][/b] [b][color=RED](([/color][/b][b][color=BLUE]eval[/color][/b] func[b][color=RED])[/color][/b] data[b][color=RED]))[/color][/b] [b][color=RED])[/color][/b] funcs [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED](([/color][/b][b][color=BLUE]caar[/color][/b] [b][color=BLUE]cadar[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]caadr[/color][/b] [b][color=BLUE]cadar[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]caadr[/color][/b] [b][color=BLUE]cadadr[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]caar[/color][/b] [b][color=BLUE]cadadr[/color][/b][b][color=RED]))[/color][/b] [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]function[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]lambda[/color][/b] [b][color=RED]([/color][/b] operation [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]apply[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]function[/color][/b] [b][color=BLUE]mapcar[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] operation bb[b][color=RED]))[/color][/b] [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=BLUE]min[/color][/b] [b][color=BLUE]max[/color][/b][b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:test [b][color=RED]([/color][/b] [b][color=BLUE]/[/color][/b] ss [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-load-com[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] ss [b][color=RED]([/color][/b][b][color=BLUE]ssget[/color][/b][b][color=RED]))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-put-closed[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vlax-invoke[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vlax-get-property[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-ActiveDocument[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vlax-get-acad-object[/color][/b][b][color=RED]))[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]=[/color][/b] [b][color=#009900]1[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]getvar[/color][/b] [b][color=DARKRED]'[/color][/b]CVPORT[b][color=RED]))[/color][/b] [b][color=DARKRED]'[/color][/b]Paperspace [b][color=DARKRED]'[/color][/b]Modelspace[b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b]AddLightWeightPolyline [b][color=RED]([/color][/b][b][color=BLUE]apply[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]function[/color][/b] [b][color=BLUE]append[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b]LM:SSBoundingBox ss[b][color=RED]))[/color][/b] [b][color=RED])[/color][/b] [b][color=BLUE]:vlax-true[/color][/b] [b][color=RED])[/color][/b] [b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b] [b][color=RED])[/color][/b] Edited November 4, 2010 by Lee Mac Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted November 4, 2010 Share Posted November 4, 2010 This was another interesting endeavour also: http://www.theswamp.org/index.php?topic=35192.0 [ you may need membership ] 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.