Lee Mac Posted May 23, 2009 Posted May 23, 2009 I absolutely love these things - they look so impressive, and to be able to create custom objects with them is amazing. [ Check out this display of genius ] But, my question is: Is it possible in LISP or rather Visual LISP? Or are these techniques only confined to the likes of ObjectARX and/or .NET? I have seen/created a few "make-shift" examples that resemble this technique, using the grvecs, grread, grdraw etc functions - but I'm not sure how well these compare to the real deal... I have seen the "acet-ss-drag-move" and "acet-ss-drag-rotate" functions that perform this feature, but are there any other ways that don't depend on Express Tools, or am I out of luck? Thanks for your interest, time, but most of all: patience. Cheers, Lee Quote
Freerefill Posted May 23, 2009 Posted May 23, 2009 I just googled the term "jigging" but found a lot of fishing websites.. what exactly do those terms mean? Quote
Lee Mac Posted May 23, 2009 Author Posted May 23, 2009 I just googled the term "jigging" but found a lot of fishing websites.. what exactly do those terms mean? If you check out the link to the thread posted by SeanT there is a ton of information about Jigging and Ghosting mentioned in that thread. Quote
SEANT Posted May 23, 2009 Posted May 23, 2009 I absolutely love these things - they look so impressive, and to be able to create custom objects with them is amazing. Thanks Lee; though I should point out that the parabola isn’t really a custom object, per se. The routine provides a custom user interface to allow the creation of a semi-standard* spline. As it stands now, only C++ (ObjectARX) can create a true “Custom Object”. Supposedly, an “Overruled Object” is a new feature in AutoCAD 2010 which allows .NET the ability to create additional features and characteristics of standard objects. Maybe like adding 85% of the capability with only half the programming overhead of true “Custom Objects”. * I say semi standard because AutoCAD does not allow a direct method of creating a degree 2 spline. It can be created indirectly as discussed in this thread starting at post# 26. http://www.cadtutor.net/forum/showthread.php?t=17548 Observation: I’ve apparently started using a rather excessive amount of punctuation in my posts since starting to learn C#. Quote
ronjonp Posted May 23, 2009 Posted May 23, 2009 Lee, This looks like grvecs to me....take a look at this routine to trace an object http://www.theswamp.org/index.php?topic=24536.msg297267#msg297267 Quote
Lee Mac Posted May 23, 2009 Author Posted May 23, 2009 Thanks Lee; though I should point out that the parabola isn’t really a custom object, per se. The routine provides a custom user interface to allow the creation of a semi-standard* spline. As it stands now, only C++ (ObjectARX) can create a true “Custom Object”. Supposedly, an “Overruled Object” is a new feature in AutoCAD 2010 which allows .NET the ability to create additional features and characteristics of standard objects. Maybe like adding 85% of the capability with only half the programming overhead of true “Custom Objects”. * I say semi standard because AutoCAD does not allow a direct method of creating a degree 2 spline. It can be created indirectly as discussed in this thread starting at post# 26. http://www.cadtutor.net/forum/showthread.php?t=17548 Observation: I’ve apparently started using a rather excessive amount of punctuation in my posts since starting to learn C#. Thanks for the clarification, it appeared that you were creating the custom object (and you managed to fool me! ), but I can see what you are saying. - Coincidentally, I just took a look on theSwamp and saw a custom object created by "Daniel" in ARX (maybe?), but I have no clue how he did it... (and yes a lot of punctuation indeed...) Lee, This looks like grvecs to me....take a look at this routine to trace an object http://www.theswamp.org/index.php?topic=24536.msg297267#msg297267 Those are pretty cool Ron, the grvecs function is fun to play around with I must admit... Quote
Lee Mac Posted May 23, 2009 Author Posted May 23, 2009 I suppose this would be an example of ghosting: [i][color=#990099];; Ghosting Example, by Lee McDonnell[/color][/i] [i][color=#990099];; Args:[/color][/i] [i][color=#990099];; msg ~ prompt [str][/color][/i] [i][color=#990099];; oBj ~ object [ent/obj][/color][/i] [i][color=#990099];; hi ~ rubber band [t/nil][/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] lmac-obj-drag-move [b][color=RED]([/color][/b]msg oBj hi [color=Blue][b]/[/b][/color] oBj bsPt cOBj gr[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] msg [b][color=RED]([/color][/b][b][color=BLUE]prompt[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-string-search[/color][/b] [b][color=#ff00ff]"\n"[/color][/b] msg[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=#ff00ff]"\n"[/color][/b][b][color=#ff00ff]""[/color][/b][b][color=RED])[/color][/b] msg[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]or[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=DARKRED]'[/color][/b]VLA-OBJECT [b][color=RED]([/color][/b][b][color=BLUE]type[/color][/b] oBj[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] oBj [b][color=RED]([/color][/b][b][color=BLUE]vlax-ename->vla-object[/color][/b] oBj[b][color=RED])[/color][/b][b][color=RED])[/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]vlax-property-available-p[/color][/b] oBj [b][color=DARKRED]'[/color][/b]InsertionPoint[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] hi [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] bsPt [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray->list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vlax-variant-value[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-InsertionPoint[/color][/b] oBj[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=RED]([/color][/b][b][color=BLUE]vla-highlight[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] cOBj [b][color=RED]([/color][/b][b][color=BLUE]vla-copy[/color][/b] oBj[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=Blue]:vlax-true[/color][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]while[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#009900]3[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] gr [b][color=RED]([/color][/b][b][color=BLUE]grread[/color][/b] [b][color=DARKRED]'[/color][color=Blue]t[/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=RED]([/color][/b][b][color=BLUE]redraw[/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]and[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#009900]5[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] gr[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]listp[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] gr[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-move[/color][/b] oBj [b][color=RED]([/color][/b][b][color=BLUE]vla-get-InsertionPoint[/color][/b] oBj[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vlax-3D-point[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] gr[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] hi [b][color=RED]([/color][/b][b][color=BLUE]grdraw[/color][/b] bsPt [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] gr[b][color=RED])[/color][/b] [b][color=#009900]256[/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=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-catch-all-apply[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vla-delete[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] cOBj[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=BLUE]nil[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]redraw[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [i][color=#990099];; Test Function[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:test [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] ss pt[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] blk [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]entsel[/color][/b] [b][color=#ff00ff]"\nSelect Object: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b]lmac-obj-drag-move [b][color=BLUE]nil[/color][/b] blk [b][color=BLUE]t[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] Quote
SEANT Posted May 23, 2009 Posted May 23, 2009 I got a chance to try this out. Works flawlwssly - from referenced 2d geometry through to 3d geometry in perspective view. Quote
Lee Mac Posted May 23, 2009 Author Posted May 23, 2009 I got a chance to try this out. Works flawlwssly - from referenced 2d geometry through to 3d geometry in perspective view. Thanks . I expanded on a method posted at the Swamp so that it better emulated the "move" command in ACAD. At the moment, it only works with Objects that have the InsertionPoint property, but I am looking for ways to expand it to all objects - and maybe selection sets too. Lee Quote
Lee Mac Posted May 23, 2009 Author Posted May 23, 2009 OK, this should work with Selection Sets. I realise that the function: "acet-ss-drag-move" already does this - but it will only work where Express Tools are installed. This should work in all cases. [i][color=#990099];; Ghosting Example (SS), by Lee McDonnell[/color][/i] [i][color=#990099];; Args:[/color][/i] [i][color=#990099];; msg ~ prompt [str][/color][/i] [i][color=#990099];; ss ~ selection set [selset][/color][/i] [i][color=#990099];; hi ~ rubber band [t/nil][/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] lmac-ss-drag-move [b][color=RED]([/color][/b]msg ss hi [b][color=BLUE]/[/color][/b] oBjLst MiP MaP bsPt cPLst gr[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] msg [b][color=RED]([/color][/b][b][color=BLUE]prompt[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-string-search[/color][/b] [b][color=#ff00ff]"\n"[/color][/b] msg[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=#ff00ff]"\n"[/color][/b][b][color=#ff00ff]""[/color][/b][b][color=RED])[/color][/b] msg[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] oBjLst [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vlax-ename->vla-object[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-remove-if[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]listp[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]cadr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]ssnamex[/color][/b] ss[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=RED]([/color][/b][b][color=BLUE]if[/color][/b] hi [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-getBoundingBox[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] oBjLst[b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b]MiP [b][color=DARKRED]'[/color][/b]MaP[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] bsPt [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray->list[/color][/b] MiP[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]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]x[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-highlight[/color][/b] x [b][color=Blue]:vlax-true[/color][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] cpLst [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vla-copy[/color][/b] oBjLst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]while[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#009900]3[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] gr [b][color=RED]([/color][/b][b][color=BLUE]grread[/color][/b] [b][color=DARKRED]'[/color][color=Blue]t[/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=RED]([/color][/b][b][color=BLUE]redraw[/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]and[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#009900]5[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] gr[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]listp[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] gr[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-getBoundingBox[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] oBjLst[b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b]MiP [b][color=DARKRED]'[/color][/b]MaP[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]x[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-move[/color][/b] x MiP [b][color=RED]([/color][/b][b][color=BLUE]vlax-3D-point[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] gr[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] oBjLst[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] hi [b][color=RED]([/color][/b][b][color=BLUE]grdraw[/color][/b] bsPt [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] gr[b][color=RED])[/color][/b] [b][color=#009900]256[/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=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]x[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-catch-all-apply[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vla-delete[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] x[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] cpLst[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]redraw[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [i][color=#990099];; Test Function[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:test2 [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] ss[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=RED]([/color][/b]lmac-ss-drag-move [b][color=BLUE]nil[/color][/b] ss [b][color=BLUE]t[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [ Now to include a relative base point... ] Quote
Lee Mac Posted May 23, 2009 Author Posted May 23, 2009 Ok, this should include a base point. This should now function exactly like "acet-ss-drag-move", however, without using Express Tools. [i][color=#990099];; Ghosting Example (SS), by Lee McDonnell[/color][/i] [i][color=#990099];; Args:[/color][/i] [i][color=#990099];; msg ~ prompt [str][/color][/i] [i][color=#990099];; ss ~ selection set [selset][/color][/i] [i][color=#990099];; pt ~ base point [pt][/color][/i] [i][color=#990099];; hi ~ rubber band [t/nil][/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] lmac-ss-drag-move [b][color=RED]([/color][/b]msg ss pt hi [b][color=BLUE]/[/color][/b] oBjLst MiP MaP bsvec cPLst gr[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] msg [b][color=RED]([/color][/b][b][color=BLUE]prompt[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-string-search[/color][/b] [b][color=#ff00ff]"\n"[/color][/b] msg[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=#ff00ff]"\n"[/color][/b][b][color=#ff00ff]""[/color][/b][b][color=RED])[/color][/b] msg[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] oBjLst [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vlax-ename->vla-object[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-remove-if[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]listp[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]cadr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]ssnamex[/color][/b] ss[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=RED]([/color][/b][b][color=BLUE]vla-getBoundingBox[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] oBjLst[b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b]MiP [b][color=DARKRED]'[/color][/b]MaP[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] bsvec [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]-[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray->list[/color][/b] MiP[b][color=RED])[/color][/b] pt[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]x[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-highlight[/color][/b] x :vlax-true[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] cpLst [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vla-copy[/color][/b] oBjLst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]while[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#009900]3[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] gr [b][color=RED]([/color][/b][b][color=BLUE]grread[/color][/b] [b][color=DARKRED]'[/color][/b]t[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=RED]([/color][/b][b][color=BLUE]redraw[/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]and[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#009900]5[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] gr[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]listp[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] gr[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-getBoundingBox[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] oBjLst[b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b]MiP [b][color=DARKRED]'[/color][/b]MaP[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]x[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-move[/color][/b] x [b][color=RED]([/color][/b][b][color=BLUE]vlax-3D-point[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]-[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray->list[/color][/b] MiP[b][color=RED])[/color][/b] bsVec[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vlax-3D-point[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] gr[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] oBjLst[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] hi [b][color=RED]([/color][/b][b][color=BLUE]grdraw[/color][/b] pt [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] gr[b][color=RED])[/color][/b] [b][color=#009900]3[/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=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]x[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vl-catch-all-apply[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vla-delete[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] x[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] cpLst[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]redraw[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [i][color=#990099];; Test Function[/color][/i] [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:test2 [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] ss pt[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]and[/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=RED]([/color][/b][b][color=BLUE]setq[/color][/b] pt [b][color=RED]([/color][/b][b][color=BLUE]getpoint[/color][/b] [b][color=#ff00ff]"\nSelect Base Point: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b]lmac-ss-drag-move [b][color=BLUE]nil[/color][/b] ss pt [b][color=BLUE]t[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] 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.