Системы автоматизированного конструирования. Толстоба Н.Д. - 29 стр.

UptoLike

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

28
DXF-коды
Все данные, описывающие примитив, - это список, состоящий из подсписков, в
которых сгруппирована по функциональному назначению вся информация о примитиве, как
геометрическая, так и общая; слой, цвет и т.п. Подсписки отличаются по специальным кодам
формата DXF (Drawing exchange Format - формат обмена рисунками), позволяющим
определить, какой тип данных хранится в подсписке. Каждый подсписок имеет две части.
Первая - код DXF, вторая - данные. Целое число 0, например, представляет собой код типа
примитива. Код 8 говорит о том, что следующее за ним число - номер слоя. Код 10 -
начальная точка примитива, код 11 - конечная и т.п. Отметим, что набор кодов DXF различен
для примитивов разных типов. Однако сами коды относятся ко всем примитивам - имя
примитива, например, всегда хранится в подсписке с кодом DXF -1.
Представим полученный список EDATA в более понятном виде:
( (-1 . <Имя примитива: 60000020>)
(0 . "LINE") - Тип примитива
(8 . "0") - Слой
(101.02.00.0) - Начальная точка
(11 6.0 6.0 0.0) ) - Конечная точка
Пользуясь кодами DXF, можно извлечь из списка EDATA любую информацию о
примитиве. Такой доступ к рисунку более сложен, но позволяет изменять практически все
свойства примитивов. При работе со списками данных о примитивах необходимо
использовать кодировку кодов DXF.
3.2. Наборы примитивов
Автокад имеет стандартное средство работы с несколькими примитивами. Практически
все команды редактирования работают не с отдельными примитивами, а с их группой. Из
Автолиспа также можно работать с наборами примитивов: предоставлять пользователю
возможность заносить примитивы в набор и затем их модифицировать. Набор формируется
функцией ssget:
(ssget режим точка1 точка2 )
Необязательный аргумент режим - строка, которая указывает способ выбора примитива.
Возможны следующие значения режима:
"Р", в русском варианте "Т" - выбирается текущий набор;
"L", русское "П" - выбирается последний сформированный на чертеже примитив;
"W", русское "Р" < точка1 > <точка2> - выбираются примитивы, попавшие в рамку с углами
в < точке1 > и <точке2>;
"С", русское "С" <точка1> <точка2> - выбираются примитивы, пересекаемые рамкой.
Кроме этих возможны еще две конструкции:
(ssget< точка >) - Здесь выбираются примитивы, проходящие через < точку >.
(ssget "х" < фильтр >) - Здесь <фильтр> - список, элементами которого являются одна или
несколько точечных пар.