Hi,
 
	With your drawing, this code will correct the polylines. To be adapted if used in another drawing (ssget filter)
 
(vl-load-com)
(defun c:Correct3DPL ( / ss AcDoc Space nb n ename obj l_pt lay new_obj)
  (setq ss (ssget "_X" '((0 . "POLYLINE") (67 . 0) (8 . "CTL_PNT") (66 . 1) (70 . 9))))
  (cond
    (ss
      (setq
        AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))
        Space
        (if (= 1 (getvar "CVPORT"))
          (vla-get-PaperSpace AcDoc)
          (vla-get-ModelSpace AcDoc)
        )
        nb 0
      )
      (repeat (setq n (sslength ss))
        (setq
          ename (ssname ss (setq n (1- n)))
          obj (vlax-ename->vla-object ename)
          l_pt (vlax-get obj 'Coordinates)
          lay (vlax-get obj 'Layer)
        )
        (cond
          ((eq (length l_pt) 12)
            (vla-delete obj)
            (setq new_obj (vlax-invoke Space 'Add3dPoly (cdddr l_pt)))
            (vla-put-Closed new_obj :vlax-true)
            (vla-put-Layer new_obj lay)
            (setq nb (1+ nb))
          )
        )
      )
      (princ (strcat "\n" (itoa nb) " polylines corrected."))
    )
  )
  (prin1)
)