Как в автокаде сделать дорогу
Руководитель направления «Инфраструктура и ГИС» компании
«АйДиТи», авторизованный инструктор Autodesk.
Инженер-аэрофотогеодезист по образованию, специалист с 10-летним стажем работы в области инженерно-геодезических изысканий, руководитель проектов внедрения САПР и ГИС в ряде проектно-изыскательских организаций.
Время не стоит на месте. Там, где еще вчера были поля и пустыри, сегодня появляются новые жилые микрорайоны, торговые центры, школы и больницы, промышленные площадки. Широкомасштабное освоение прилегающих к городам территорий требует развития и транспортной сети. Поскольку в настоящее время доминирующим видом транспорта является автомобильный, грамотное и продуманное проектирование автомобильных дорог имеет колоссальное значение для качественного развития городского пространства с учетом текущих потребностей и дальнейших перспектив.
Проектирование таких сложных технических сооружений, как автомобильные дороги, всегда было непростым процессом, требующим всестороннего анализа самых разных факторов. В современном мире дороги должны иметь хорошие транспортноэксплуатационные характеристики, обеспечивать высокую безопасность движения, и при этом возводиться с минимально возможными строительными затратами и материалоемкостью. Сроки выполнения проектов сжатые, требования к качеству высокие. В этих условиях решающую роль играет выбор технологий и инструментов, используемых для проектирования.
Цифровая модель рельефа, созданная на основе двумерной топосъемки
На протяжении уже почти двух десятков лет большинство автомобильных дорог проектируется с помощью систем автоматизированного проектирования (САПР), представляющих собой комплекс методических, информационных и программных средств, организационно взаимосвязанных с подразделениями проектноизыскательского предприятия. Автоматизированное проектирование позволяет разработать и выпустить проектносметную документацию, обладающую уровнем качества, недостижимым средствами традиционного проектирования. Сегодня на рынке САПР для проектирования автомобильных дорог предлагаются различные решения, различающиеся стоимостью, набором функциональных возможностей, эксплуатационными характеристиками, удобством и простотой внедрения и обучения, способностью обеспечивать интеграцию с другими средствами, создавать выходную документацию в соответствии с требуемыми нормами и правилами и т.д. В данной статье вашему вниманию предлагается обзор возможностей САПР от лидера рынка — компании Autodesk. Система автоматизированного проектирования объектов инфраструктуры AutoCAD Civil 3D представляет собой инновационное решение, впитавшее передовые и перспективные разработки, инструмент, на котором остановили свой выбор тысячи проектных организаций в нашей стране и во всем мире. Очевидным преимуществом решения является единая динамическая среда проектирования, построенная на основе широко известной и используемой платформы AutoCAD.
Система автоматизированного проектирования AutoCAD Civil 3D позволяет выполнять любые стадии проектов строительства, реконструкции и ремонта автомобильных дорог всех категорий. Структурно процесс проектирования с помощью данной системы можно разбить на следующие основные этапы:
- подготовка цифровой модели местности (ЦММ);
- определение трассы дороги в плане и профиле;
- трехмерное моделирование автомобильной дороги;
- расчет объемов работ и создание выходной документации.
Начнем с первого этапа. Эффективное применение AutoCAD Civil 3D для подавляющего большинства инфраструктурных проектов немыслимо без подготовленной информации о местности в виде цифровой модели, включающей сведения о границах землепользования, геометрическом положении и характеристиках существующих объектов инфраструктуры — автомобильных и железных дорогах, инженерных коммуникациях, зданиях и сооружениях и т.п., а также о природных объектах — заболоченных участках, реках и других водоемах, лесных массивах и, конечно же, рельефе. Цифровая модель рельефа (ЦМР) является базой, на которой строится вся динамическая модель проекта дороги. ЦМР используется для создания продольных профилей линейных сооружений, является целевым объектом для определения проектных откосов и профилирования. По готовой поверхности существующего рельефа легко определить черные отметки в любой требуемой точке, быстро и точно подсчитать объемы земляных работ.
Трассы, построенные с помощью инструментов компоновки
Компетенция компании «АйДиТи» — комплексная интеграция систем автоматизации по всем направлениям проектноконструкторской деятельности. «АйДиТи» сотрудничает с государственными, муниципальными и коммерческими заказчиками, работающими в различных сферах: нефтегазовой отрасли и энергетике, объектах инфраструктуры и геоинформационных системах, архитектуре и строительстве, промышленном производстве и машиностроении, приборостроении и радиоэлектронике, электротехнике и автоматике, анимации и графике. Компания осуществляет:
- поставки широкого спектра продуктов и решений:
систем автоматизированного проектирования и геоинформационных систем,
системного, офисного, антивирусного и иного прикладного программного обеспечения;
- консалтинг и внедрение САПР и ГИС;
- обучение в авторизованном учебном центре;
- техническую поддержку по работе с программным обеспечением.
Компания «АйДиТи» отмечена партнерскими статусами ведущих мировых производителей программного обеспечения: золотой партнер Autodesk, Microsoft, Corel, партнер IBM, Symantec, Adobe, ABBYY, Kaspersky Lab, Embarcadero и многими другими. Полноценное региональное присутствие обеспечивает нашим заказчикам одинаково полный спектр продуктов и услуг по всей территории России. Центральный офис «АйДиТи» находится в Москве; региональные представительства — в СанктПетербурге, Екатеринбурге, Новосибирске и РостовенаДону; работают также представители в Казани, Томске, Тюмени, Сургуте и Пятигорске.
Многие инженерыпроектировщики, работающие в AutoCAD Civil 3D, уже сегодня получают в качестве исходных данных готовую ЦМР. Ее могут предоставить как изыскатели, также применяющие AutoCAD Civil 3D (в программном комплексе предусмотрен развитый модуль для обработки данных полевой съемки и подготовки топографической основы), так и геодезисты, использующие другие САПР (в виде объектов чертежа AutoCAD — 3Dграней). Но не везде и не всегда получение трехмерной геоподосновы представляется возможным. И тогда, перед тем как приступить непосредственно к своей работе, инженерыпроектировщики вынуждены тратить время и силы на подготовку исходных данных. В функциональных возможностях программного решения имеется набор средств и инструментов, позволяющих сформировать ЦМР по любым исходным данным. Объем работ по подготовке непосредственно зависит от характера этих самых исходных данных. В худшем случае можно представить отсканированный бумажный план, с которого придется долго и мучительно считывать горизонтали и высотные отметки, превращая их в векторную графику. В лучшем случае в качестве исходных могут быть получены чертежи в форматах DGN, DXF или DWG с 3Dобъектами — точками, дугами, отрезками, двумерными или трехмерными полилиниями. Создать по таким чертежам поверхность существующего рельефа в AutoCAD Civil 3D можно за считаные минуты. Тем не менее хочется отметить, что любые издержки, связанные с подготовкой исходных данных, с лихвой компенсируются дальнейшим упрощением выполняемых проектных работ.
Продольный профиль по оси автомобильной дороги
Выбор трассы автомобильной дороги предопределяет ее протяженность, размещение капитальных дорожных сооружений, стоимость выполнения строительных работ, характеристики движения автотранспорта. На стадии концептуального проектирования прорабатывается несколько вариантов прохождения трассы с конкурентными техникоэкономическими показателями, построенных с учетом природных факторов: особенностей рельефа, водных препятствий, участков, неблагоприятных для строительства, а также факторов, обусловленных человеческой деятельностью. С применением САПР AutoCAD Civil 3D стало гораздо легче правильно оценить условия, в реальные сроки принять верные решения по трассе прохождения будущей автомобильной дороги. Возможности динамической среды программного комплекса со взаимосвязанными элементами позволяют оперативно и качественно проработать множество вариантов. В качестве примера можно привести отечественную организацию, проектирующую тоннели и другие сложные транспортные объекты, в которой с переходом на САПР AutoCAD Civil 3D в те же сроки успевают дать всестороннюю оценку не двумтрем вариантам, как раньше, а четыремпяти.
Автоматически созданная трехмерная модель перекрестка
Динамическая модель автомобильной дороги
После обоснования принятия трассы автомобильной дороги выполняется комплекс изысканий. И уже по уточненным детализированным данным о местности по полосе топографической съемки с учетом выявленных геологических, гидрологических и метеорологических критериев формируется конечная осевая дороги. С помощью широкого спектра инструментов трассирования в среде AutoCAD Civil 3D возможно выполнить определение трассы как традиционным и наиболее распространенным методом полигонального или тангенциального трассирования, так и более прогрессивным методом «гибкой линейки», или клотоидного трассирования. Возможно преобразование в объекты Civil 3Dтрассы обычных примитивов AutoCAD: отрезков, дуг или полилиний с автоматическим вписыванием в вершины углов кривых заданного радиуса. Возможно создание трасс оптимального вписывания по данным топографической съемки и других объектов, что весьма полезно при выполнении проектов ремонта или реконструкции существующих дорог и городских улиц. Но набольший интерес в арсенале средств AutoCAD Civil 3D представляют инструменты компоновки, содержащие превосходный набор команд и элементов, позволяющих легко и быстро создать трассу с корректной геометрией, да еще и с автоматической проверкой на соответствие нормативным критериям проектирования. Элементы — линии, дуговые и переходные кривые и их разнообразные сочетания — имеют различные типы связей и методы определения. В инструментах компоновки имеются команды управления вершин углов точек пересечения, табличные редакторы как всей трассы, так и отдельных ее частей.
Оформление трасс управляется стилями объектов и наборами меток — динамических аннотаций, отображающих реальные характеристики объекта: пикетаж, геометрические точки, рубленые пикеты, проектные скорости и т.п. Кроме того, возможно создание меток по определенным пользовательским точкам, вершинам углов, элементам геометрии трассы.
Визуализация трехмерной модели спроектированного в AutoCAD Civil 3D-объекта
Плановое положение трассы необходимо определять и с учетом рельефа местности. В AutoCAD Civil 3D за секунды можно создать профиль поверхности существующего рельефа, который будет динамически обновляться с изменением трассы. Продольный профиль состоит из самого разреза рельефа — объекта «Профиль», сетки профиля — объекта «Вид профиля» и «Областей данных» — подпрофильной таблицы. Настройки внешнего вида задаются стилями этих объектов и соответствуют требованиям нормативных документов, регламентирующих оформление.
Проектный профиль автомобильной дороги создается с помощью инструментов компоновки профиля. Как и при определении планового положения трассы, проектирование осуществляется с учетом нормативных критериев. С помощью файлов, входящих в поставку программы, можно выполнять контроль проектных решений на соответствие СНиП 2.05.0285. При необходимости можно с легкостью формировать пользовательские файлы проверок, задействуя специальный редактор. Инструменты компоновки продольного профиля позволяют создавать прямолинейные и дуговые элементы с различными типами связей по параметрам (длина, радиус, точка прохождения и т.д.), преобразованию из объектов AutoCAD (отрезок, сплайн) или через табличный ввод данных. В инструментах содержатся средства управления точками вертикального пересечения, команды редактирования высотного положения участков профиля, увязки с другими трассами и др.
Третий этап — трехмерное моделирование автомобильной дороги — начинается с определения типовых поперечных профилей (конструкций). Конструкции собираются из элементов, присоединяемых к базовой линии (линии трассы). В поставку программного комплекса включена обширная библиотека элементов конструкций, представляющих собой элементы земляного полотна (выход на рельеф, звенья по смещениям, уклонам и т.п.) и дорожной одежды (многослойные полосы движения, обочины, тротуары и т.д.). Имеются элементы для искусственных сооружений, подпорных стенок, водоотвода. Элементы конструкций имеют входные параметры (ширина, толщина, поперечный уклон…) и целевые параметры (возможность определения планового и высотного положения из характеристик других объектов — трасс, профилей, характерных линий и объектов AutoCAD). Многие элементы обладают интеллектуальным поведением. Например, стандартный выход на рельеф можно настроить таким образом, чтобы в зависимости от возвышения проектного профиля над черным устанавливалась разная крутизна откоса, на крутых участках насыпи вставлялось ограждение, а в выемке задавался кювет с определенными параметрами. Если в библиотеке нет нужных элементов, из примитивов чертежа можно создать свои пользовательские. Элементы конструкций содержат в себе наборы кодов. При моделировании дороги создается объект «Коридор». Конструкции с определенным шагом расставляются вдоль трассы в плане и продольного профиля по высоте. Точки конструкций с одноименными кодами объединяются и формируют линии (края проезжих частей, замощенных и незамощенных обочин, бровки и подошвы откосов и т.п.). Коды звеньев элементов конструкций задействуются для определения поверхностей по модели дороги — вертикальной планировки (верх дорожной одежды), земляного полотна и др. Коридоры могут состоять из нескольких базовых линий (совокупностей трасс и профилей) для моделирования сложных транспортных объектов — магистралей с разделенными полосами, развязок. Отдельно стоит упомянуть уникальный модуль создания перекрестков. В считаные секунды с помощью удобного мастера в AutoCAD Civil 3D автоматически формируются трехмерные модели пересечений в одном уровне.
Динамическая среда программного комплекса позволяет инженерампроектировщикам работать с единой моделью автомобильной дороги. При внесении изменений в любую составляющую проекта — трассу, продольный профиль, конструкцию — будут обновляться и общая модель коридора, и все построенные на основе коридора или взаимосвязанные с ним объекты. Для многих проектных организаций именно эта особенность AutoCAD Civil 3D стала ключевой при принятии решения о переходе на использование данной САПР. Ведь не бывает проектов, не требующих исправлений и корректировок. Изменения неизбежны, а их учет в других программных средствах требует от инженеров массы времени и сил — порой проект приходится переделывать чуть ли не заново.
Динамическая среда AutoCAD Civil 3D позволяет автоматически обновлять не только модель проекта, но и выходные чертежи и результаты расчетов. Расчет объемов земляных работ осуществляется по осям сечений и поверхностям черной земли и коридора. Кодам форм элементов конструкций могут быть заданы материалы дорожной одежды, облицовки и других элементов дороги (асфальтобетон, песок, гравий и т.д.). Затем инструментами подсчета объемов определены их объемы для строительства инфраструктурного проекта. По осям сечений также оформляются необходимые для выпуска проекта поперечные профили в требуемом внешнем виде, разбитые на листы для вывода на печать. Механизм автоматизированного формирования выходных чертежей позволяет осуществить нарезку листов плана и продольного профиля трассы по шаблонам. В шаблонах листов имеются компоновки форматов, масштаба печати, рамочного оформления.
Возможности программного комплекса AutoCAD Civil 3D огромны, а формат журнальной статьи, к сожалению, ограничен. За пределами публикации осталось многое: удобная работа с виражами, автоматическое создание уширений, тоннели и многоуровневые развязки, специальные инструменты для проектов реконструкции и ремонта и т.д. Более подробно узнать о функциях САПР, реальном опыте применения, организации коллективной работы и внедрения AutoCAD Civil 3D можно на регулярных мероприятиях, проводимых в учебном центре компании
«АйДиТи», — семинарах и тестдрайвах, в том числе и с помощью дистанционных средств вещания (вебинаров).
Мультилиния — один из старейших инструментов в AutoCAD, который позволяет упростить работу. К сожалению, сами разработчики этот инструмент «запрятали» далеко и не все знают о его существовании.
Мультилиния — это набор параллельных линий, создающихся одновременно с помощью одной команды. Количество линий, входящих в одну мультилинию, может варьироваться от 2 до 16. С помощью мультилиний удобно рисовать планы помещений, трубопроводы, автодороги и прочие.
Команда создания мультилинии — МЛИНИЯ (_MLINE). Процесс создания ничем не отличается от создания отрезков, также есть опции Отмена и Замкнуть
У самой команды доступны опции:
- Расположение — управляет точкой привязки мультилинии — Верх, Центр или Низ
- Масштаб — задает масштаб мультилинии относительно исходного, заданного в стиле
- Стиль — задает стиль мультилинии. Стиль Standart установлен по-умолчанию и состоит из двух сплошных линий с расстоянием 1 между собой
Видом мультилинии управляет стиль мультилинии. Диспетчер стилей мультилиний запускается командой МЛСТИЛЬ (_MLSTYLE). В стиле мультилинии можно задать следующие свойства:
- Элементы. В этой области мы задаем линии, из которых будет состоять мультилиния. У каждой линии есть параметр Смещение — он определяет смещение линии от центральной оси мультилинии, Цвет и Тип линий.
- Торцы. Для обработки торцов мультилиний можно выбрать нужный способ, например Отрезок, тогда все мультилинии будут замкнуты отрезками на концах
- Заливка — позволяет установить цвет заливки внутренней части мультилинии
- Показать стыки — позволяет прорисовать отрезки на изгибах мультилинии
Есть две особенности при работе со стилями мультилиний: нельзя поменять стиль у уже нарисованной мультилинии и нельзя изменить стиль, если он используется хотя бы в одной мультилинии на чертеже.
Для нанесенных на чертеж мультилиний доступна команда редактирования МЛРЕД (_MLEDIT), также ее можно вызвать по двойному щелчку на мультилинии. С помощью нее можно легко обработать пересечения мультилиний, добавить вершины, обрезать часть линий из состава
Рассмотрим использование мультилинии на двух примерах — построение плана помещения и построение автомобильной дороги.
План помещения
- Создаем два стиля мультилинии OUT и IN. Для стиля OUT задаем расстояние между двумя линиями равным 20, т.е. задаем смещение первой линии 10 от центра, второй минус 10 от центра — в сумме получаем 20
Для стиля IN задаем расстояние между линиями равным 10 (по 5 на каждую сторону)
- Мультилинией со стилем Out создаём внешний контур стен и несущие перегородки, стилем IN — внутренние стены
- Обработаем пересечения мультилиний. Дважды щелкаем на одну из мультилиний, выбираем инструмент Открытое Т, выбираем первую мультилинию (в нашем случае вертикальную) и вторую. Получаем обработанное пересечение
Также обрабатываем остальные пересечения. получаем нужный нам план помещения
Для отсечения части мультилинии с целью получения проемов воспользуемся инструментом редактирования Обрезать все — необходимо указать две точки на мультилинии, обрежется все, что между ними
Автомобильная дорога
- Создадим два стиля. В первом создадим двухполосную дорогу с тремя линиями — одна штриховая по центру (смещение 0) и две сплошные со смещением 1
Во втором — опишем четырехполосную дорогу, состоящую из шести линий: две сплошные со смещением 0,5, две штриховые со смещением 2,5 и две сплошные со смещением 4,5.
Проектирование автодороги коттеджного поселка выполнялось в полосе, определенной с учетом возможности проезда различных типов транспортных средств, размещения инженерных коммуникаций и очистных сооружений, а также обеспечения съездов к участкам. С целью свести объем работ к минимуму был принят пилообразный тип продольного профиля.
Для дороги был выбран двускатный конструктивный поперечный профиль с бортовыми камнями, тротуарами и газонами (рис. 1).
При проектировании дороги, которое выполнялось в несколько этапов, использовалась программа AutoCAD Civil 3D 2011.
Рис. 1. Конструктивный поперечный профиль
Проектирование плана трассы дороги
Посередине полосы дороги была построена полилиния, определяющая плановое положение ее оси.
Посредством команды Создать трассу из объектов полилиния была преобразована в объект «Трасса Civil 3D» и отображена на чертеже с помощью шаблона по ГОСТ. После преобразования полилинии в трассу программа автоматически разбила пикетаж и проставила подписи по трассе в соответствии с выбранным стилем.
В связи с особенностями построения коридора в Civil 3D во все вершины трассы были вписаны кривые. Для выполнения этой операции использовался инструмент редактирования геометрии трассы.
Всего на первом этапе были созданы три трассы, проходящие по всем участкам дороги, и две трассы, проходящие по краям проезжей части (рис. 2).
Рис. 2. Трассы по автомобильной дороге
Проектирование продольного профиля
По созданным трассам были получены продольные профили по существующему рельефу. Для отображения видов профилей в чертеже использовался стиль ГОСТ Р 21.170197 Автомобильные дороги.
Для создания проектного профиля применялась команда Создать профиль по компоновке (в режиме создания прямых участков без кривых) и прозрачные команды Профиль, уклон и пикет, Профиль по уклону и отметке, Профиль, уклон и длина. С помощью прозрачных команд удалось достаточно быстро создать проектный профиль, задавая проектные значения уклонов и отметок. Работу по созданию проектного профиля существенно упростили рабочие отметки, представляющие собой динамические метки вида профиля. После построения очередного участка профиля можно было увидеть рабочие отметки на этом участке и, при необходимости, скорректировать его. Проектный профиль строился таким образом, чтобы минимизировать объемы земляных работ.
По завершении этого этапа отображение проектных профилей в чертеже приобрело законченный вид (рис. 3) с заполненной подпрофильной таблицей.
Рис. 3. Продольный профиль
Проектирование конструкции дороги
Для построения 3Dмодели (коридора) автодороги необходимо было создать динамический объект «Конструкция Civil 3D» в соответствии с выбранной типовой конструкцией дороги. При решении этой задачи использовались стандартный элемент НаружнаяПолосаВиража из библиотеки элементов конструкций и ряд специально созданных элементов. Для стандартных элементов конструкций в программе можно задавать свои значения параметров: толщину слоев дорожной одежды, поперечный уклон, ширину полосы и т.д.
Благодаря возможностям Civil 3D по преобразованию полилиний в пользовательские элементы конструкций создание таких элементов не составляет труда. По созданным пользовательским элементам были заданы коды точек, звеньев и форм, в дальнейшем использованные при построении коридора и вычислении объемов материалов (рис. 4). Из стандартных и пользовательских элементов были сформированы конструкции (рис. 5).
Рис. 4. Пользовательские элементы конструкций
Рис. 5. Конструкции
Civil 3D позволяет сохранять уже созданные конструкции и создавать собственные пользовательские библиотеки, содержащие часто применяемые типовые решения.
Тротуары и газоны в коридоре не учитывались.
Построение коридора
При построении коридора использовались ранее созданные трассы, проектные профили и конструкции. Коридор создавался в несколько этапов: сначала были построены участки дороги с примыканиями, но без съездов, а затем добавлены недостающие области.
Учитывался тот факт, что в торцах съездов к земельным участкам не должно быть бортовых камней. В коридоре эти съезды определялись в виде отдельных областей.
Для построения коридора в области примыкания дорог применялась команда Создать перекресток, которая позволяет с помощью Мастера настроить все параметры проектируемого примыкания или пересечения дорог (радиусы закруглений, параметры поворотных полос и т.д.) и выбрать набор конструкций. На основе принятого типового решения для проекта был разработан и сохранен специальный набор конструкций. Сохраненные наборы очень удобно использовать при проектировании перекрестков и примыканий. Посредством специального ссылочного XMLфайла они подгружаются в чертеж и применяются в соответствующих областях коридора на участке примыкания.
Примыкание создавалось как часть общего коридора дороги, что позволило использовать его для создания единой поверхности по земляному полотну, а в дальнейшем — для вычисления объемов земляных работ и материалов (рис. 6).
Рис. 6. Примыкание в коридоре дороги
Создание поверхности коридора и вычисление объемов земляных работ и материалов
Располагая построенной моделью дороги, в Civil 3D можно создать поверхность по любому коду, имеющемуся в конструкции. В проекте была создана поверхность по земляному полотну.
Для корректного построения поверхности требовалось указать ее границы. Это было сделано в интерактивном режиме указанием характерных линий коридора, через которые должна проходить граница. Всего были созданы две границы: одна по внешнему контуру дороги, вторая по внутреннему, образуемому участками в центральной части поселка. Поверхность была отображена на чертеже в виде проектных горизонталей.
Для вычисления объемов по трассам были разбиты оси сечений с шагом 20 м (рис. 7).
Рис. 7. Оси сечений с шагом 20 м
Рис. 8. Таблица с объемами земляных работ
Объем земляных работ получен с помощью команды Вычислить материалы и стандартного критерия Земляные работы. Для вычисления достаточно указать существующую и проектную поверхности. Результат был вставлен в чертеж в виде динамической таблицы. С использованием той же команды и собственного критерия вычисления объемов работ были подсчитаны объемы всех материалов, заложенных в конструкции (рис. 8 и 9).
Рис. 9. Таблица с объемами песка
Получение чертежей поперечных профилей
Для получения поперечных профилей применялись те же оси сечений, что и для вычисления материалов. При вставке поперечных профилей в чертеж использовались стили по ГОСТ.
На мой взгляд, разработчики незаслуженно убрали команду мультилиния из последних версий Автокад. Этот инструмент многофункционален и может быть использован в различных областях проектирования. При помощи мультилинии мы можем создавать многослойные стены в архитектуре, рисовать дороги, трубопроводы системы отопление и теплоснабжения, воздуховоды систем вентиляции.
Давайте, вернем мультилинию на ленту и познакомимся с ней более подробно.
Итак, в этой уроке мы рассмотрим следующее:
Добавление команды «Мультилиния» на ленту.
Перейдите на вкладку « Управление » выберите команду « Пользовательский интерфейс ». См. Рис. 1.
Рис. 1. Команда «Пользовательский интерфейс».
Откроется окно «Адаптация пользовательского интерфейса».
Щелкните [+] напротив надписи « Лента ». Зачем по [+] напротив « Вкладки », по [+] напротив « Главная 2D » и выберите строку « Главная 2D — Рисование ».
Справа вверху появится панель инструментов «Главная 2D — Рисование».
Чтобы найти команду «Мультилиния», слева внизу в окне «Список команд» набираем « мультилин ». Ниже появятся команды, которые мы и поместим на панель «Главная 2D — Рисование».
Справа вверху щелкните на изображение кольца . См. Рис. 2
Рис. 2. Окно «Адаптация пользовательского интерфейса».
Слева вверху станут видны команды панели «Главная 2D — Рисование». Помещаем курсор мыши на команду « Мультилиния » нажимаем левую кнопку мыши, и не отпуская ее, тащим под команду «Кольцо» и только там отпускаем. Тоже самое делаем с командой « Стиль мультилиний ». См. Рис. 3.
Рис. 3. Добавляем команды на па панель инструментов.
В результате на панели «Главная 2D — Рисование» появятся две новые команду. Нажимаем ОК . См. Рис. 4.
Рис. 4. Новые команды на панели инструментов.
Таким образом, мы можем добавлять на «Ленту” любые команды.
Создание нового стиля мультилинии.
Мультилиния в Автокаде может быть использоваться в различных областях проектирования. В данной статье мы рассмотрим одну из них. Мы создадим мультилинию для прорисовки воздуховода (трубопровода).
Перейдите на вкладку « Главная », щелкните по надписи «Рисование» и выберите команду « Стиль мультилинии… ». См. Рис. 5.
Рис. 5. Команда «Стиль мультилинии…».
Откроется окно «Стиль мультилиний». Нажмите на кнопку « Создать ». В окне «Создание стиля мультилинии» введите имя нового стиля (« New ») и нажмите кнопку « Продолжить ». См. Рис. 6.
Рис. 6. Окно «Стиль мультилиний»
Откроется окно «Новый стиль мультилинии: NEW». Поставьте галочки напротив надписи отрезок, что замкнуть концы нашего воздуховода. Нажмите на кнопку « Добавить », чтобы добавить центральную линию. См. Рис. 7.
Рис. 7. Создание нового стиля мультилинии.
Выделите центральную линию, поменяйте цвет ( Фиолетовый ) и тип линии ( Осевая ) и нажмите ОК . См. Рис. 8.
Рис. 8. Изменяем цвет и тип линии.
Будет создан новый стиль мультилинии «NEW», образец которого можно посмотреть в нижней части окна. Нажмите на кнопку « Установить », чтобы сделать стиль мультилинии «NEW» текущим. Затем кнопку ОК . См. Рис. 9.
Рис. 9. Новый стиль мультилинии.
Добавление мультилинии в чертеж.
Теперь давайте нарисуем воздуховод диаметром 250 мм.
Выберите на панели команду « Мультилиния ». См. Рис. 10.
Рис. 10. Команда «Мультилиния».
Далее смотрим в командную строку: Выберите вначале « Расположение » , затем « Центр », чтобы при построении мы указывали центральную линию воздуховода. См. Рис. 11.
Рис. 11. Расположение направляющей линии.
Затем выбираем « Масштаб », вводим 250 и нажимаем (или пробел). См. Рис. 12.
Рис. 12. Задаем масштаб мультилинии.
Далее указываем несколько точек в рабочем окне Автокад. Команда нарисует нам воздуховод диаметром 250. См. Рис. 13.
Рис. 13. Воздуховод диаметром 250.
Создавая различные стили мультилиний, можно найти множество применений этой без сомнения интересной функции. Но нам как программистам, хотелось бы создавать такие стили программным путем. В этом случаи, их можно будет включить в свои программы и с легкостью переносить с одного компьютера на другой.
Создание стиля мультилинии программным путем.
Откройте редактор Visual LISP (введите в командной строке VLIDE и нажмите < Enter >). Стиль мультилинии мы будем создавать при помощи функции entmakex , которая создает новый примитив или не графический объект по списку с данными. В общем случаи функция выглядеть так:
Для создания списка нам понадобятся DXF-коды стиля мультилиний. Давайте посмотрим их в справочной системе. См. Рис. 14.
Рис. 14. Справка MLINESTYLE (DXF).
Внимательно изучив DXF-коды, составляем следующий список:
Коды 49, 62, и 6 задаются три раза, для каждой линии отдельно.
При помощи setq cохраним наш список в переменной mlList . См. Рис. 15.
Рис. 15. Список стиля мультилиннии.
Теперь по этому списку мы должны создать новый стиль мультилинии и добавить его в словарь мультилиний Автокад.
Вначале давайте определим имя, которое Автокад присвоил словарю мультилиний.
Чтобы определить имя корневого словаря не графических объектов используем функцию
Чтобы получить характеристики словаря мультилиний используем функцию dictsearch:
( dictsearch (namedobjdict) «ACAD_MLINESTYLE» )
Возвращает: Список словаря мультилиний.
В этом списке хранится информация о всех созданных стилях мультилиний (DXF-код 3).
Чтобы извлечь элемент с DXF-кодом -1 ( с именем словаря мультилиний), используем функции assoc :
Возвращает: элемент с DXF-кодом -1
Чтобы избавиться от первого элемента точечной пары используем функцию cdr :
Возвращает: имя словаря мультилиний
Сохраним имя словаря мультилиний в переменной mlDict :
И наконец, создаем новый стиль:
И при помощи функции dictadd добавляем его в словарь мультилиний:
Вставим выше сказанное в программу. См. Рис. 16.
Рис. 16. Добавляем новый стиль в словарь мультилиний.
Данный код создает стиль мультилинии и добавляет его в словарь мультилиний.
Чтобы не возникало ошибок, при добавление стиля, который уже есть в словаре, нам необходимо провести проверку наличия стиля в словаре:
Создадим точечную пару:
Затем при помощи функции member проверим, если в Автокаде стиль с таким именем:
( member (cons 3 «VENK») (dictsearch (namedobjdict) «ACAD_MLINESTYLE») )
Если (3 . «VENK») нет в списке словаря мультилиний (dictsearch (namedobjdict) «ACAD_MLINESTYLE»), то функция member вернет nil
Если есть, то функция member вернет остаток списка, начиная и указанного элемента.
Таким образом, если функция member
возвращает nil — нам нужно добавить новый стиль,
если список – стиль добавлять не надо.
При помощи функции if добавим условия проверки на nil :
Поскольку выражений несколько, добавляем функцию progn
Добавляем выше сказанное. См. Рис. 17.
Рис. 17. Проверка наличия стиля в словаре.
Выделите весь текст программы и нажмите « Загрузить выделенных фрагмент ».
Перейдите в Автокад. Нажмите на кнопку «Стили мультилиний». Откроется окно «Стили мультилиний», в котором появился новый стиль « VENK ». См. Рис. 18.
Рис. 18. Новый стиль в окне «Стили мультилиний»
Вернемся в редактор Visual LISP и при помощи функции defun преобразуем нашу программу в пользовательскую функцию:
В начале программы добавим строку, в которой придумаем имя новой команды ( SMLK ) и перечислим все временные переменные:
В конце программы добавим закрывающую скобку.
Не забудьте сохранить программу.
Окончательный вариант программы см. Рис. 19.
Рис. 19. Пользовательская функция создания стиля мультилинии.
Что вызвать нашу пользовательскую функцию, используем имя функции в скобках:
И в заключении давайте напишем небольшую программу, вставляющую в чертеж мультилинию.
LISP программа добавления мультилинии.
Программу будем создавать в этом же файле, где наша пользовательская функция.
Вначале просим пользователя ввести размер воздуховода:
Сохраняем его в переменной Di .
Затем просим указать начальную и конечную точки воздуховода:
Сохраняем их в переменных р1 и р2 .
При помощи пользовательской функции добавляем новый стиль мультилинии:
Запоминаем текущий стиль мультилинии и сохраняем его в переменной Cml :
Делаем текущим наш стиль:
Возвращаем первоначальный стиль мультилинии:
При помощи функции defun преобразуем нашу программу в команду Автокад:
В начале программы добавим строку, в которой придумаем имя новой команды (Vml) и перечислим все временные переменные:
В конце программы добавим закрывающую скобку.
В результате получим программу команды добавления мультилинии. См. Рис. 20.
Рис. 20. Программа добавления мультилинии.
Введите в командной строке « Vml » и нажмите < Enter >.
На запрос «Введите размер воздуховода :» – вводим 200 , нажимаем < Enter >.
Указываем две точку и программа построит воздуховод указанного размера. См. Рис. 21.
Рисю 21. Воздуховод.
Дальнейшим развитием программы может быть:
- Создание диалогового окна для быстрого ввода стандартных размеров;
- Добавление дополнительных данных в мультилинию;
- Чтение дополнительных данных для выноски или составления спецификации и т.д.
Постепенно программу можно превратить в отличного помощника, который будет экономить Вам время.
Если Вам интересны, какие либо направления развитие этой программы пишите о них в комментариях. Рассмотрим их в следующих уроках.
Если у Вас появились вопросы, задавайте.
Я с удовольствием отвечу.
Также пишите в комментариях:
Была ли для Вас полезной информация, данная в этом уроке?
На какие вопросы программирования, Вы хотели бы, увидит ответы в следующих уроках?
Ваши мнения очень важны для меня.
Хотите получать информацию о выходе новых статей. Оформляйте подписку.
До новых встреч.
«Автор: Михаил Орлов»
Также на эту тему Вы можете почитать:
15 комментарии на “ Мультилиния в Автокаде. ”
Спасибо за очередной отличный урок! У меня на работе, никто хорошо не знает автокад, не говоря уже о программировании, приходиться всему учиться самому. Благодаря вашим урокам сдвинулся с мертвой точки в пути по изучению лиспа. Было бы отлично написать простенькую программку по отрисовке воздуховодов. В будущих уроках был бы рад увидеть каким образом проще отрисовать стандартные отводы 45, 90 итп, строить их внутри программы, или вставлять готовый блок и подрезать мультилинии? Пока не знаю как правильно ориентировать отвод при вставке его блоком в зависимости от угла поворота. Каким путем лучше добавить информацию о типоразмере прямоугольного воздуховода для дальнейшей возможности подсчета длин по сортаменту? Как лучше написать функцию для вставки опусков или подъемов, переходов, например при вводе команды О90/П90 пользователем с клавиатуры или ввода отличного размера воздуховода.
Спасибо за внимание!
Спасибо! ОЧень познавательно.
А где посмотреть ВСЕ Свойства Мультитилиний
И как вообще программно поизвращаться с мультилинией, например изменить Координаты одного из ползунков или, еще лучше — Как добавить еще один новый ползунок и возможно ли это без создания новой Млинии на основе имеющейся считыванием координат всех ползунков + добавление координат нового ползунка?
А можно ли, поменять вес отдельных линий, например оссевая 0,13, крайние 0,3?
К сожалению, все линии могут быть только одной толщины.
Здравствуйте, Михаил! Спасибо за ваши уроки!
Вопрос заключается в следующем, Можно ли создать в редакторе Visual LISP, как и в данном уроке, стили мультилиний с добавлением их на чертеж, но при построении отрезка мультилинии определенной длины, прямо на этом отрезке присутствовал, например знак «+», который можно перемещать по всему отрезку мультилинии и при нажатии на который можно было бы сделать «врезку (вставку) в виде прямоугольника» или «другого стиля мультилинии». При этом при нажатии на знак «+» появлялся бы выпадающий список, в котором можно было бы выбрать определенные виды врезаемых отрезков (участков) , например трубы стальные или ПНД со своим диаметром, длиной и указанием их глубины укладки (переменные величины, например 0,7м и 0,9м) . Далее после добавления «врезок» на отрезке мультилинии, итогом был бы вывод данных «атрибутов» строительных длин этих участков, общей длины всех линий, включенных в стиль мультилинии и общая длина труб.
Задача не простая. Но так как я ее понял, я бы скорее всего использовал ни мультилинию,а динамический блок с возможность перемещения и изменения параметров врезки. Параметры изменялись бы путем изменения атрибутов блока.
Здравствуйте, у меня такой вопрос, делаю по аналогии с примером, программу, построения призмы с использованием диалогового окна. Столкнулся с такой проблемой, пытаюсь считать с поля в диалоговом окне значение в переменную, а потом построить точку на какое-то расстояние, от первой точки, у меня ошибка «; ошибка: неверный тип аргумента: stringp nil»
(setq dcl_id (load_dialog "F:\lab2.DCL"))
(if (not (new_dialog "s_tart" dcl_id))(exit))
(action_tile "accept" "(done_dialog 1)")
(action_tile "cancel" "(done_dialog 0)")
(setq ddi (start_dialog))
(unload_dialog dcl_id)
(setq H (atoi (get_tile "Pir_h")))
(defun lab(p1)
(setq p1 (getpoint "\n Укажите точку" ))
(setq p2( polar p1 0 H))
(command "_line" p1 p2 "")
)
(if (= ddi 1) (lab Raz)
Присвоение переменной значение из диалогового окна
Лучше осуществлять в момент нажатия клавиши ОК
Сделайте функцию:
(defun reH ( / )
(setq H (atoi (get_tile "Pir_h")))
)
И вставьте ее в нажатие ОК:
Спасибо огромное. У меня вопрос такой: как рисовать мультилинию, что бы получилось как полевая и лесная дорога 1:2000 масштаба.
Спасибо за урок. А как можно нарисовать мультилинию по списку координат, а не по двум точкам? В каком виде эти координаты присвоить переменной?
Любой чертеж может быть разбит на простейшие элементы, которые в Автокад называются примитивы. И первый примитив, с которым мы познакомимся, называется отрезок.
В этом уроке мы рассмотрим следующее:
Как построить отрезок?
Команду отрезок можно запустить несколькими способами:
1) Набрать на клавиатуре ОТРЕЗОК (большими или маленькими буквами – это не важно) и нажимаем . Причем в последних версия Автокад достаточно набрать только ОТ . Когда вы набираете команду с клавиатуры, при наборе первых букв от командной строки открывается список команд, и если в нем подсвечена нужная вам команда, то дальше ее набор можно не делать. В нашем случаи набираем ОТ и нажимаем . Также вместо команды ОТРЕЗОК можно набрать _LINE ;
2) Подвести указатель мыши на команду отрезок на панели «Рисование» и щелкнуть левой кнопкой мыши;
Если чуть дольше подержать указатель мыши, то всплывет более подробная подсказка.
Большинство пользователей используют второй способом.
После того, как мы запустили команду, в командной строке появиться запрос: «ОТРЕЗОК Первая точка :», который просит нас задать первую точку отрезка.
Самый простой способ задание точки отрезка – это указать ее в рабочем поле Автокада и нажать на левую кнопку мыши. При выборе точки, можно ориентироваться на координаты в левом нижнем углу.
После задания первой точки Автокад выдаст следующий запрос: «ОТРЕЗОК Следующая точка или [о Т менить] :».
Это означает, что либо нужно указать следующую точку отрезка, либо выбрать опцию, указанную в квадратных скобках. В качестве опции Автокад предлагает команду «Отменить», которая отменяет ранее заданную точку (т.е. переходит на шаг назад). Для того, чтобы применить опцию, нужно на клавиатуре набрать букву опции, написанную в верхнем регистре (в нашем случаи это «Т») и нажать . Если так сделать, Автокад отменить только, что указанную точку и снова выдаст запрос: «ОТРЕЗОК Первая точка :»
Если вы указали следующую точку, то на экране появится отрезок и Автокад выдаст следующий запрос: «ОТРЕЗОК Следующая точка или [о Т менить] :».
Это означает, что вы можете продолжать рисовать отрезки, образуя на экране ломаную линию. После того, как вы укажите третью точку, Автокад выдаст следующий запрос: «ОТРЕЗОК Следующая точка или [ З амкнуть/о Т менить] :».
Теперь в запросе появилась еще одна опция «Замкнуть” . Чтобы ее выбрать, вводим с клавиатуры «З» (не важно в каком регистре) и нажамаем . Автокад соединит отрезком последнюю указанную точку с начальной точкой первого отрезка и завершить выполнение команды.
Если указать следующую точку, Автокад продолжить рисовать ломаную и снова выдаст запрос: «ОТРЕЗОК Следующая точка или [ З амкнуть/о Т менить] :». Для того, чтобы завершить команду отрезок нажмите клавишу . Разумеется, нажать на мы могли уже после указания второй точки. Тогда был бы нарисован всего один отрезок.
Есть и другой способ завершения команды. Вместо , когда указатель мыши находится в рабочем поле, нажать на правую кнопку мыши. Появиться контекстное меню, в котором можно выбрать следующий шаг выполнения команды (наводим указатель мыши на нужный пункт в контекстном меню и нажимаем левую кнопку мыши).
При выборе «Ввод» произойдет завершение команды (равносильно нажатию на клавиатуре). При выборе «Отмена» , Автокад прервет выполнение команды (в данном случаи это равносильно пункту «Ввод» ). Пункты «Замкнуть» и «Отменить» равносильно одноименным опциям рассмотренным выше.
Кроме выше сказанного любую команду Автокад можно прервать нажатием на клавиатуре клавиши .
Если нажать вместо указания второй точки. Автокад завершить выполнения команды, не нарисовав ни одного отрезка. Если нажать вместо указания первой точки, то в качестве нее будет принята конечная точка последнего нарисованного отрезка.
Мы рассмотрели способ задание точки отрезка при помощи мыши. Но он не является единственным. Координаты точек отрезка также можно задавать с клавиатуры. Давайте снова запустим команду «ОТРЕЗОК».
После того, как появиться запрос: «ОТРЕЗОК Первая точка :», вводим
Таким образом мы задаем координаты первой точки (X1=100; Y1=50.5). Запятая является разделителем координат X и Y, а точка отделяет целую часть от дробной.
При запросе: «ОТРЕЗОК Следующая точка или [о Т менить] :», вводим
Это координаты второй точки (X2=400; Y2=200).
Нажимаем . Автокад нарисует отрезок между первой и второй точкой и запросит следующую: «ОТРЕЗОК Следующая точка или [о Т менить] :».
Вводим координаты третьей точки и Автокад нарисует ломаную или нажимаем для завершения команды.
Как нарисовать отрезок нужной длины и в нужном направление?
Когда мне нужны точные размеры и направления отрезков, я обычно включаю полярное отслеживание. Предварительно настроив его. Для того, чтобы настроить полярное отслеживание находим одноименную кнопку, расположенную в самом низу слева. Включать и выключать полярное отслеживание можно щелкая левой кнопкой мыши на этой кнопки или нажимая клавишу F10 .
1) Помещаем на нее указатель мыши и щелкает правую кнопку;
2) Выбираем пункт настройка и щелкаем левой кнопкой мыши;
3) Откроется окно режимы рисования на вкладке отслеживание.
Здесь нам нужно задать шаг углов. Щелкаем левой кнопкой мыши по стрелке вниз и выбираем значение шага угла (для примера я выберу 45). Нажимаем кнопку ОК . Вы уже наверно заметили, что шаг угла можно было назначить и не входя в настройки. Но в окне режимы рисования мы можем назначить шаг угла, отличный от предлагаемых значений.
Теперь Автокад будет отслеживать направление рисование отрезка с шагом 45 градусов.
Давайте теперь попробуем нарисовать параллелограмм указанный на рис.1
1) Запускаем команду отрезок;
2) На запрос: «ОТРЕЗОК Первая точка :». В любом месте рабочего поля задаем первую точку. Появится запрос «ОТРЕЗОК Следующая точка или [о Т менить] :»;
3) Вращая указателем мышки вокруг первой точки, находим направление 45 градусов.
Вводим на клавиатуре 200 и нажимаем .
Автокад нарисует отрезок длиной 200 в направлении, образующем с Осю «X» 45 градусов. Снова появится запрос «ОТРЕЗОК Следующая точка или [о Т менить]: »;
4) Находим направление 0 градусов.
Вводим на клавиатуре 300 и нажимаем . Из второй точки Автокад нарисует отрезок длиной 300 в направлении, образующем с Осю «X» 0 градусов. Появится запрос «ОТРЕЗОК Следующая точка или [Замкнуть/о Т менить]:»;
5) Находим направление 225 градусов.
Вводим на клавиатуре 200 и нажимаем . Из третьей точки Автокад нарисует отрезок длиной 200 в направлении, образующем с Осю «X» 225 градусов. Появится запрос «ОТРЕЗОК Следующая точка или [Замкнуть/о Т менить]:»;
6) Вводим с клавиатуры «З» и нажимаем . Автокад проведет отрезок из четвертой точки в первую и завершит команду.
Как изменить длину отрезка в Автокаде.
Чтобы изменить длину отрезка, щелкните по нему левой кнопкой мыши, так чтобы он выделился, и на нем появились ручки.
Затем щелкните по ручке, стой стороны, с которой хотите изменить длину, так чтобы она стала красной, и отведите курсор мыши в сторону удлинения (уменьшения). Введите с клавиатуры 100 и нажмите .
Отрезок изменить свою длину в указанном направление на 100.
Если нам надо, переместить отрезок на заданную длину (например на 200). Выделите отрезок, щелкните по средней ручке, так чтобы она стала красной, и отведите курсор мыши в сторону желаемого перемещения. Затем введите с клавиатуры 200 и нажмите < Enter >.
Отрезок переместиться в указанном направлении на 200.
Как изменить длину нескольких отрезков Автокаде.
Чтобы изменить длину сразу нескольких отрезков, выделите их.
Затем нажмите клавишу < Shift >, и удерживая ее, щелкните по ручках, которые Вы хотите переместить. После того как все необходимые ручки выделены, отпустите клавишу < Shift >(если Вы случайно выбрали не ту ручку, нажмите клавишу < Shift >, и щелкните по ней – выбор отменится)
Теперь снова щелкните по одной из выделенных ручек и отведите курсор мыши в сторону удлинения (уменьшения). Введите с клавиатуры 100 и нажмите < Enter >.
Горизонтальные отрезки удлиняться, а наклонный переместиться на 100 в указанном направлении.
Если перемещать наклонный отрезок не надо, то выделить нужно, только горизонтальные отрезки. Чтобы отменить выделение одного отрезка, клавишу < Shift >, и удерживая ее, щелкните по выделенному отрезку – выделение отменится.
Нажмите клавишу < Shift >, и удерживая ее, щелкните по ручках, которые Вы хотите переместить. После того как все необходимые речки выделены, отпустите клавишу < Shift >. Затем снова щелкните по одной из выделенных ручек и отведите курсор мыши в сторону удлинения (уменьшения). Введите с клавиатуры 100 и нажмите < Enter >.
Удлиняться только горизонтальные отрезки. Наклонный останется на месте.
Чтобы снять выделение с отрезков, нажмите клавишу < Esc >.
Создание отрезка программным путем на языке LISP.
Для тех, кому мало стандартных команд Автокад. Кто хочет создавать свои собственные команды, мы рассмотрим, как нарисовать отрезок при помощи языка программирования LISP. Давайте рассмотрим это пошагово:
1) Запускаем редактор Visual Lisp. Для этого на главном меню выбираем вкладку «Управление» и щелкаем на пункте «Редактор Visual Lisp»
2) В редакторе создаем новый файл: щелкаем на кнопку обведенную красным .
3) И в открывшимся окне набираем текст нашей программы или копируем его из окошка ниже.
4) Cохраняем нашу программу в удобном для вас месте. Я сохраняю ее в папке D:/MyLisp под именем «my_otr»
5) Загружаем нашу программу. Щелкаем по кнопке, выделенной зеленым .
Если программа набрана без ошибок. Ниже в окне «Консоль Visual LISP» появиться надпись о том, что наша программа загружена.
6) Переходим в Автокад. Вводим «my_otr» в командную строку и нажимаем .
Вы наверно спросите, зачем нужна наша команда, рисующая отрезок. Когда в Автокаде уже есть такая же стандартная команда. Дело в том, что в своей программе вы можете за один сеанс нарисовать и более сложные фигуры, которых уже нет в Автокаде.
Если вам это интересно смотрите мой следующий урок: « Пример простой программы на AutoLISP ».
Читайте также: