You gave simple example, thus it was not hard to construct WIPEOUT through (entmake)... So for complex ones, I strongly suggest that you use first code which will convert lwpolyline into wipeout with the same characteristics...
(defun c:makewipeout ( / vertexList lw )
(setq vertexList
(list
(list -1 -1 0.)
(list 1 -1 0.)
(list 1 1 0.)
(list -1 1 0.)
)
)
(setq lw
(entmakex
(append
(list
'(0 . "LWPOLYLINE")
'(100 . "AcDbEntity")
(cons 8 "0")
'(100 . "AcDbPolyline")
(cons 90 (length vertexList))
(cons 70 (1+ (* 128 (getvar 'plinegen))))
(cons 38 0.0)
)
(mapcar '(lambda ( pt ) (cons 10 pt)) vertexList)
(list (list 210 0.0 0.0 1.0))
)
)
)
(vl-cmdf "_.WIPEOUT" "_P" lw "_Yes")
(princ)
)
Or alternatively using (entget (car (entsel))) from previously generated WIPEOUT :
((-1 . <Entity name: 4ac03910>) (0 . "WIPEOUT") (5 . "AA") (330 . <Entity name: 4a5381c0>) (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbWipeout") (90 . 0) (10 -1.0 -1.0 0.0) (11 2.0 0.0 0.0) (12 0.0 2.0 0.0) (13 1.0 1.0 0.0) (70 . 7) (280 . 1) (281 . 50) (282 . 50) (283 . 0) (71 . 2) (91 . 5) (14 -0.5 0.5 0.0) (14 0.5 0.5 0.0) (14 0.5 -0.5 0.0) (14 -0.5 -0.5 0.0) (14 -0.5 0.5 0.0) (290 . 0))
(defun c:makewipeout ( / vertexListmain vertexList )
(setq vertexListmain
(list
(list -1 -1 0.)
(list 1 -1 0.)
(list 1 1 0.)
(list -1 1 0.)
)
)
(setq vertexList (mapcar '(lambda (x) (mapcar '(lambda (y) (/ y 2.0)) x)) vertexListmain))
(entmake
(append
(list
(cons 0 "WIPEOUT")
(cons 100 "AcDbEntity")
(cons 100 "AcDbWipeout")
(cons 90 0)
(cons 10 (car vertexListmain))
(cons 11 (mapcar '- (cadr vertexListmain) (car vertexListmain)))
(cons 12 (mapcar '- (caddr vertexListmain) (cadr vertexListmain)))
(cons 13 (caddr vertexListmain))
(cons 70 7)
(cons 280 1)
(cons 281 50)
(cons 282 50)
(cons 283 0)
(cons 71 2)
(cons 91 5)
)
(mapcar '(lambda (p) (cons 14 p)) (append vertexList (list (car vertexList))))
(list (cons 290 0))
)
)
(princ)
)
HTH., M.R.