Параметрические изображения объектов проектирования на основе использования языка АВТОЛИСП в среде АВТОКАД. Притыкин Ф.Н. - 55 стр.

UptoLike

Составители: 

55
Числа 0. 8, 10, 11 в начале подсписков являются флагами соответствую-
щих групп данных о примитиве.
(entmod <список>) используют для изменения информации в базе
данных о примитиве, указанном в <списке> после флага 1. Она также
преобразовывает <список> в формат, который в дальнейшем возвращает-
ся функцией entget. Функции entget, assoc, subst и entmod позволяют
получить информацию в виде списка о базе данных примитивов, извлечь
необходимые данные, при необходимости изменить некоторые из них (за
исключением типа примитива) и в заключение обновить параметры при-
митива в базе данных.
Пример: пусть последней в рисунке изображена окружность с цен-
тром 0 (l00 100), радиусом R = 40 ед. и находится она на слое "1". Тогда
(setq priml (entlast)) устанавливает в priml имя окружности, добавлен-
ной в рисунок,
(setq dprim1 (entget priml)) устанавливает в dprim1 список, соответст-
вующий базе данных примитива priml и имеющий вид:
(( -1 . <Имя примитива: 60000030>),
( 0 . "CIRCLE") указывает тип примитива "окружность",
( 8 . "1" ) примитив изображен на слое "1",
(10 100.0 100.0) указывает координаты центра окружности,
(40 40.0) указывает величину радиуса окружности.
Пусть теперь требуется изменить координаты центра окружности. То-
гда, используя нижепредставленные функции, будет внесено изменение
координат центра окружности и будет обновлено соответственно изобра-
жение окружности (с новым центром):
(setq dprim1 (subst (cons 10 '(50.0 50.0)) (assoc 10 dprim) dprim1)
)
(entmod dprim).
Числа 0. 8, 10, 11 в начале подсписков являются флагами соответствую-
щих групп данных о примитиве.
     • (entmod <список>) используют для изменения информации в базе
данных о примитиве, указанном в <списке> после флага − 1. Она также
преобразовывает <список> в формат, который в дальнейшем возвращает-
ся функцией entget. Функции entget, assoc, subst и entmod позволяют
получить информацию в виде списка о базе данных примитивов, извлечь
необходимые данные, при необходимости изменить некоторые из них (за
исключением типа примитива) и в заключение обновить параметры при-
митива в базе данных.
    Пример: пусть последней в рисунке изображена окружность с цен-
тром 0 (l00 100), радиусом R = 40 ед. и находится она на слое "1". Тогда
(setq priml (entlast)) − устанавливает в priml имя окружности, добавлен-
ной в рисунок,
(setq dprim1 (entget priml)) − устанавливает в dprim1 список, соответст-
вующий базе данных примитива priml и имеющий вид:
(( -1 . <Имя примитива: 60000030>),
( 0 . "CIRCLE") − указывает тип примитива − "окружность",
( 8 . "1" )   − примитив изображен на слое "1",
(10 100.0 100.0) − указывает координаты центра окружности,
(40 40.0) − указывает величину радиуса окружности.
    Пусть теперь требуется изменить координаты центра окружности. То-
гда, используя нижепредставленные функции, будет внесено изменение
координат центра окружности и будет обновлено соответственно изобра-
жение окружности (с новым центром):
(setq dprim1 (subst (cons 10 '(50.0 50.0)) (assoc 10 dprim) dprim1)
 )
(entmod dprim).




                                     55