Author Topic: point filter routine for a 3dpoly  (Read 1384 times)

0 Members and 1 Guest are viewing this topic.

wjbzone

  • Guest
point filter routine for a 3dpoly
« on: July 17, 2007, 08:06:10 AM »
I want to draw a 3dpoly line using point filters. Each point of the 3dpoly should osnap to .Z of one object and .XY of another object.

Is there an easy way can I speed this up with autolisp routine?

Or will have to build the 3dpoly point list and use entmake to accomplish. (not easy for me)

Thanks ,
Bill

gile

  • Water Moccasin
  • Posts: 2233
  • Marseille, France
Re: point filter routine for a 3dpoly
« Reply #1 on: July 17, 2007, 08:40:51 AM »
Hi,

What kind of objects do you want to use as point filter ?
Can you post an example (dwg) ?
Speaking English as a French Frog

Bred

  • Guest
Re: point filter routine for a 3dpoly
« Reply #2 on: July 17, 2007, 09:10:18 AM »
Hello,
   
1-There is to you it a bond between “XY” object and "Z" object?
2-how you select “XY” object and "Z" object?

wjbzone

  • Guest
Re: point filter routine for a 3dpoly
« Reply #3 on: July 17, 2007, 02:25:33 PM »
I need each point of the 3dpoly to osnap to the .z of endpoint and to the .xy of the current osmode.
There is not a bond between the two objects.

« Last Edit: July 17, 2007, 02:27:03 PM by wjbzone »

gile

  • Water Moccasin
  • Posts: 2233
  • Marseille, France
Re: point filter routine for a 3dpoly
« Reply #4 on: July 17, 2007, 02:49:09 PM »
I'm not sure to understand, do you want somethig like this ?

Code: [Select]
(defun c:3dpoly_filter ()
  (command "_3dpoly")
  (while (/= 0 (getvar "CMDACTIVE"))
    (command ".z" "_end" pause)
  )
)
Speaking English as a French Frog

wjbzone

  • Guest
Re: point filter routine for a 3dpoly
« Reply #5 on: July 17, 2007, 03:22:30 PM »
Thanks gile,
That is exactly what I need!

I did not know about the "cmdactive" variable, and that you can use it in a while loop during a active command.  Very good thing. I just added one line for a prompt:
Code: [Select]
(defun c:3df ()
  (command "_3dpoly")
  (while (/= 0 (getvar "CMDACTIVE"))
    (princ "Pick z")
    (command ".z" "_end" pause)
  )
)