- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
DO NOT USE THE FOLLOWING CONSTRUCT...
;; (setq Ints (cons (vlax-invoke Obj 'intersectwith Obj1 1) Ints))
;; It turns out that vlax-invoke 'intersectwith returns a flat list of the
;; intersection points, e.g. (x1 y1 z1 x2 y2 z2),
;; so they must be grouped in 3s
(setq Ints (append (@group (vlax-invoke Obj 'intersectwith Obj1 1) 3) Ints)) where (defun @group (old n / item new) (while old (while (< (length item) n) (setq item (cons (car old) item) old (cdr old)) ) (setq new (cons (reverse item) new) item nil) ) (reverse new) )
What I am doing is creating a list of intersection points between one polyline and multiple lines.
I will then sort them in CCW order as part of a new pool deep end routine. Right now the techs have to split and rotate and join all the various panel pieces by hand, to the point that drafting can become the bottleneck in production on any given day. Since there is always a shortage of qualified techs and they have many other duties, I have to get them to be more efficient. Of course the real fun is that I am busy producing something for which I actually get paid. Yay!
John F. Uhden
Solved! Go to Solution.