;C3D alignment to polyline - VM, www.cadforum.cz

(defun C:Alignment2Poly (/ SSblk SS blk LastE en)
  (setq en (entsel "\nSelect an alignment: "))
  (if (= (cdr (assoc 0 (entget (car en)))) "AECC_ALIGNMENT")(progn
   (vl-cmdf "_.explode" en) ; to block ref
   (setq SSblk (ssadd))
   (if (setq SS (ssadd (entlast))) 
     (foreach blk (vl-remove-if 'listp (mapcar 'cadr (ssnamex SS)))
       (setq LastE (entlast)) ; sentinel
       (vl-cmdf "_.explode" blk)
       (if (setq en (entnext LastE))
         (while en
           (if (/= (cdr (assoc 0 (entget en))) "CIRCLE")(setq SSblk (ssadd en SSblk)))
           (setq en (entnext en))
         )
       )
     )
     (prompt "\nNothing selected")
   )
   (initcommandversion 2) ; !!
   (if SSblk (vl-cmdf "_.join" SSblk ""))
  ) ; else
   (prompt "\nNot an alignment!")
  )
  (princ)
)