Page 40 - AutoLISP и Visual LISP в среде AutoCAD
P. 40
2.17. СПРАВОЧНЫЕ ТАБЛИЦЫ
Информация о слоях, типах линий, видах, гарнитурах шрифтов, блоках,
пользовательской системе координат, размерных стилях и видовых экранах
AutoCad хранит в справочных таблицах. Для работы с ними предусмотрены
функции tblnext и tblsearch, которые просматривают таблицу и выдают
содержащуюся в ней информацию.
(tblnext имя_таблицы [первый])
Первым аргументом является строковая константа имени таблицы.
Допустимые имена таблиц – "LAYER", "LTYPE" "VIEW", "STYLE",
"BLOCK", "UCS", "DIMSTYLE", "VPORT".
Функция tblnext возвращает следующее вхождение в указанную таблицу.
Если аргумент первый присутствует и не равен nil, чтение таблицы
начинается с начала. Если вхождений в таблицу нет, возвращается nil. Если
вхождение найдено, возвращается список кодов и значений типа DXF.
Пример:
(tblnext "LAYER")
; ((0 . "LAYER") (2 . "0") (70 . 0) (62 . 7) (6 . "CONTINUOUS"))
(tblnext "LAYER")
; ((0 . "LAYER") (2 . "OSI") (70 . 64) (62 . 1) (6 . "CENTER2"))
(tblnext "LAYER")
; ((0 . "LAYER") (2 . "OTHER") (70 . 64) (62 . 7) (6 . "CONTINUOUS"))
(tblnext "LAYER")
; ((0 . "LAYER") (2 . "STRICH") (70 . 64) (62 . 2) (6 . "DASHED"))
(tblsearch имя_таблицы символ [следующий])
Если аргумент следующий присутствует и не равен nil, точка входа
tblnext изменяется так, чтобы следующий вызов tblnext возвращал точку
входа, следующую за возвращённой.
Пример:
(tblsearch "LAYER" "0" t)
; ((0 . "LAYER") (2 . "0") (70 . 0) (62 . 7) (6 . "CONTINUOUS"))
(tblnext "LAYER")
; ((0 . "LAYER") (2 . "OSI") (70 . 64) (62 . 1) (6 . "CENTER2"))
39