TheSwamp
Code Red => AutoLISP (Vanilla / Visual) => Topic started by: rayakmal on September 28, 2020, 09:38:29 PM
-
I have this list, its length varies
( (ptA1 ptA2 ptA3 ...... ptAn)
(ptB1 ptB2 ptB3 ...... ptBn)
(ptC1 ptC2 ptC3 ...... ptCn)
...........................
(ptN1 ptN2 ptN3 ...... ptNn)
)
How can I get a list like this (I want to create Polyline(s) from it):
( (ptA1 ptB1 ptC1 .... ptN1)
(ptA2 ptB2 ptC2 .... ptN2)
(ptA3 ptB3 ptC3 .... ptN3)
.........................
(ptAN ptBn ptCn .... ptNn)
)
Any help is greatly appreciated.
-
I tried this, seems to work.
(defun C:FOO1 ()
(setq lst (list (list "A1" "A2" "A3" "A4" "A5" "A6")
(list "B1" "B2" "B3" "B4" "B5" "B6")
(list "C1" "C2" "C3" "C4" "C5" "C6")
)
)
(setq idx 0)
(setq NNlst '())
(repeat (length (nth 0 lst))
(setq Nlst '())
(foreach n lst
(setq Nlst (append Nlst (list (nth idx n))))
(princ nlst) (princ "\n")
)
(setq NNlst (append NNlst (list Nlst)))
(setq idx (+ 1 idx))
);end repeat
(princ)
)
Result:
(("A1" "B1" "C1") ("A2" "B2" "C2") ("A3" "B3" "C3") ("A4" "B4" "C4") ("A5" "B5"
"C5") ("A6" "B6" "C6"))
-
Hello
Maybe like this?
_$ (apply 'mapcar (cons 'list lst))
(("A1" "B1" "C1") ("A2" "B2" "C2") ("A3" "B3" "C3") ("A4" "B4" "C4") ("A5" "B5" "C5") ("A6" "B6" "C6"))
_$
-
That is awesome. Thanks a lot, Bruno. :yay!:
Hello
Maybe like this?
_$ (apply 'mapcar (cons 'list lst))
(("A1" "B1" "C1") ("A2" "B2" "C2") ("A3" "B3" "C3") ("A4" "B4" "C4") ("A5" "B5" "C5") ("A6" "B6" "C6"))
_$
-
Glad to have been able to help
Bruno