+3

Загрузка множества растров из папки с автоматическим сохранением всех форм

Илья (Moderator (RUS)) 4 months ago in Micromine / Scripting 0

Добрый день!

Рассмотрим следующую задачу:

У нас есть несколько папок с привязанными изображениями в Майкромайн, в каждой папке 1000+ растров. Нам необходимо загрузить их все в ММ и сохранить формы.


Решение:

Можно воспользоваться стандартным способом. Для этого необходимо перетащить все изображения в визекс, потом нажать правой кнопкой мыши по любому слою и выбрать Сохранить все формы, после этого 1000+ раз кликнуть ОК. Понятно, что данный способ далек от автоматизации, поэтому ниже предлагается решение средствами Python.

Для запуска скрипта необходимо:

1. Установить Python 3.8.5+. Инструкция по этой  ссылке.

2. Открыть файл скрипта (Скриптинг/Открыть)

3. В разделе для изменений указать путь к папки с растрами и расширение.(строка 7 и строка 9)

Image 4112

4. Запустить скрипт 

Image 4113

Скрипт работает следующим образом:

1. В указанной директории находит все файлы (в том числе во вложенных папках) с указанным расширением и сохраняет пути в список.

2. По очереди подставляет найденные пути в форму загрузки изображения. Для загрузки используется стандартная форма с файлом привязок Micromine (GRF).

На этом же этапе происходит сохранение формы.

Заголовок формы — Это имя файла.

Папка в формах - Папка из указанного пути.

В моем случаи результат будет выглядеть так:

Image 4115

В формах:

Image 4116

Обработанные растры:

Image 4117

Файл скрипта

Илья