Автоматизация Excel

Эта функция позволяет автоматически создавать чертежи принципиальных схем на основе данных, содержащихся в файле Excel. Этот файл должен иметь специальный формат для импорта в SOLIDWORKS Electrical.

У новичков могут возникнуть трудности с применением этой функции. Для справки можно скачать пример в конце данный главы.

Совместимость

Функция "Автоматизация Excel" совместима только с версиями Excel 2016 и 365 (64-разрядными).

Определение макроса

Функция автоматизации XLS использует только схематические макросы, другие макросы недоступны и не должны использоваться. Эти специальные макросы должны включать два правила: точку вставки и переменные.

Элемент Описание
Точка вставки Макросы автоматически вставляются в чертеж и должны иметь определенную точку вставки. В элементе Точка вставки нажмите на точку, в которую требуется вставить макрос. Необходимо ввести координаты этой точки в файле XLS.
Определение переменной Макрос содержит переменные, которые распространяют информацию в схеме. Эти переменные будут заменены текстами, которые будут настроены в файле XLS. Необходимо ввести символ "%" перед переменной и после нее. Например, %VAR1%, где "VAR1" — имя переменной. Текст, используемый в переменной, является свободным, но может быть одинаковым в макросе и файле XLS.

Можно использовать переменные для замены.

  • Все объекты с меткой (например, компоненты, расположения или чертежи). Для управления метками (расположение, функция или компонент) отредактируйте макрос в разделе управления макросами и замените его на переменную. Например, если макрос содержит контактор с меткой K1, замените эту метку переменной %COMPMARK1%. Таким же образом, в разделе управления расположением можно заменить метку расположения переменной, например %LOCMARK1%, и назначить это расположение компоненту.
  • Детали производителя. Свяжите компонент с деталью производителя, в имя которого вводятся переменные (например: %MANUFACTURER1%), также введите переменную для ссылки на деталь производителя (например: %MANUFPART1%).
  • Эквипотенциальные номера. Чтобы использовать переменные в эквипотенциальных номерах, отредактируйте эквипотенциальный номер провода и замените его переменной, например %EQUIP1%.
  • Имена стилей проводов. Чтобы использовать переменные в имени стиля провода, откройте раздел Управление стилями проводов. В свойствах стиля провода замените имя стиля провода переменной (например: %WireStyle1%).
  • Переводимые данные и пользовательские данные. Переменные могут также использоваться в описании, пользовательских данных или переводимых данных любого объекта, который имеет метку (например: %TransData_1_ES% для первых переводимых данных на испанском языке).
Автоматизация Excel позволяет выполнять автоматический сброс неопределенных переменных макросов. Чтобы сбросить неопределенные переменные макросов, нажмите SOLIDWORKS Electrical > Конфигурации > Проект . В диалоговом окне Конфигурация электротехнического проекта на вкладке Общие в разделе Автоматизация Excel выберите Сброс неопределенных переменных макросов. При выборе этого параметра переменная %xxx% не сохраняется во вставленном макросе. Она заменяется одним из следующих элементов:
  • Пустой строкой
  • Удаленным объектом
  • Связанным объектом по умолчанию (например, функцией или местоположением)

Определение файла Excel

Несколько шаблонов в виде файлов Excel предоставляются вместе с SOLIDWORKS Electrical для упрощения создания собственных файлов Excel. Они хранятся в папке данных SOLIDWORKS Electrical \XlsAutomation\Template.

Чтобы создать новый файл Excel для автоматизации, нажмите Импорт/Экспорт > Автоматизация Excel > Создать новый файл Excel для автоматизации .

Файл Excel может быть в формате от версии 97/2003 (.xls) до версии 2013 (.xlsx) или в формате xlsm (файл Excel с макросами). Только первый видимый лист файла будет обрабатываться, остальные будут проигнорированы. Лист может иметь любое имя без ограничений.

Файл Excel должен содержать специальные инструкции, которые будут использоваться для выполнения автоматизации Excel. В нем может быть столько строк перед заголовком, сколько нужно пользователю. Процесс считывает первую строку, которая начинается с символа #. Это строка заголовка.

В строке заголовка должно быть два вида информации; имя поля (#field) и имя переменной (%variable%).

В заголовке файла можно управлять несколькими языками. Вставьте столбец, используя поле #title_lang для определения текстов, описывающих различные языки.

Элементы Описание
Имена полей Чтобы определить имя поля, оно должно начинаться с символа "#". Как правило, имя поля соответствует имени поля в базе данных. Например, "#fil_title" соответствует метке чертежа, в который будет вставлен макрос. Некоторые из этих полей являются обязательными для получения согласованного результата.

Имена первого поля, которые необходимо настроить, соответствуют положениям и имени макроса.

Табл. 1. Макрос
Имя поля Описание Обязательно
#mac_name Имя макроса Да
#mac_posx Координата X позиции для вставки макроса Да
#mac_posy Координата Y позиции для вставки макроса Да
#mac_insert Если этот столбец имеется, не скрыт, содержит 0 или пуст, то макрос не будет обработан. Нет

В отношении других полей базы данных SOLIDWORKS Electrical принимает только поля для таблиц чертежей ("fil"), пакетов ("bun"), местоположений ("loc") и функций ("fun").

Единственное обязательное поле — это #fil_title, которое является заголовком чертежа, в который вставляется макрос. Однако при вставке любого другого поля, например книги, местоположения или функции, требуется тег соответствующей таблицы. Например, при вставке любого поля местоположения требуется поле #loc_text.

Поддерживаемые поля отображаются в следующей таблице:
Табл. 2. Чертежи
Имя поля Описание Обязательно
#fil_filename Имя файла на диске Нет
#fil_title Метка чертежа Да
#fil_filetype Тип чертежа (*) Нет
#fil.tra_0.xx Описание чертежа, где xx — это код языка Нет
#fil.use_data0 Пользовательские данные чертежа Нет
(*) Поддерживаемые значения для типа файла:
  • 0: Чертеж принципиальной схемы
  • 1: Чертеж структурной схемы
  • 5: Титульный лист
  • 9: Чертеж компоновки шкафа
  • 12: Чертеж смешанной схемы
Табл. 3. Книги
Имя поля Описание Обязательно
#bun_tag Метка книги Да (если используется книга)
#bun.tra_0.xx Описание книги, где xx — это код языка Нет
Табл. 4. Папка
Имя поля Описание Обязательно
#fol_name Метка папки Нет (если используется любая папка)
#fol.tra_0.xx Описание папки, где xx — это код языка Нет
Табл. 5. Местоположения
Имя поля Описание Обязательно
#loc_text Метка местоположения Да (если используется местоположение)
#loc_tagpath Путь метки (полная метка) Нет
#loc_tagroot Корень для метки Нет
#loc.tra_0.xx Описание местоположения, где xx — это код языка Нет
Табл. 6. Функции
Имя поля Описание Обязательно
#fun_text Метка функции Да (если используется любая функция)
#fun_tagpath Путь метки (полная метка) Нет
#fun_tagroot Корень для метки Нет
#fun.tra_0.xx Описание функции, где xx — это код языка Нет

Данные пользователя и переводимые данные можно также добавить в виде поля, но поскольку они не будут находиться непосредственно в таблице объектов, определение поля будет немного отличаться.

Для переводимых данных имеет следующий формат: #ttt.tra_nn.xx

Где
  • ttt заменяется префиксом таблицы (fil, bun, loc, fun);
  • tra представляет переводимые данные (не подлежат изменению);
  • nn заменяется индексом необходимых данных (0 для описания). Максимальное значение для переводимых данных — 14.
  • .xx заменяется кодом языка, как правило. usually.l1 (L1) для основного языка электротехнического проекта. Поддерживаемые коды языков:
    • Из языков электротехнического проекта (L + от 1 до 3) — "l1", "l2", "l3"
    • Стандартные коды языков — en, es, fr, it, ru, ko, ja, pt..., zh, zh-tw

Например, для описания файла на основном языке электротехнического проекта: #fil.tra_0.l1

Для данных пользователя синтаксис будет аналогичным, но без данных о языке: #ttt.use_datann

Где
  • ttt заменяется префиксом таблицы (fil, bun, loc, fun);
  • use_data представляет данные пользователя (не подлежат изменению);
  • nn представляет индекс необходимых данных, от 0 до 19 для данных пользователя.

Например, для данных пользователя файла: #fil.use_data0

Переменные После указания всех данных необходимо указать место для вставки макросов (чертежа, книги, местоположения и функции) и переменные, которое будут заменены на значения. Для этого можно воспользоваться одним из двух методов.

Первый метод состоит в том, чтобы последовательно прописать в первом доступном столбце заголовка тег "#mac_var_name", а в следующем — "#mac_var_value", и затем проделать то же самое во стольких парах столбцов, во скольких нужно. После этого для каждой прописываемой строки (каждого вставляемого макроса) в первом столбце необходимо указать имя переменной, а во втором столбце — значение этой переменной. Пример:

#mac_name #mac_var_name #mac_var_value #mac_var_name #mac_var_value
Test0 %motor1% M5 %motor2% M6
В этом случае вставляется макрос Test0, переменная %motor1% изменяется на M5, и переменная %motor2% изменяется на М6.

Второй метод — лучше, если для всех макросов используются одни и те же имена переменных. Затем при использовании этого метода в заголовке указывается имя переменной, например %VAR1%, и в разных строках — значение, которое имеется у этой переменной для вставленного макроса. Пример:

#mac_name %var1% %var2%
Test0 M5 M6
Test1 V3 V4
В этом случае в первой строке вставляется макрос Test0, переменная %var1% изменяется на M5 и переменная %var2% изменяется на M6, а во второй строке вставляется макрос Test1, заменяя в этом случае переменную %var1% на V3 и переменную %var2% на V4.
Регистр в именах переменных не учитывается.
Использование формулы с переменными Для автоматического создания значения во время автоматической генерации чертежа можно использовать формулу. Формула будет определяться с помощью двух символов "{ }", одного "{" в начале и другого "}" в конце. Содержимым между этими двумя символами будет формула, которая может соответствовать любой формуле в программе. Переменные в формуле должны быть отформатированы точно так же, как и в файле Excel (%VARIABLE%).

Например, задайте метку компонента с данным значением: {"PP_" + %VARIABLE% + "RR" + %VARIABLE2%}

Если при создании файла Excel вставить макрос два раза, то в первый раз результат будет PP_33RR12, а во второй раз — PP_33RR13.

Если в файле Excel имеется две строки:

с переменной %VARIABLE% со значением 33 и переменной %VARIABLE2% со значением 12

с переменной %VARIABLE% со значением 33 и переменной %VARIABLE2% со значением 13

Управление стилем проводов В диалоговом окне свойств Стиль провода макроса введите переменную %WIRE_STYLE% для поля с именем WIRE_STYLE. В Excel можно добавить необязательный столбец %WIRE_STYLE% и ввести имя стиля провода.
Автоматическое подключение проводов Чтобы использовать этот параметр, необходимо выбрать параметр Автоматическое подключение макросов на вкладке Общие в конфигурации электротехнического проекта.

При использовании автоматизации Excel для создания схем можно автоматически соединить провода или обозначения между существующей схемой и вставляемыми макросами.

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

Управление стрелками "источник/место назначения" Рассмотрим два макроса со стрелкой источника, помещенной в один макрос, и стрелкой места назначения, помещенной в другой макрос. Когда вы решите вставить оба макроса с помощью автоматизации Excel, можно разместить соединение между стрелками источника и места назначения в двух макросах.

Вставьте в макросы обозначения источника или места назначения, в которых введена одинаковая переменная (например: %Group1%) в качестве имени группы.

В файле Excel добавьте столбец, используя эту переменную. В этом столбце введите имя группы. Все обозначения с одинаковым именем группы будут автоматически связаны.

Замена обозначения при вставке макроса Рассмотрим обозначение, вставленное в макрос. При вставке макроса из автоматизации Excel можно заменить это обозначение.

Отредактируйте макрос и откройте свойства обозначения. Введите переменную, например %SYMBOL_NAME% в поле Переменная автоматизации Excel.

В файле Excel добавьте столбец с помощью этой переменной (в нашем случае — %SYMBOL_NAME%). В этом столбце введите имя обозначения, которое необходимо использовать.

#mac_name %SYMBOL_NAME%
Test0 TR-EL002
Test0 TR-EL035
В этом примере вы вставляете макрос Test0 (первый раз с обозначением TR-EL002 и второй с обозначением TR-EL035, даже если в макросе Test0 было определено другое обозначение.

Установка дополнения Excel

Для создания файла Excel можно использовать дополнение. Чтобы установить его, нажмите Импорт/Экспорт > Установить дополнение Excel .

Автоматически запускается программа установки дополнения Excel. Если нет, выберите файл EwExcelAddIn.vsto.

Автоматическое создание чертежей

После создания файла Excel можно импортировать его в SOLIDWORKS Electrical для автоматического создания чертежей. Нажмите Импорт/Экспорт > Автоматизация Excel .

Открывается диалоговое окно выбора файла, в котором можно выбрать файл Excel. Книги, папки и чертежи создаются автоматически, макросы вставляются в эти чертежи, а переменные заменяются значениями.

SOLIDWORKS Electrical не проверяет, существуют ли эти чертежи или содержат ли они другие электрические объекты. В этом случае макросы вставляются вне зависимости от существующих объектов чертежа.

Открывается диалоговое окно отчета, и отображаются важные результаты.

Пример файла

  1. Чтобы использовать этот пример, создайте новый электротехнический проект.
  2. Скачайте каталог производителя Demo_Simple.part.tewzip и разархивируйте его в разделе Управление деталями производителя.
  3. Скачайте макрос Demo_Simple_Macros.macro.tewzip и разархивируйте его в разделе Управление макросами.
  4. Откройте макрос, чтобы отобразить переменные.
  5. Скачайте файл Demo_Simple.xlsx и откройте его для отображения структуры.
  6. Запустите команду Автоматизация Excel для импорта файла Excel.