Pull to refresh

Электрические схемы в Autocad с помощью .NET

Reading time 4 min
Views 48K
После института я пришел работать в проектную компанию инженером-электриком. Все расчеты велись в программе Excel, после чего необходимо было чертить схемы по расчетным данным, что занимало много времени. Кроме того, при переносе данных из Excel в Autocad накапливались ошибки. При изменении исходных данных приходилось исправлять расчеты, а затем и схемы. В общем, куча бесполезной работы, которая отнимала много времени.

Хорошо, что 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 и пользоваться кнопками.

Работа с плагином


  1. Распакуйте архив на локальном диске. Если плагин будет размещен на сервере, AutoCAD не позволит его запустить.
  2. Запустите AutoCAD и откройте файл СХЕМА.dwg.
  3. Теперь необходимо загрузить плагин в AutoCAD. В командной строке введите _NETLOAD.


  4. В открывшемся окне укажите путь к файлу OneLine3.dll.


  5. AutoCAD покажет предупреждение о том, что загружаемый файл находится вне папки надежного расположения. Нажимаем кнопку Загрузить.


  6. Теперь, когда плагин загружен, необходимо его запусить. Введите в коммандной строке _DSLD.


  7. Отобразилось окно. Теперь нужно нажать кнопку Открыть.


  8. В открывшемся окне укажите путь к файлу с расчетами ЩИТ.xslm.


  9. Загрузились данные из таблицы. В левом столбце указаны листы из файла ЩИТ.xslm. Выбираем щит (щиты) и переносим их во второй столбец нажатием кнопки 1. Затем нажимаем кнопку Начертить.


  10. А вот результат нашей работы.



Вопросы, которые могут возникнуть при работе с программой


Конечно, данный плагин не сможет решить все возникающие проблемы. К сожалению универсальных решений не бывает. В этом разделе я попытаюсь ответить на вопросы, которые могут у Вас возникнуть при работе с этой программой.
Я загрузил плагин, но при вызове команды ничего не происходит. В командной строке пишется: Не удалось загрузить сборку. Сведения об ошибке: System.IO.FileLoadException: Не удалось загрузить файл или сборку…
AutoCAD 2015 и более поздние версии не позволяют подключать библиотеки, загруженные через интернет. Чтобы избежать это, необходимо внести изменение в файл acad.exe.config, добавить строчку:
<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>


Мне нужно внести изменения в схемы созданные ранее. Как это сделать?
Есть два способа внесения изменений. Первый внести изменения в в расчетном файле и сгенерировать схемы заново, используя плагин.

Второй способ заключается во внесении изменений в самом чертеже. Это можно сделать через Свойства, выделив необходимый элемент.


Поменять данные можно через Редактор атрибутов, дважды щелкнув левой клавишей мыши по редактируемому блоку.



Как заменить автоматический выключатель на дифференциальный выключатель?
Все блоки сделаны динамическими. Просто поменяйте тип блока.



Как поменять шрифт?
Откройте и измените стиль SLD_Style. После этого желательно выполнить команды _REGEN и _REGENALL.

Я пытаюсь расчленить объекты командой _EXPLODE, но все данные пропадают.
Используйте команду _BURST.

Мне не нужно показывать марку выключателя. Как сделать так, чтобы она не отображалась?
Выделите блок и откройте его в редакторе блоков.

Удалите ненужный атрибут.

Закройте редактор блоков, сохранив изменения.

Ведите команду _ATTSYNC и выберите, редактируемый блок. После синхронизации удаленный атрибут должен исчезнуть.

Аналогичным образом можно удалять и перемещать остальные атрибуты.
Tags:
Hubs:
+18
Comments 20
Comments Comments 20

Articles