Lee Mac Posted May 23, 2009 Share 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 Link to comment Share on other sites More sharing options...
Freerefill Posted May 23, 2009 Share Posted May 23, 2009 I just googled the term "jigging" but found a lot of fishing websites.. what exactly do those terms mean? Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted May 23, 2009 Author Share 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 Link to comment Share on other sites More sharing options...
SEANT Posted May 23, 2009 Share 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 Link to comment Share on other sites More sharing options...
ronjonp Posted May 23, 2009 Share 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 Link to comment Share on other sites More sharing options...
Lee Mac Posted May 23, 2009 Author Share 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 Link to comment Share on other sites More sharing options...
Lee Mac Posted May 23, 2009 Author Share 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 Link to comment Share on other sites More sharing options...
SEANT Posted May 23, 2009 Share 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 Link to comment Share on other sites More sharing options...
Lee Mac Posted May 23, 2009 Author Share 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 Link to comment Share on other sites More sharing options...
Lee Mac Posted May 23, 2009 Author Share 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 Link to comment Share on other sites More sharing options...
Lee Mac Posted May 23, 2009 Author Share 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 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.