Тема: Нарисовать полилинию с заданнйо шириной

Здравствуйте. Нужно написать функцию, которая чертит полилинию с заданной шириной (Global Width).
т.е. это должно быть аналогично комманде "PLINE", которая сразу чертит с нужной шириной, переданной в параметре функции.

Re: Нарисовать полилинию с заданнйо шириной

Получил же уже ответ или что то не устраивает.поделись что а вдруг помогут.

Re: Нарисовать полилинию с заданнйо шириной

Для задания ширины полилинии нужно перебрать DFX коды её вершин (VERTEX) и задать им начальную и конечную ширину в секциях 40 и 41. Если они одинаковы, глобальная ширина будет такой же.

Например так:

(Defun DrawPoly (pSt pEnd  pWidth / edataVer namePl edata)
    (command "_pline" pSt pEnd "")
   
        (setq namePl (entlast))
 
          (setq i 1) 
          (repeat 2                                                                     
              (if (= i 1) (progn (setq edataVer (entget (entnext namePl)))))
            (if (= i 2) (progn (setq edataVer (entget (entnext (entnext namePl))))))          
                  (setq edataVer (subst (cons 40 pWidth) (assoc 40 edataVer) edataVer))
                (setq edataVer (subst (cons 41 pWidth) (assoc 41 edataVer) edataVer))
                  (entmod edataVer)
                (setq i (+ i 1))
        )    ; end repeat vertex
 
          (setq edata (entget namePl))           
                          
        (entmod edata)   
)