Как сделать дорогу в автокаде
Использование мультилиний в AutoCAD
Мультилиния — один из старейших инструментов в AutoCAD, который позволяет упростить работу. К сожалению, сами разработчики этот инструмент «запрятали» далеко и не все знают о его существовании.
Мультилиния — это набор параллельных линий, создающихся одновременно с помощью одной команды. Количество линий, входящих в одну мультилинию, может варьироваться от 2 до 16. С помощью мультилиний удобно рисовать планы помещений, трубопроводы, автодороги и прочие.
Команда создания мультилинии — МЛИНИЯ (_MLINE). Процесс создания ничем не отличается от создания отрезков, также есть опции Отмена и Замкнуть
У самой команды доступны опции:
Видом мультилинии управляет стиль мультилинии. Диспетчер стилей мультилиний запускается командой МЛСТИЛЬ (_MLSTYLE). В стиле мультилинии можно задать следующие свойства:
Есть две особенности при работе со стилями мультилиний: нельзя поменять стиль у уже нарисованной мультилинии и нельзя изменить стиль, если он используется хотя бы в одной мультилинии на чертеже.
Для нанесенных на чертеж мультилиний доступна команда редактирования МЛРЕД (_MLEDIT), также ее можно вызвать по двойному щелчку на мультилинии. С помощью нее можно легко обработать пересечения мультилиний, добавить вершины, обрезать часть линий из состава
Рассмотрим использование мультилинии на двух примерах — построение плана помещения и построение автомобильной дороги.
План помещения
Для стиля IN задаем расстояние между линиями равным 10 (по 5 на каждую сторону)
Также обрабатываем остальные пересечения. получаем нужный нам план помещения
Для отсечения части мультилинии с целью получения проемов воспользуемся инструментом редактирования Обрезать все — необходимо указать две точки на мультилинии, обрежется все, что между ними
Автомобильная дорога
Во втором — опишем четырехполосную дорогу, состоящую из шести линий: две сплошные со смещением 0,5, две штриховые со смещением 2,5 и две сплошные со смещением 4,5.
Удобно? Очень! Заметная экономия времени и простота создания.
Мультилиния в Автокаде.
На мой взгляд, разработчики незаслуженно убрали команду мультилиния из последних версий Автокад. Этот инструмент многофункционален и может быть использован в различных областях проектирования. При помощи мультилинии мы можем создавать многослойные стены в архитектуре, рисовать дороги, трубопроводы системы отопление и теплоснабжения, воздуховоды систем вентиляции.
Давайте, вернем мультилинию на ленту и познакомимся с ней более подробно.
Итак, в этой уроке мы рассмотрим следующее:
Добавление команды «Мультилиния» на ленту.
Перейдите на вкладку « Управление » выберите команду « Пользовательский интерфейс ». См. Рис. 1.
Рис. 1. Команда «Пользовательский интерфейс».
Откроется окно «Адаптация пользовательского интерфейса».
Щелкните [+] напротив надписи « Лента ». Зачем по [+] напротив « Вкладки », по [+] напротив « Главная 2D » и выберите строку « Главная 2D — Рисование ».
Справа вверху появится панель инструментов «Главная 2D — Рисование».
Чтобы найти команду «Мультилиния», слева внизу в окне «Список команд» набираем « мультилин ». Ниже появятся команды, которые мы и поместим на панель «Главная 2D — Рисование».
Рис. 2. Окно «Адаптация пользовательского интерфейса».
Слева вверху станут видны команды панели «Главная 2D — Рисование». Помещаем курсор мыши на команду « Мультилиния » нажимаем левую кнопку мыши, и не отпуская ее, тащим под команду «Кольцо» и только там отпускаем. Тоже самое делаем с командой « Стиль мультилиний ». См. Рис. 3.
Рис. 3. Добавляем команды на па панель инструментов.
Рис. 4. Новые команды на панели инструментов.
Таким образом, мы можем добавлять на «Ленту” любые команды.
Создание нового стиля мультилинии.
Мультилиния в Автокаде может быть использоваться в различных областях проектирования. В данной статье мы рассмотрим одну из них. Мы создадим мультилинию для прорисовки воздуховода (трубопровода).
Перейдите на вкладку « Главная », щелкните по надписи «Рисование» и выберите команду « Стиль мультилинии… ». См. Рис. 5.
Рис. 5. Команда «Стиль мультилинии…».
Откроется окно «Стиль мультилиний». Нажмите на кнопку « Создать ». В окне «Создание стиля мультилинии» введите имя нового стиля (« New ») и нажмите кнопку « Продолжить ». См. Рис. 6.
Рис. 6. Окно «Стиль мультилиний»
Откроется окно «Новый стиль мультилинии: NEW». Поставьте галочки напротив надписи отрезок, что замкнуть концы нашего воздуховода. Нажмите на кнопку « Добавить », чтобы добавить центральную линию. См. Рис. 7.
Рис. 7. Создание нового стиля мультилинии.
Рис. 8. Изменяем цвет и тип линии.
Рис. 9. Новый стиль мультилинии.
Добавление мультилинии в чертеж.
Теперь давайте нарисуем воздуховод диаметром 250 мм.
Выберите на панели команду « Мультилиния ». См. Рис. 10.
Рис. 10. Команда «Мультилиния».
Рис. 11. Расположение направляющей линии.
Затем выбираем « Масштаб », вводим 250 и нажимаем (или пробел). См. Рис. 12.
Рис. 12. Задаем масштаб мультилинии.
Далее указываем несколько точек в рабочем окне Автокад. Команда нарисует нам воздуховод диаметром 250. См. Рис. 13.
Рис. 13. Воздуховод диаметром 250.
Создавая различные стили мультилиний, можно найти множество применений этой без сомнения интересной функции. Но нам как программистам, хотелось бы создавать такие стили программным путем. В этом случаи, их можно будет включить в свои программы и с легкостью переносить с одного компьютера на другой.
Создание стиля мультилинии программным путем.
Для создания списка нам понадобятся DXF-коды стиля мультилиний. Давайте посмотрим их в справочной системе. См. Рис. 14.
Рис. 14. Справка MLINESTYLE (DXF).
Внимательно изучив DXF-коды, составляем следующий список:
Коды 49, 62, и 6 задаются три раза, для каждой линии отдельно.
Рис. 15. Список стиля мультилиннии.
Теперь по этому списку мы должны создать новый стиль мультилинии и добавить его в словарь мультилиний Автокад.
Вначале давайте определим имя, которое Автокад присвоил словарю мультилиний.
Чтобы определить имя корневого словаря не графических объектов используем функцию
Чтобы получить характеристики словаря мультилиний используем функцию dictsearch:
( dictsearch (namedobjdict) «ACAD_MLINESTYLE» )
Возвращает: Список словаря мультилиний.
В этом списке хранится информация о всех созданных стилях мультилиний (DXF-код 3).
Чтобы избавиться от первого элемента точечной пары используем функцию cdr :
Возвращает: имя словаря мультилиний
Сохраним имя словаря мультилиний в переменной mlDict :
И наконец, создаем новый стиль:
И при помощи функции dictadd добавляем его в словарь мультилиний:
Вставим выше сказанное в программу. См. Рис. 16.
Рис. 16. Добавляем новый стиль в словарь мультилиний.
Данный код создает стиль мультилинии и добавляет его в словарь мультилиний.
Чтобы не возникало ошибок, при добавление стиля, который уже есть в словаре, нам необходимо провести проверку наличия стиля в словаре:
Создадим точечную пару:
Затем при помощи функции member проверим, если в Автокаде стиль с таким именем:
( member (cons 3 «VENK») (dictsearch (namedobjdict) «ACAD_MLINESTYLE») )
Если есть, то функция member вернет остаток списка, начиная и указанного элемента.
Таким образом, если функция member
возвращает nil — нам нужно добавить новый стиль,
если список – стиль добавлять не надо.
При помощи функции if добавим условия проверки на nil :
Поскольку выражений несколько, добавляем функцию progn
Добавляем выше сказанное. См. Рис. 17.
Рис. 17. Проверка наличия стиля в словаре.
Выделите весь текст программы и нажмите « Загрузить выделенных фрагмент ».
Перейдите в Автокад. Нажмите на кнопку «Стили мультилиний». Откроется окно «Стили мультилиний», в котором появился новый стиль « VENK ». См. Рис. 18.
Рис. 18. Новый стиль в окне «Стили мультилиний»
Вернемся в редактор Visual LISP и при помощи функции defun преобразуем нашу программу в пользовательскую функцию:
В начале программы добавим строку, в которой придумаем имя новой команды ( SMLK ) и перечислим все временные переменные:
В конце программы добавим закрывающую скобку.
Не забудьте сохранить программу.
Окончательный вариант программы см. Рис. 19.
Рис. 19. Пользовательская функция создания стиля мультилинии.
Что вызвать нашу пользовательскую функцию, используем имя функции в скобках:
И в заключении давайте напишем небольшую программу, вставляющую в чертеж мультилинию.
LISP программа добавления мультилинии.
Программу будем создавать в этом же файле, где наша пользовательская функция.
Вначале просим пользователя ввести размер воздуховода:
Затем просим указать начальную и конечную точки воздуховода:
При помощи пользовательской функции добавляем новый стиль мультилинии:
Запоминаем текущий стиль мультилинии и сохраняем его в переменной Cml :
Делаем текущим наш стиль:
Возвращаем первоначальный стиль мультилинии:
При помощи функции defun преобразуем нашу программу в команду Автокад:
В начале программы добавим строку, в которой придумаем имя новой команды (Vml) и перечислим все временные переменные:
В конце программы добавим закрывающую скобку.
В результате получим программу команды добавления мультилинии. См. Рис. 20.
Рис. 20. Программа добавления мультилинии.
Введите в командной строке « Vml » и нажмите Enter >.
Указываем две точку и программа построит воздуховод указанного размера. См. Рис. 21.
Рисю 21. Воздуховод.
Дальнейшим развитием программы может быть:
Постепенно программу можно превратить в отличного помощника, который будет экономить Вам время.
Если Вам интересны, какие либо направления развитие этой программы пишите о них в комментариях. Рассмотрим их в следующих уроках.
Если у Вас появились вопросы, задавайте.
Я с удовольствием отвечу.
Также пишите в комментариях:
Была ли для Вас полезной информация, данная в этом уроке?
На какие вопросы программирования, Вы хотели бы, увидит ответы в следующих уроках?
Ваши мнения очень важны для меня.
Хотите получать информацию о выходе новых статей. Оформляйте подписку.
«Автор: Михаил Орлов»
Также на эту тему Вы можете почитать:
15 комментарии на “ Мультилиния в Автокаде. ”
Спасибо за очередной отличный урок! У меня на работе, никто хорошо не знает автокад, не говоря уже о программировании, приходиться всему учиться самому. Благодаря вашим урокам сдвинулся с мертвой точки в пути по изучению лиспа. Было бы отлично написать простенькую программку по отрисовке воздуховодов. В будущих уроках был бы рад увидеть каким образом проще отрисовать стандартные отводы 45, 90 итп, строить их внутри программы, или вставлять готовый блок и подрезать мультилинии? Пока не знаю как правильно ориентировать отвод при вставке его блоком в зависимости от угла поворота. Каким путем лучше добавить информацию о типоразмере прямоугольного воздуховода для дальнейшей возможности подсчета длин по сортаменту? Как лучше написать функцию для вставки опусков или подъемов, переходов, например при вводе команды О90/П90 пользователем с клавиатуры или ввода отличного размера воздуховода.
Спасибо за внимание!
Спасибо! ОЧень познавательно.
А где посмотреть ВСЕ Свойства Мультитилиний
И как вообще программно поизвращаться с мультилинией, например изменить Координаты одного из ползунков или, еще лучше — Как добавить еще один новый ползунок и возможно ли это без создания новой Млинии на основе имеющейся считыванием координат всех ползунков + добавление координат нового ползунка?
Посмотреть свойства: Выделите мультилинию и нажмите на клавиатуре «Ctrl+1»
Смотрите другие примеры с использование мультилинии:
http://acad-prog.ru/avtomatizatsiya-proektirovaniya/
Редактирование мультилинии в самом конце статьи:
http://acad-prog.ru/avtomatizatsiya-proektirovaniya-otvod/
А можно ли, поменять вес отдельных линий, например оссевая 0,13, крайние 0,3?
К сожалению, все линии могут быть только одной толщины.
Задача не простая. Но так как я ее понял, я бы скорее всего использовал ни мультилинию,а динамический блок с возможность перемещения и изменения параметров врезки. Параметры изменялись бы путем изменения атрибутов блока.
Здравствуйте, у меня такой вопрос, делаю по аналогии с примером, программу, построения призмы с использованием диалогового окна. Столкнулся с такой проблемой, пытаюсь считать с поля в диалоговом окне значение в переменную, а потом построить точку на какое-то расстояние, от первой точки, у меня ошибка «; ошибка: неверный тип аргумента: 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 масштаба.
Я не знаю как выглядит полевая, лесная дорога. Пришлите пример на почту: acadprog@gmail.com
Спасибо за урок. А как можно нарисовать мультилинию по списку координат, а не по двум точкам? В каком виде эти координаты присвоить переменной?
Автокад видеоуроки. Работа в Word и Excel
Уважаемые пользователи, здесь вы найдете множество полезной информации, которая облегчит вам жизнь и сделает работу инженера эффективней. Статьи посвящены дополнительным возможностям Автокад, Word и Excel. Материалы содержат пошаговые инструкции с иллюстрациями интерфейса Word, Excel и Автокад, видеоуроки в конце статьи делают доступным освоение даже для начинающих. Файлы для установки приложений и практических работ предлагается скачать бесплатно по ходу урока. Все приложения и методы использования команд проверены на личном опыте. Видеоуроки AutoCAD, Word и Excel для инженеров.
Загрузка растра с файлом привязки в Автокад. Видеоурок
Сумма длин линий в Автокаде. Видеоурок
Отрисовка откосов в Автокаде. Видеоурок
Очень полезное приложение для отрисовки откосов в Автокаде, которое облегчит жизнь генпланисту, дорожнику, изыскателю, камеральщику и много кому еще. Приложение имеет довольно гибкие настройки и позволяет выбрать методы построения и отображения откосов.
Печать чертежей без полей в AutoCAD
Когда пришлось самому заниматься выпуском чертежей, столкнулся с тем, что их необходимо вырезать, а дело это не самое интересное, да еще когда количество чертежей и их экземпляров не малое просидеть за этим занятием можно уйму времени.
Извлечение данных в Автокаде. Видеоурок
Извлечение данных в AutoCAD позволяет свести в таблицу информацию по чертежу или его части, избавив вас от рутинных подсчетов.
Таблица в Автокаде. Видеоурок
Как вставить таблицу в Автокаде? Большинство для того, чтоб создать таблицу в Автокаде используют полилинии и текст, но гораздо проще и правильней сделать таблицу специально предназначенным для этого инструментом.
Как разделить линию в Автокаде. Видеоурок
Команды Поделить и Разметить не пользуются особой популярностью в Автокаде, тем не менее они не заменимы при необходимости разделить линию на равные интервалы или участки определенной длины (разбить пикетаж по трассе, выполнить разбивку закруглений и т.п.).
Выравнивание в Автокаде
Выравнивание в Автокаде выполняется с помощью команды ALIGN, позволяющей выполнить одновременно перемещение, поворот и масштабирование объекта.
Видовой экран в Автокаде
Видовой экран в Автокаде – это очень полезный инструмент для окончательного формирования чертежей. Данная статья посвящена основным инструментам работы с видовым экраном в Автокаде:
Как повернуть видовой экран
Как повернуть видовой экран в AutoCAD бывает сразу и не сообразишь. Существует несколько способов выполнит данное действие для различных версий Автокада, давайте разберемся, как сделать это.