ElpanovEvgeniy
Thank you very much for your help.
Now I can draw a pl with different bulge width from a list.
I think it can be use for match two pline with some character, for example, width or bulge.
Most of the following code comes from you:),Thank you~
(defun c:test()
(if (and (setq en (car (entsel)))
(= (cdr (assoc 0 (entget en))) "LWPOLYLINE")
) ;_ and
(setq lst-pt (mapcar (function cdr)
(vl-remove-if-not (function (lambda (a) (= (car a) 10))) (entget en))
) ;_ mapcar
lst-bulge (mapcar (function cdr)
(vl-remove-if-not (function (lambda (a) (= (car a) 42))) (entget en))
)
lst-w1 (mapcar (function cdr)
(vl-remove-if-not (function (lambda (a) (= (car a) 40))) (entget en))
) ;_ mapcar
lst-w2 (mapcar (function cdr)
(vl-remove-if-not (function (lambda (a) (= (car a) 41))) (entget en))
) ;_ mapcar
) ;_ setq
)
) ;_ if
(defun c:test1()
(entmakex
(apply
(function append)
(cons
(list
'(0 . "LWPOLYLINE")
'(100 . "AcDbEntity")
'(67 . 0)
'(410 . "Model")
'(8 . "New_polyline")
'(62 . 3)
'(100 . "AcDbPolyline")
(cons 90 (length lst-pt))
'(70 . 0)
;;'(70 . 1) = Closed
) ;_ list
(mapcar
(function list)
(mapcar (function (lambda (a) (cons 10 a))) lst-pt)
(mapcar (function (lambda (a) (cons 40 a))) lst-w1)
(mapcar (function (lambda (a) (cons 41 a))) lst-w2)
(mapcar (function (lambda (a) (cons 42 a))) lst-bulge)
) ;_ mapcar
) ;_ cons
) ;_ apply
) ;_ entmakex
)