Message 1 of 5
sorting a list of layers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I have the following and it works well, but I want to sort if into alphabetical order:
(setq adoc (vla-get-activedocument (vlax-get-acad-object)))
(setq laycoll (vla-get-layers adoc))
(vlax-for lay laycoll
(setq layn (vla-get-Name lay))
(if (not (wcmatch layn "*|*"))
(progn
(if (= (vla-get-freeze lay) :vlax-true)
(progn
(setq freezelst (cons (vla-get-name lay) freezelst))
(vla-put-freeze lay :vlax-false)
)
)
(setq layd (vla-get-Description lay))
(setvar "clayer" layn)
(command "line" (list dx1 dyy) (list dx2 dyy) "")
(command "text" "s" "Arial" "j" "ml" (list dx3 dyy) "8" "0" layn)
(command "text" "j" "ml" (list dx4 dyy) "8" "0" layd)
(setq dyy(cadr(polar (list dx1 dyy) (* pi 1.5) dyi)))
)
)
)
I tried putting the following line after setq layn (line 4), but I get the error bad argument type listp:
(vl-sort layn '<)
I'm pretty rusty on coding, so I'm a little lost. '< appears to be the wrong argument, but I'm not sure what to use.