Page 33 - AutoLISP и Visual LISP в среде AutoCAD
P. 33

2.15. МЕХАНИЗМ ДОСТУПА К ПРИМИТИВАМ
                                           И ГРАФИЧЕСКАЯ БАЗА ДАННЫХ


                      Любой  создаваемый  в AutoCad чертеж  состоит  из  примитивов,
                  геометрическое описание которых хранится в специальном формате в файле
                  чертежа  (расширение .dwg).  При  загрузке  чертежа AutoCad заполняет
                  графическую базу данных: записывает системные настройки, создает список
                  объектов  и  вносит  в  графическую  базу  данных  (ГБД)  геометрическое
                  описание этих объектов, присваивая каждому примитиву уникальное имя. В
                  сеансе редактирования каждый примитив (отрезок, дуга, окружность и т.п.)
                  имеет свое имя, по которому его распознает сам AutoCad. Так как эти имена
                  меняются от одного сеанса редактирования к другому, не имеет смысла их
                  хранить,  по  крайней  мере,  дольше  сеанса  редактирования.  В программе  на
                  AutoLisp сначала  следует  найти  имя  примитива  в  базе  данных AutoCad,
                  чтобы  впоследствии  непосредственно  манипулировать  геометрическими
                  характеристиками примитива.
                      Используя AutoLisp можно  модифицировать  данные  в  ГБД,  но  если
                  нужно  добавить  новый  примитив,  то  для  создания  объектов  можно
                  использовать функции entmake и entmakex.


                                         Функции для работы с примитивами

                                Функция                                   Назначение
                     (entnext [имя_примитива]) Если  вызывается  без  аргументов,  эта
                                                       функция       возвращает        имя      примитива
                                                       первого  не  удаленного примитива  в  базе
                                                       данных.  Если  функция  вызывается  с
                                                       аргументом              имя_примитива,           она
                                                       возвращает  имя  первого  не  удаленного
                                                       примитива, следующего за имя_примитива
                                                       в  базе  данных.  Если  нет  следующего
                                                       примитива в базе данных, возвращается nil
                     (entlast)                         Возвращает  имя  последнего  не  удаленного
                                                       примитива в базе данных
                     (entsel [подсказка] )             Позволяет выбрать примитив. Возвращает
                                                       список из имя_примитива и координат
                                                       точки, при помощи которой примитив был
                                                       выбран.
                                                       Пример:
                                                       (<Entity  name:  4005fd70>  (119.516  102.593
                                                       0.0))
                     (entdel имя_примитива)            Удаляет          примитив,          обозначенный
                                                       имя_примитива,  в  текущем  чертеже,  или
                                                       восстанавливает  примитив,  если  он  был
                                                       предварительно  удален  в  этом  сеансе
                                                       редактирования

                  32
   28   29   30   31   32   33   34   35   36   37   38