После института я пришел работать в проектную компанию инженером-электриком. Все расчеты велись в программе 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 и выберите, редактируемый блок. После синхронизации удаленный атрибут должен исчезнуть.

Аналогичным образом можно удалять и перемещать остальные атрибуты.
Поделиться с друзьями
-->

Комментарии (8)


  1. 2san
    17.02.2017 22:06

    Крутая идея и большая работа. Спасибо что поделились!
    Вопрос по таблице: такой формат данных — это ваша разработка или уже использовалась в таком виде на предприятии?


  1. Nabiyev
    17.02.2017 22:07

    Таблица не моя. Ее изначально сделали в компании SNEF.


  1. mezastel
    18.02.2017 13:04

    Как-то это очень нишево. Ну ок, у вас какой-то Excel формат, но это вообще много кто использует? Именно в том формате что у вас? Насколько это распространенный юз кейс, насколько программа тюнингуется если формат Excel таблиц например другой?


    1. Nabiyev
      18.02.2017 13:11

      Вы про формат .xlsm? Это стандартный формат Excel с поддержкой макросов. Работа программы не зависит от формата, может быть стандартный .xls.


      1. mezastel
        20.02.2017 00:01

        Я не про Excel, я про то, как те или иные данные представлены в Excel. Если то, как вы представляете данные в Excel являются конкретной разработкой вашей компании, они вряд ли будут полезны кому то еще. Если формат данных использует много разных компаний, именно в той же форме что и у вас, тогда это может быть полезно.


        1. Nabiyev
          20.02.2017 08:10

          Ну для этого я и выкладывал исходники. Кого не устраивает наша таблица, может подкорректировать плагин под себя, изменив ссылки на ячейки.


  1. Olega7
    25.02.2017 16:30

    В сист. требованиях AutoCAD 2015. С 2012-м на XP совсем никак?


    1. Nabiyev
      25.02.2017 16:34

      Скорее всего не будет работать. Изначально библиотека была сделана как раз для 2012, но потом правилась под Autocad 2015. Попробуйте запустить. Если не получится, решим проблему.