Хорошо, что AutoCAD предоставляет широкие возможности для разработчиков в области автоматизации процесса проектирования и помогает экономить сотни и тысячи часов работы.
Был разработан специальный плагин на базе .NET, который экспортировал данные из Excel и создавал электрические схемы в AutoCAD.
Принцип работы плагина довольно прост. Рабочий файл DWG содержит блоки-элементы схем с атрибутами, которые содержат информацию об установленной мощности, расчетном токе и т.п. Плагин считывает данные из расчетной таблицы Excel и строит схему из блоков, заполняя при этом атрибуты числами из расчетной таблицы.
В последнее время мне стали задавать вопросы с просьбами что-то дописать, добавить, поменять. Но к сожалению времени на доработку не хватает, да и у каждого инженера свои пожелания. В связи с этим выкладываю исходники:
> https://github.com/NabiyevTR/SingleDiagram
Надеюсь, что плагин поможет сэкономить время инженерам-проектировщикам и улучшить качество документации.
Инструкция по работе с плагином
> Загрузить плагин
Системные требования
- Autodesk AutoCAD 2015
- Microsoft Office Excel 2010 и старше
Состав архива
- В папке Program Files находится файлы плагина. Здесь Вам понадобится файл-библиотека OneLine3.dll. Остальные файлы вспомогательные, нужны для работы плагина.
- Файл ЩИТ.xslm содержит расчетную таблицу, на основании которой строится однолинейная схема
- Файл СХЕМА.dwg — это файл, в котором содержатся необходимые элементы для создания однолинейной схемы. Именно в него мы будем загружать плагин.
- Файл SLD_Buttons.cuix — это файл адаптации. Чтобы не прописывать команды в командной строке, его можно загрузить в AutoCAD и пользоваться кнопками.
Работа с плагином
- Распакуйте архив на локальном диске. Если плагин будет размещен на сервере, AutoCAD не позволит его запустить.
- Запустите AutoCAD и откройте файл СХЕМА.dwg.
- Теперь необходимо загрузить плагин в AutoCAD. В командной строке введите _NETLOAD.
- В открывшемся окне укажите путь к файлу OneLine3.dll.
- AutoCAD покажет предупреждение о том, что загружаемый файл находится вне папки надежного расположения. Нажимаем кнопку Загрузить.
- Теперь, когда плагин загружен, необходимо его запусить. Введите в коммандной строке _DSLD.
- Отобразилось окно. Теперь нужно нажать кнопку Открыть.
- В открывшемся окне укажите путь к файлу с расчетами ЩИТ.xslm.
- Загрузились данные из таблицы. В левом столбце указаны листы из файла ЩИТ.xslm. Выбираем щит (щиты) и переносим их во второй столбец нажатием кнопки 1. Затем нажимаем кнопку Начертить.
- А вот результат нашей работы.
Вопросы, которые могут возникнуть при работе с программой
Конечно, данный плагин не сможет решить все возникающие проблемы. К сожалению универсальных решений не бывает. В этом разделе я попытаюсь ответить на вопросы, которые могут у Вас возникнуть при работе с этой программой.
<loadFromRemoteSources enabled="true"/>
Должно получиться так:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
<!--All assemblies in AutoCAD are fully trusted so there's no point generating publisher evidence-->
<runtime>
<generatePublisherEvidence enabled="false"/>
<loadFromRemoteSources enabled="true"/>
</runtime>
</configuration>
Второй способ заключается во внесении изменений в самом чертеже. Это можно сделать через Свойства, выделив необходимый элемент.
![](https://habrastorage.org/files/3c3/409/cf3/3c3409cf30ca4414b9d7b16e4666dd75.png)
Поменять данные можно через Редактор атрибутов, дважды щелкнув левой клавишей мыши по редактируемому блоку.
![](https://habrastorage.org/files/7e6/a5a/46f/7e6a5a46f8f342b68a0d5db3f4741d6f.png)
![](https://habrastorage.org/files/109/3e2/81d/1093e281dba843729818e0a8f42ba478.png)
Удалите ненужный атрибут.
Закройте редактор блоков, сохранив изменения.
Ведите команду _ATTSYNC и выберите, редактируемый блок. После синхронизации удаленный атрибут должен исчезнуть.
Аналогичным образом можно удалять и перемещать остальные атрибуты.
Комментарии (8)
mezastel
18.02.2017 13:04Как-то это очень нишево. Ну ок, у вас какой-то Excel формат, но это вообще много кто использует? Именно в том формате что у вас? Насколько это распространенный юз кейс, насколько программа тюнингуется если формат Excel таблиц например другой?
Nabiyev
18.02.2017 13:11Вы про формат .xlsm? Это стандартный формат Excel с поддержкой макросов. Работа программы не зависит от формата, может быть стандартный .xls.
mezastel
20.02.2017 00:01Я не про Excel, я про то, как те или иные данные представлены в Excel. Если то, как вы представляете данные в Excel являются конкретной разработкой вашей компании, они вряд ли будут полезны кому то еще. Если формат данных использует много разных компаний, именно в той же форме что и у вас, тогда это может быть полезно.
Nabiyev
20.02.2017 08:10Ну для этого я и выкладывал исходники. Кого не устраивает наша таблица, может подкорректировать плагин под себя, изменив ссылки на ячейки.
2san
Крутая идея и большая работа. Спасибо что поделились!
Вопрос по таблице: такой формат данных — это ваша разработка или уже использовалась в таком виде на предприятии?