А.В. Скворцов, М.О. Иванов, Д.А. Петренко СИСТЕМА ПОДГОТОВКИ ЧЕРТЕЖЕЙ INDORDRAW
Описывается система подготовки чертежей IndorDraw. Описывается краткая история развития, архитектура продукта. Рассматриваются применения системы в составе различных программных комплексов для проектирования, паспортизации, диагностики и мониторинга автомобильных дорог.
В настоящее время в мире существует достаточно большое количество программных продуктов для создания чертежей. Здесь можно выделить а) мощные универсальные системы автоматизированного проектирования типа AutoCAD, Microstation, Intergraph; б) специальные системы подготовки диаграмм и графиков типа Visio, Micrografix; в) специализированные программные продукты, ориентированные на конкретные отрасли, например, для создания схем печатных плат или рисования ER-диаграмм.
Основной целью разработки системы подготовки чертежей IndorDraw изначально являлось создание продукта, имеющего простые, но в то же время функциональные инструменты для создания чертежей проектов строительства и реконструкции автомобильных дорог. В дальнейшем в задачи системы IndorDraw вошли функции создания и других графических документов, сопровождающих строительство, реконструкцию и эксплуатацию автомобильных дорог.
Другой немаловажной предпосылкой создания собственного графического редактора является достаточно высокая стоимость аналогичных существующих продуктов.
Первая версия системы подготовки чертежей (под названием RoAD) начала разрабатываться в 1996 г. в ООО Инженерный дорожный центр «Индор» М.О. Ивановым в соответствии с постановкой задачи, выполненной директором В.Н. Бойковым [1,2]. Первая версия продукта работала в DOS^ и использовалась только внутри фирмы.
В 2000 г. к выполнению работ над системой были подключены выпускники и сотрудники факультета информатики ТГУ и НПО «Сибгеоинформатика», после чего разработка системы перешла на новый уровень.
В первую очередь было принято решение о переходе на операционную систему Windows и создании новой системы практически с нуля. В разработке был использован ряд технологий, разработанных в НПО «Сибгеоинформатика» (например, система отображения условных знаков ЕхРоП^, разработанная С.А. Субботиным [3]). В основу системы была положена АсйуеХ-технология, что позволило в итоге создать удобную расширяемую архитектуру продукта.
Внешний вид системы IndorDraw, представленный на рис. 1, является достаточно традиционным для систем такого класса. Система обладает многодокументным интерфейсом. В верхней части приложения размещено меню и панели инструментов, в нижней части - строка статуса. Каждое окно с документом состоит из нескольких страниц, переключаемых с помощью закладок внизу экрана. Для изменения различных параметров объектов имеется несколько свободно размещаемых на экране окошек для настройки типа заливки, линий, символов, текстовых надписей, для управления слоями.
В настоящее время система подготовки чертежей IndorDrawing входит в линейку продуктов, разрабатываемых и распространяемых ООО «ИндорСофт». Система подготовки чертежей может использоваться как отдельно, так и в составе специальных программных комплексов.
J IndorDraw - [D:\4eртежи\Иркутский тракт (реконструкция).RDW]
Рис. 1. Внешний вид системы подготовки чертежей IndorDraw
Так, система проектирования инженерных сетей и дорог IndorCAD, разрабатываемая под руководством Д.А. Петренко, использует систему IndorDraw для генерации таких выходных чертежей, как топографические планы, продольные профили, поперечные профили, конструкции дорожной одежды, разрезы геологических колонок.
Программа паспортизации автомобильных дорог IndorPassport, разработанная А.Г. Зюзьковым, использует систему IndorDraw для автоматического формирования различных графических отчетов по атрибутной базе данных, заполненной по результатам паспортизации, диагностики или мониторинга автомобильной дороги.
Модуль создания дорожных знаков индивидуального проектирования, созданный А.Б. Кирилловым, выполнен по АсйуеХ-технологии встраиваемых модулей системы IndorDraw. Этот модуль позволяет создавать всё множество стандартных и индивидуальных дорожных знаков в соответствии с действующими в СНГ стандартами.
Система IndorDraw в составе программного комплекса IndorCAD используется во многих городах России, в т.ч. в Москве, Новосибирске, Барнауле, Кемерово, Красноярске, Ростове, Челябинске, Краснодаре, Чебоксарах, Ефремове.
АРХИТЕКТУРА СИСТЕМЫ
Концептуально внутренняя архитектура системы IndorDrawing относительно проста для систем аналогичного класса (рис. 2). Наверху иерархии находится Приложение. Система выполнена в идеологии многодокументных интерфейсов, поэтому в систему может быть загружено несколько Документов. Каждый Документ может содержать несколько графических Страниц. Собственно страница документа и является чертежом в обычном понимании слова. Страницы состоят из множества Слоёв, содержащих множества графических Объектов.
С
Приложение
Т
J
С Документ ) с Документ Э С Документ)
С Страница D С Страница Э С Страница )
( Объект j ( Объект ) ( Объект j
Полилиния
Полигон
B-сплайн
Сплайн
Кривая Безье
Текст
Группа
Точка
Окружность
Дуга
OLE-объект
Клотоида
Трасса
Растр
Размерная линия IHI Прямоугольник
Рис. 2. Внутренняя архитектура IndorDrawing
В число графических объектов входят такие традиционные фигуры, как полилинии, дуги, полигоны, текстовые надписи, а также и специальные, применяемые в дорожной практике: клотоиды (линия с ли-
нейной изменяемой кривизной), кривые Безье (используемые для определения формы трассы автомобильной дороги в плане), трассы (используются для описания формы проектируемых дорог; трассы состоят от отрезков прямых, круговых кривых и клотоид).
Для дополнительного оформления имеется возможность вставки в чертежи различных документов по технологии OLE 2. Например, после создания плана трассы дороги в него можно вставить ведомость углов поворотов, подготовленную с помощью IndorCAD в Microsoft Excel.
Кроме того, для удобства работы с графическими объектами последние могут быть объединены в группы.
Внутри слоёв все графические объекты хранятся в виде линейных списков. Дополнительно, все объекты слоя помещены в R-дерево, что позволяет быстро выполнять графический поиск объектов на чертеже в заданной точке или регионе.
Все графические объекты внутри системы порождены от единого объекта BaseFigure, предоставляющего базовую функциональность (получение минимального объемлющего прямоугольника фигуры, различные признаки видимости, выделения, блокировки от изменения).
Точечные объекты класса DotFigure позволяют отображать точечные условные знаки из специально подготовленной библиотеки ex-шрифтов. Данная библиотека включает в себя набор знаков, используемых для оформления топографических планов масштабов от 1:500 до 1:5000.
Объекты класса PolylineFigure позволяют рисовать ломаные с помощью линейных ex-шрифтов, при этом узлы ломаной могут быть дополнительно отрисованы с помощью точечных ex-шрифтов.
Объекты типа ArcFigure (дуга окружности), ClotoidFigure (клотоида), BezierFigure (кривые Безье) , BSplineFigure (B-сплайны) и SplineFigure (интерполяционные сплайны) имеют свойства, аналогичные ломаным, т.е. могут быть произвольно отрисованы с помощью линейных ex-шрифтов.
Объекты типа PolygonFigure позволяют задать на чертеже одноконтурные многоугольники, при этом внутренности многоугольника могут быть закрашены с помощью площадных ex-шрифтов, ребра - с помощью линейных ex-шрифтов, а вершины многоугольника - с помощью точечных ex-шрифтов.
Объекты типа RectangleFigure (прямоугольники) и CircleFigure (круги) имеют свойства, аналогичные полигонам, т.е. могут быть произвольно закрашены с помощью ex-шрифтов.
Объекты типа TextFigure предназначены для нанесения простых текстовых надписей на чертеж. Объекты типа DimensionFigure позволяют создавать текстовые надписи на выносных полочках и размерных линиях, при этом объекты могут автоматически подстраиваться под текущие настройки отображения, показывая размеры в зависимости от единиц измерения и текущего масштаба.
Объекты типа GroupFigure используются для логического объединения нескольких объектов. Все дальнейшие операции над группой, такие, как перемещение или вращение, будут происходить синхронно над всеми объектами в группе.
Объекты типа PictureFigure позволяют вставлять растровые изображения в чертеж. Это может быть ис-
пользовано, с одной стороны, для дополнительного оформления чертежей, с другой - для оцифровки чертежей по сканированным изображениям.
Объекты типа TraceFigure предназначены для создания трасс автомобильных дорог в соответствии с действующими ГОСТами. Эти объекты физически состоят из отрезков прямых, дуг окружностей и клотоид.
Объекты OleFigure позволяют вставлять в чертеж фрагменты других документов по технологии OLE 2. Например, таким образом можно вставить в чертеж фрагмент отчета, подготовленного в Microsoft Excel.
ПРИМЕНЕНИЕ INDORDRAW В INDORPASSPORT
Исторически, одной из первых программ, использующей IndorDraw, был программный комплекс IndorPassport, предназначенный для паспортизации, диагностики и мониторинга автомобильных дорог.
В основе системы IndorPassport лежит база данных, в которой хранится табличная информация по всевозможным параметрам дороги (рис. 3). Табличные данные заносятся в систему на основании данных полевых работ. Так как табличные данные не дают возможности полноценно представить информацию для конечного потребителя, то на основе этих таблиц система позволяет строить различные графические отчеты. Одними из таких отчетов является линейный график дороги (рис. 4), графики аварийности и т.д.
Рис. 3. Внешний вид системы IndorPassport
Представленная на этом графике информация позволяет оперативно оценить текущее состояние инженерных сооружений на дорогах, выработать план текущего и капитального ремонта дорог и инженерного обустройства.
Другим видом отчета является кадастровый план с трассой дороги, инженерными сооружениями и дорожными знаками с точной привязкой к местности (рис. 5). Такие планы формируются автоматически на основе табличных данных, после чего требуется незначительная ручная доработка документов. В последствии при изменении линии землеотвода (кадастровая линия) данные автоматически будут переданы назад в таблицы, из которых они были сформированы.
Рис. 4. Сформированный линейный график
Рис. 5. Сформированный кадастровый план
ПРИМЕНЕНИЕ INDORDRAW В INDORCAD
Система проектирования инженерных сетей и дорог IndorCAD является одной из 6 сертифицированных систем проектирования автомобильных дорог в России. Система IndorCAD предлагает пользователю полный набор инструментов для проектирования автомобильной дороги, начиная от обработки геодезических данных (обработка данных тахеометрии, нивелировки, вР8-съемки), построения цифровой модели местности, трассирования дороги в плане и в продольном профиле, проектирования продольных и поперечных профилей, проектирования верха земляного полотна, дорожной одежды, инженерных сооружений и до формирования конечных чертежей.
В качестве одной из особенностей системы IndorCAD по сравнению с аналогами можно отметить принцип единой модели дороги, когда изменения в одной проекции дороги (план, продольный и поперечный профиль) приводят к немедленному изменению в других проекциях. Это позволяет получать непротиворечивые проектные решения и даёт новую свободу в одновременном редактировании поперечного и продольного профиля.
Запроектировав план трассы, задав разбивку проекта на листы (рис. 6) и настроив отображение графических слоев, пользователь может вызвать команду построения чертежа. По этой команде по протоколу ActiveX вызывается система подготовки чертежей IndorDraw и создаётся чертеж (рис. 7). В дальнейшем полученные чертежи могут быть косметически доработаны в среде IndorDraw.
Рис. 6. Внешний вид системы IndorCAD
Редактор знаков индивидуального проектирования В В
D-E0 ЩЩ-
В Щ ит для знака 5.21.2 Э" Направление ■■■ Объект: ТТЕПНОГУТОВС + Т ип стрелки □ Направление Объект: "МОКРУШИНО -1 Т ип стрелки < >
■+СТЕПНОГУТОВО 2
КОЛТЫРАК 8^ МОКРУШИНО 16^
Высота основного шрифта НП , мм: 300 V Высота дополнительного шрифта, мм: 200 V Расстояние по горизонтали между элементами надписи: 0.3 [_%] и п Расстояние по вертикали между каймой и строкой: 0.3 [%] х к п Расстояние межщ строками надписи одного направления: 0,4 [%] х к п
1 Закрыть 1
Рис. 8. Редактор знаков индивидуального проектирования
ш ndorDraw - D:\n лан дорогm.RDW] за
т Файл Правк & 1д Инструменты Компоновка Сервис Окно ? -
) & В £ ä Hr mi йїі^^іхва f * |
Е 'jQSQT fA *
lh »к 52.798348030:£]| Y=|l01.16691703:^| L= 25.538218866! £ О 24*15-4Q"ii'j.v $ 10.3000000 * g L=435,29mm
ЇҐ с 100 200 300 400 500 -
±
Г В - І - І. ¡її і - U- i-i. i-;.i =^-г ~~г~Г'.Ш
° < > v
\Л ист-1/
1 [385,12 : 58,66 ] мі» Ломаная в ЦММ^Сит. линии Активный сі і. х
1 1
Рис. 7. Сформированный план дороги
ПРОЕКТИРОВАНИЕ ДОРОЖНЫХ ЗНАКОВ
Для проектирования дорожных знаков был разработан специальный модуль «Редактор знаков индивидуального проектирования», встраиваемый в систему IndorDraw по технологии встраиваемых модулей (plug-in). После загрузки этого модуля в системе IndorDraw появляется новый пункт меню, который и вызывает редактор знаков (рис. 8).
^ г_ ^ ано ^__________________________________________________________________________________________ЭШ
р 1 & а і ар і ш ® <з> <з> о it. ас» а Ц & 11
ІШs Ьш/Л q s. а т л ль I
¿с
Рис. 9. Сформированный чертеж знака индивидуального проектирования
Данный модуль позволяет формировать как простые знаки, указатели расстояний, таблички, так и сложные многострочные знаки с указанием разных направлений. После формирования требуемого знака в диалоге в итоге генерируется чертеж со знаком (рис. 9). При этом программа сама проставляет основные размеры на чертеже, пользователю остается проставить недостающие размерные линии.
ІЗ IndorDraw - [Р:\3наки.RDW]
ЛИТЕРАТУРА
1. Бойков В.Н., Петренко Д.А., Люст С.Р., Скворцов А.В. Система проектирования автомобильных дорог IndorCAD/Road // Вестник ТГУ. 2003. № 280. С. 350-353.
2. Бойков В.Н., Шумилов Б.М. Сплайны в трассировании автомобильных дорог. Томск: ЦНТИ, 2001. 164 с.
3. Скворцов А.В., Субботин С.А. Универсальная технология отображения условных знаков // ИНПРИМ-98 (Матер. Междунар. конф.). Ч. V. Новосибирск, 1998. С. 66.
Статья представлена кафедрой теоретических основ информатики факультета информатики Томского государственного университета, поступила в научную редакцию 15 мая 2003 г.