Каждый новый класс объектов должен создаваться на основе существующего объекта. Для начала откройте карту, содержащую типичные объекты описываемого класса ("объекты-модели"). В данном примере откройте карту дорог для определения класса объектов "Дороги".
При описании класса объектов можно выбрать любые существующие свойства объекта-модели и включить их в описание класса объектов. Также можно добавлять новые свойства. Для каждого включенного в описание свойства можно задать значение по умолчанию и допустимый диапазон.
Описание класса объектов
Опишите класс объектов, выбрав объект-модель.
Укажите метод создания объектов, который должны использовать существующие объекты, чтобы относиться к данному классу.
Все существующие объекты, добавленные в этот класс, должны использовать выбранный здесь тип объекта. При невозможности достоверного определения факта создания существующих объектов дорог при помощи метода AcDbLine или AcDbCurve, рекомендуется установить только флажок AcDbEntity.
Объекты, отнесенные к этому классу, всегда сохраняют свои собственные свойства. Свойства, указываемые здесь, относятся к классу в целом. Выберите свойства, чтобы задать им значения по умолчанию или допустимые диапазоны или чтобы разрешить их редактирование для всех участников класса.
Например, выберите эти свойства, чтобы иметь возможность изменять слой, тип линий или цвет для всех участников класса "Дороги". Где это допустимо, можно задавать значения по умолчанию. Например, можно назначить всем участникам класса "Дороги" слой "Дороги".
Можно включать со свойствами следующих типов:
Задайте свойства для объектов этого класса и требуемые значения по умолчанию.
В следующей таблице представлен рекомендуемый набор общих свойств и их значений для класса "Дороги".
Свойство | Значение |
---|---|
Общие свойства | |
Цвет | Красный |
Слой | Schema_Roads |
Тип линии | Нет значения |
Вес линий | 0,13 |
В полях данных объекта очистите значения, которые относятся только к выбранному объекту-модели. Например, включите свойства NAME (Название) и ST_NAME (Название улицы), чтобы их содержали все новые дороги. Удалите значения, которые отображены здесь, так как названия новых дорог будут отличаться от названия объекта-модели.
Например, щелкните свойство ST_NAME и посмотрите его значения. Значением по умолчанию для названия улицы является название объекта-модели. Это значение неверное практически для всех вновь создаваемых дорог. Выделите значение и удалите его.
Объекты, добавляемые в этот класс будут иметь свойство ST_NAME, но в качестве значения будет использоваться название этой дороги (сохраненное в свойствах данного объекта). Если такого значения нет, свойство остается пустым. В следующей таблице представлен рекомендуемый набор свойств OD:Schema_Roads и их значений для класса "Дороги".
Свойство | "Значение" |
---|---|
Autogenerated_SDF_ID | Нет значения |
LENGTH | Нет значения |
NAME | Нет значения |
PREFIX | Нет значения |
SEG_ID | Нет значения |
ST_NAME | Нет значения |
ST_TYPE | Нет значения |
SUFFIX | Нет значения |
ТИП | Нет значения |
Определите пользовательские свойства для класса объектов.
Свойство NumberLanes выделено, рядом с ним установлен флажок.
Выберите для новых объектов, создаваемых в рамках данного класса объектов, команду "Создать метод".
При создании дорог в этом классе используйте метод "Полилиния". Существующие объекты, добавляемые в этот класс, не обязательно должны быть полилиниями.
Чтобы продолжить работу с этим учебным пособием, перейдите к разделу Упражнение 3. Добавление классов объектов в файл определения.