Jump to content

Jigging/Ghosting in LISP or VL ~ Possible?


Lee Mac

Recommended Posts

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

Link to comment
Share on other sites

I just googled the term "jigging" but found a lot of fishing websites.. what exactly do those terms mean?

Link to comment
Share on other sites

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. :thumbsup:

Link to comment
Share on other sites

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#. :)

Link to comment
Share on other sites

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! :P), 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... :P

 

(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...

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

I got a chance to try this out. Works flawlwssly - from referenced 2d geometry through to 3d geometry in perspective view.

Link to comment
Share on other sites

I got a chance to try this out. Works flawlwssly - from referenced 2d geometry through to 3d geometry in perspective view.

 

Thanks :D. 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

Link to comment
Share on other sites

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... ]

Link to comment
Share on other sites

Ok, this should include a base point.

 

This should now function exactly like "acet-ss-drag-move", however, without using Express Tools. :D

 

[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]

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...