Всем привет. У меня такая проблема. Мне нужно в autocad перерисовать полилинию. Делаю я это с помощью функции entmod. Сначала я удаляю старые вершины, потом добавляю новые. Но полилиния не перерисовывается, хотя вершины добавляются. Но если нажать на полиниию и задать действие обратить, тогда линия нормально перерисовывается. Привожу код ниже с результатами его выполнения.
(entmod (append (vl-remove nil (mapcar '(lambda (x) (if (or (/= 10 (car x) (/= 90 (car x)))) x)) (entget(handent (cdr(nth 12 QPrim))))))
(list
;(cons 62 7)
(cons 90 10)
(cons 10 ACoord)
(cons 10 (list (car ACoord) (- (cadr ACoord) (* 0.72 K))))
(cons 10 (list (+ (* 0.62 K) (car ACoord)) (- (cadr ACoord) (* 0.72 K))))
(cons 10 (list (+ (* 0.62 K) (car ACoord)) (cadr ACoord)))
(cons 10 (list (+ (* 1.24 K) (car ACoord)) (cadr ACoord)))
(cons 10 (list (+ (* 1.24 K) (car ACoord)) (- (cadr ACoord) (* 0.36 K))))
(cons 10 (list (car ACoord) (- (cadr ACoord) (* 0.36 K))))
(cons 10 (list (car ACoord) (- (cadr ACoord) (* 0.72 K))))
(cons 10 (list (+ (* 1.24 K) (car ACoord)) (- (cadr ACoord) (* 0.72 K))))
(cons 10 (list (+ (* 1.24 K) (car ACoord)) (cadr ACoord)))
(cons 10 ACoord)
)
)
)
На рисунке рамки нет
Задаем параметр обратить
и рамка прорисовывается через все вершины