Адаптация AutoCAD при помощи VBA
VBA может служить средством интеграции различных приложений, в которые встроена поддержка VBA. Таким образом, AutoCAD может управлять другими приложениями, например Microsoft Word или Excel, используя их библиотеки объектов.
Примечание Программа Microsoft ® Visual Basic ® for Applications (VBA) вместе с AutoCAD больше не устанавливается. Дополнительные сведения см. на веб-странице http://www.autodesk.com/vba-download.
Чтобы дополнить AutoCAD VBA такими компонентами, как модуль работы с внешними базами данных или средство подготовки отчетов, можно отдельно приобрести пакет Visual Basic 6, являющийся самостоятельным продуктом.
Разработка при помощи AutoCAD VBA
VBA отправляет сообщения через интерфейс AutoCAD ActiveX Automation. С помощью макроса AutoCAD VBA среда Visual Basic может работать одновременно с AutoCAD и осуществлять программный контроль AutoCAD через интерфейс ActiveX Automation. Связка AutoCAD, ActiveX Automation и VBA является очень мощным средством программирования. Она позволяет не только управлять объектами AutoCAD, но и обмениваться данными с другими приложениями.
Результатом интеграции VBA в AutoCAD является визуальный инструмент для адаптации AutoCAD. С его помощью можно, например, разработать приложение, которое автоматически извлекает значения атрибутов, вставляет результаты в книгу Excel и выполняет другие требуемые манипуляции с данными.
Принципы программирования на VBA для AutoCAD основываются на трех базовых составляющих. Первой составляющей является сама программа AutoCAD, которая обладает большим набором объектов, различных данных и команд. Возможность программирования в AutoCAD крайне желательна. Однако следует отметить, что положенный в основу VBA объектно-ориентированный подход к программированию существенно отличается от используемого в AutoLISP.
Второй составляющей является интерфейс ActiveX Automation, который определяет порядок передачи сообщений (взаимодействия) с объектами AutoCAD. Программирование на VBA требует понимания принципов организации интерфейса ActiveX Automation.
Третьей составляющей является, собственно, сама среда VBA. VBA имеет свой собственный набор объектов, ключевых слов, констант, которые используются при написании, отладке и выполнении программ. В комплект поставки AutoCAD входит обширная справочная система по VBA от Microsoft.
Интерфейс ActiveX/VBA программы AutoCAD обладает рядом преимуществ по сравнению с другими интерфейсами API AutoCAD.
- Скорость. Использование элементов ActiveX, вызываемых из VBA, обеспечивает более высокую производительность, чем использование приложений AutoLISP.
- Простота в использовании. Язык и среда разработки ActiveX/VBA легки в освоении и использовании, а интерфейс интегрирован в среду AutoCAD.
- Взаимодействие с приложениями Windows. ActiveX и VBA разработаны для использования в приложениях Windows и предоставляют прекрасные возможности для организации взаимодействия и обмена данными между различными приложениями.
- Быстрота разработки. Благодаря быстроте проектирования интерфейса приложений с помощью VBA данная среда может служить прекрасным средством для создания приложений-прототипов, даже если окончательная реализация планируется на другом языке программирования.
- Распространенность. Во всем мире миллионы программистов пользуются языком Visual Basic 6. Наличие AutoCAD ActiveX/VBA дает возможность выполнять адаптацию AutoCAD и разрабатывать для него приложения программистам, уже владеющим языком Visual Basic 6 или только собирающимся его изучать.
Использование приложений VBA
Загрузка проекта VBA осуществляется командой VBALOAD. После загрузки модули и макросы проекта становятся доступными в диалоговом окне «Макросы».
В отличие от приложений Microsoft, которые используют для хранения проектов, макросов и программ VBA непосредственно документы, AutoCAD для этих целей использует специальные файлы с расширением .dvb. Это обеспечивает возможность взаимодействия интерфейсов VBA с AutoCAD аналогично тому, как это делается в AutoLISP и ObjectARX. Благодаря тому что проекты VBA хранятся в отдельных файлах, в одном сеансе AutoCAD приложения VBA могут открывать и закрывать различные чертежи.
Примечание Двоичный формат файлов проектов VBA в AutoCAD не совместим с форматом проектов Visual Basic 6 (файлами VBP). Однако из интегрированной среды разработки IDE (integrated development environment) VBA можно экспортировать и импортировать формы, модули и классы, используя для этого команды ИМПОРТ и ЭКСПОРТ.
Загрузка проекта VBA осуществляется командой VBALOAD. После загрузки модули и макросы проекта становятся доступными в диалоговом окне «Макросы». Для выполнения модуля VBA служит команда VBARUN. Если не загружено ни одного проекта VBA, данные параметры недоступны. При выводе процедур в списке с именами макросов используется следующий синтаксис:
В диалоговом окне «Макросы» перечнем отображаемых в списке модулей можно управлять с помощью списка «Макросы из».
Запуск макрокоманды VBA из командной строки
С помощью команды -VBARUN можно запустить макрокоманду из командной строки. Это позволяет запускать макрокоманды VBA из командной строки, сценариев и других сред программирования AutoCAD. Единственным аргументом команды должно быть имя модуля и макроса VBA, отделенные точкой ( модуль . макрос ). Образец вызова выглядит следующим образом:
-vbarun module.macro>
Необходимость использования синтаксиса вида модуль . макрос обусловлена тем, что различные модули могут содержать макросы с одинаковыми именами.
Автоматическая загрузка и выполнение проектов VBA
Можно автоматически загружать ранее созданные проекты VBA при каждом запуске AutoCAD. При этом содержащиеся в таких проектах макросы стразу же становятся доступными. Кроме того, для автоматической загрузки нужных приложений может использоваться команда ЗАГПРИЛ.
acvba.arx — Автоматическая загрузка VBA
Загрузка VBA возможна только после выполнения любой из команд AutoCAD VBA. Для того чтобы arx-модуль VBA автоматически загружался при запуске AutoCAD, следующую строку нужно добавить в файл acad.rx:
acvba.arx
Для автоматического выполнения макроса его следует добавить в файл acad.dvb и назвать AcadStartup. Макрос с именем AcadStartup из файла acad.dvb выполняется автоматически при загрузке модуля VBA.
acad.dvb — Автоматическая загрузка проекта VBA
Файл acad.dvb удобно использовать для загрузки отдельных объектов VBA при каждом запуске AutoCAD. При каждом запуске нового сеанса AutoCAD производится поиск и загрузка файла acad.dvb.
Если какой-либо макрос файла acad.dvb должен выполняться при создании нового или открытии имеющегося чертежа, в файл acaddoc.lsp следует добавить приведенный ниже код:
(defun S::STARTUP() (command "_-vbarun" "updatetitleblock") )
Имя проекта в данном примере — updatetitleblock .
Ссылки по теме
А вы пробовали выполнять быстрый подсчет блоков?
Прим.: Начиная с версии AutoCAD 2022, рекомендуется использовать новую функцию подсчета, чтобы легко подсчитывать экземпляры блоков и другие типы объектов.
Вы когда-либо считали блоки? Возможно, вам необходимо найти все экземпляры определенного блока на заданном слое. Существует способ очень быстро и точно подсчитать блоки в чертеже с помощью функции «Быстрый выбор». Быстрый выбор также ускоряет процедуру поиска блоков или других объектов с определенными свойствами.
Прим.: Видеоролик не содержит звука или субтитров.
Прим.: Действия, изображения и видеоролики могут незначительно различаться в зависимости от версии программы.
Подготовьтесь к обходу
Следующие этапы направлены на создание нескольких блоков и их размещение на нескольких слоях.
- Создайте новый чертеж.
- Создайте три блока и назовите их A410, B424 и B664.

Подсчет блоков по имени
- Откройте вкладку «Главная», панель «Утилиты» и выберите команду «Быстрый выбор» или введите в командной строке БВЫБОР.



Прим.: Блоки, которые вложены в другие блоки или в объекты ассоциативных массивов, не выбираются и не подсчитываются с помощью команды быстрого выбора.
Подсчет блоков с помощью спецификаций знаков подстановки
Иногда необходимо подсчитать блоки с помощью общего образца имени. Чаще всего используется подстановочный знак «?» для одного символа и «*» для любого количества символов. Например, можно выполнить поиск всех блоков, начинающихся с буквы B с помощью B* и всех блоков, у которых вторым знаком является 4, с помощью ?4*.
-
Запустите команду БВЫБОР еще раз, указав в поле «Поиск с глобальными символами» значение B*, как показано ниже, и нажмите «ОК».

Будут выбраны все блоки, начинающиеся с B, как показано ниже.

Кроме того, будет отображаться точное количество.


Выбраны все экземпляры блоков A410 и B464, а в командном окне отображается точное количество.

Подсчет блоков на слое
Чтобы подсчитать все блоки на заданном слое, выполните следующие действия.
- Запустите команду БВЫБОР.
- Укажите слой, выберите 001 abc в качестве значения для него, а затем нажмите «ОК».

Сужение выбора
На данном этапе вам, возможно, необходимо узнать, как сузить выбор с помощью нескольких критериев. Например, как можно подсчитать все экземпляры блока A410 на слое 001 abc?
Есть отличный способ выполнить эту операцию. Выполните следующее.
-
Запустите команду БВЫБОР. В настоящий момент выбраны все блоки на слое 001 abc. Обратите внимание, что в поле «Применить» автоматически выбрано значение К текущему набору, как показано ниже.

Обратите внимание, что для начала можно вручную задать выбор участка чертежа, затем отфильтровать его, использовав несколько раз операции быстрого выбора.
Прим.: Чтобы сохранить четко заданный набор объектов, можно создать группу из выбранных объектов с помощью команды ГРУППА.
Помимо быстрого подсчета заданных блоков команду быстрого выбора можно также использовать для выполнения многих других задач с выбранными объектами. Например, можно использовать команду «Быстрый выбор» для выполнения следующих операций.
- Выберите группу объектов на слое, а затем назначьте их другому слою.
- Выберите все размерные объекты независимо от слоя и измените их цвет.
- Выявите геометрические объекты, координаты Z которых не равны 0, а затем задайте для координат Z значение 0.
Хотя в AutoCAD доступны другие способы подсчета блоков, преимуществом функции быстрого выбора является возможность ее использования для выполнения других разнообразных задач.
Совет: Для выбора совпадающих объектов попробуйте использовать в текущем чертеже команду SELECTSIMILAR. Используйте параметр «Настройки», чтобы указать различные сочетания свойств, а затем команду ВЫБРАТЬ или палитру свойств для подсчета. Кроме того, экспресс-инструмент BCOUNT позволяет подсчитать блоки элементов в наборе объектов или на текущем чертеже.
Обсуждение и обмен с другими пользователями
Статьи «А вы пробовали. » помогут открыть для себя новые методы работы с AutoCAD, эти идеи можно обсуждать с коллегами, а также обмениваться ими в сопутствующих публикациях на форуме AutoCAD.
Понятия, связанные с данным
- Выбор объектов на основе общих свойств
- Вопросы и ответы: Почему при выборе объектов одинакового цвета выделяются объекты другого цвета?
- Количество (Новые возможности версии 2022)
- Новые возможности AutoCAD 2022
- Добро пожаловать в раздел «А вы пробовали. »
Формат файлов Автокад (dws и dxf)
Ранее были рассмотрены популярные форматы dwt и dwg AutoCAD. Однако есть еще и такие типы файлов AutoCAD, как *.dws и *.dxf.
Первый из них является Стандартом оформления чертежей с расширением (*.dws), второй формат позволяет обмениваться данными чертежей (*.dxf). Рассмотрим каждый из них более подробно.
Формат файлов AutoCAD для создания Стандартов оформления (*.dws)
На предприятиях и в организациях принято соблюдать установленные стандарты и правила. Как показывает практика, над одним проектом очень часто может работать сразу несколько человек, и вопрос о поддерживании «единого стиля» ставится очень остро. В таких случаях целесообразно применять файлы стандартов оформления. Для этого при работе с чертежом нужно единожды создать и настроить следующие стандарты:
- единицы измерения;
- слои;
- текстовые и размерные стили;
- типы линий.
Затем перейти в «Файл» – «Сохранить как…» и выбрать «Стандарты оформления AutoCAD (*.dws)». Задать имя и указать место сохранения файла. Для одного чертежа можно создавать несколько файлов со стандартами.

После проделанных действий необходимо связать вновь созданные файлы стандартов с рабочим чертежом, в котором будет выполняться построение проекта.
Связывание файла чертежа с файлом стандартов
Для этого необходимо перейти на вкладку «Управление» → панель «Стандарты оформления» и выбрать команду «Настройка».

Откроется диалоговое окно (см. рис.), в котором нужно найти сохраненные стандарты Автокад, воспользовавшись кнопкой «плюс».

Дерево папок будет содержать нужные файлы с расширением *.dws. После выбора стандартов в данном чертеже все элементы будут подлежать проверке на соответствие.
Аналогичным образом связь можно разорвать, но использовать нужно кнопку с крестиком.
Стандарты AutoCAD и возможные ошибки
Заложенный механизм проверки соблюдения стандартов во время построения чертежа работает следующим образом: если используются объекты, которые не оговорены в правилах, то программа выдает ошибку, а также предлагает исправить ее (см. рис.).

Ошибки могут возникнуть в двух случаях:
- Если чертеж содержит объекты, которые лежат на слое, не зафиксированном в файлах со стандартами.
- Объекты находятся на оговоренных в Стандартах слоях, однако имеют свойства, не указанные в файле. Т.е. стандартный слой, например, использует тип линии ISO_штриховая, а созданному объекту присвоен тип Continuous и т.п.
В первом случае программа выдаст ошибку. Необходимо будет переместить все объекты на слои, прописанные в стандартах, а «нестандартный» слой автоматически удалится.
Файлы обмена данными чертежей (*.dxf)
Расширение файлов AutoCAD *.dxf позволяет сохранять чертеж в таком формате, который передает информацию о проекте в двоичном коде, что позволяет переносить данные между разными приложениями.
Неоспоримым преимуществом является скорость работы с файлом. Доступ к нему можно получить даже через текстовый файл для редактирования. Чертеж можно передать в другую программу, которая не поддерживает работу с dwg файлами, но может обработать файл с расширением *.dxf, и тем самым воссоздать чертеж для дальнейшего проектирования.

Для сохранения чертежа в данном формате нужно перейти в «Файл» – «Сохранить как…» и в типе файла указать расширение *.dxf.
Теперь вы знаете, какие файлы открывает Автокад, а главное, понимаете, для чего предназначен тот или иной формат. Помните, что чертежи AutoCAD можно сохранять в формате *.pdf. Хоть он и не является стандартным, однако удобен для работы.
Освойте профессию проектировщика
Научитесь быстрому черчению, освоите прикладное 3D, автоматизируете создание ведомостей и спецификаций.
Представляем AutoCAD Web: совместная работа в любом месте
В наши дни повышенное внимание уделяется совместной работе, простоте доступа и реалистичным рабочим процессам. Чтобы поддержать меняющиеся способы выполнения работы клиентами, Autodesk запустила AutoCAD Web: новое предложение, которое упрощает работу в любое время, в любом месте и на любом устройстве.
Что такое AutoCAD Web?
AutoCAD Web — это отдельная подписка, предоставляющая вам доступ к AutoCAD как в сети Интернет, так и на мобильных устройствах. Она предоставляет необходимые возможности черчения и дизайна для ваших повседневных нужд.
Новое предложение обеспечивает доступ к совместным рабочим процессам, которые позволяют вам объединять команды, где бы они ни находились, для просмотра и редактирования чертежей CAD. Это облачное решение, позволяющее просматривать, редактировать и обмениваться чертежами из браузера или мобильного устройства без необходимости установки какого-либо программного обеспечения на компьютер.

Что вы можете делать с AutoCAD Web
Упростите рабочие процессы, открывая файлы DWG непосредственно в AutoCAD в Интернете или на мобильных устройствах с Autodesk Drive, Autodesk Docs, Microsoft OneDrive, Box, Dropbox или Google Drive. AutoCAD Web предоставляет дополнительные функциональные возможности, которые не доступны в DWG TrueView и других бесплатных программах просмотра Autodesk DWG.
AutoCAD Web предоставляет вам доступ к основным командам и возможностям черчения, которые вы ожидаете от AutoCAD: выполнение измерений и добавление размеров к вашим чертежам, создание и изменение блоков, организация ваших чертежей с помощью слоев, отображение внешних ссылок, использование захватов объектов и многое другое.
Когда вы находитесь вдали от своего офиса, используйте одну из многих ключевых функций AutoCAD Web, например, функцию трассировки, которая позволяет вам просматривать и добавлять отзывы непосредственно в ваши файлы DWG, не изменяя существующий чертеж.
Затем, используя AutoCAD для мобильных устройств, вы можете отправиться на рабочую площадку и внести изменения прямо со своего устройства без подключения к Интернету, а затем синхронизировать работу, позволяя вам брать чертежи CAD с собой.
Для получения AutoCAD Web просто войдите на сайт web.autocad.com или установите мобильное приложение и работайте прямо со своего устройства. Попробуйте AutoCAD Web самостоятельно, воспользовавшись 30-дневной бесплатной пробной версией.

Дополнительная информация
Доступ к AutoCAD в Интернете и на мобильных устройствах также входит в состав подписки на AutoCAD или AutoCAD LT. После приобретения подписки на AutoCAD Web вы можете войти в систему, чтобы приступить к работе, или загрузить мобильное приложение из магазинов приложений Google Play, Apple или Microsoft.
В июле 2020 года Autodesk запустила программу веб-приложений (Web App Program), чтобы помочь клиентам адаптироваться к изменяющейся рабочей ситуации из-за COVID. Поскольку мы все адаптировались к новым нормам, Autodesk завершила программу веб-приложений и вместо нее запустила AutoCAD Web. Все пользователи программы веб-приложений имеют право на 30-дневную пробную версию AutoCAD Web.
Дополнительные сведения смотрите в веб-центре продуктов AutoCAD, а также в разделе FAQ и справочной документации.
