
Работа со скриптами в Micromine Origin & Beyond
Всем здравствуйте!
Использование скриптов в ГГИС Micromine для решения производственных задач стало носить массовый характер. Скрипты очень удобны, так как позволяют существенно расширить функционал Micromine. С каждым годом идей для скриптов и их самих становится всё больше. Для того, чтобы пользователям было проще находить уже готовые решения или создавать свои собственные была создана эта тема.
Здесь Вы можете ознакомиться с руководством по подготовке Micromine к работе со скриптами, в котором описано как настроить Micromine для запуска скриптов. Для работы с большинством скриптов необходимо иметь установленный Python, руководство по его установке находится здесь.
Если у вас уже есть базовые знания языка программирования Python и вы хотите написать скрипт сами, можете воспользоваться нашим мануалом.
Когда будете делиться скриптами с участниками нашего форума, обязательно указывайте сведения о своём творении:
Версия Python | |
Версия Micromine | |
Пакетируемость |
Python упрощает жизнь)
Customer support service by UserEcho
https://www.python.org/downloads/
MMpy_Получить информацию из столбца с известным названием
С целью обучения и понимания принципов написания скриптов в Майкромайн, в этом разделе буду рассматриваться фрагменты кода, в которых решаются небольшие задачи, которые могут быть частью вашего скрипта. Итоговый скрипт будет во вложении.
MMpy_Получить информацию из столбца с извест....py
Первая задача, которую рассмотрим:
У нас есть файл .DAT необходимо получить символьную информацию из столбца с известным именем и сохранить в список только уникальные значения для дальнейшего использования в скрипте.
Решение:
1. Открываем новый скрипт в редактор скриптов Скриптинг | Новый.
2. Для начала импортируем библиотеку для работы с файлами и структурами Майкромайн
3. Указываем переменные Имя столбца с данными, Путь к файлу, Пустой список, куда будут сохранены данные.
MMpy.Project.path() - позволяет указать путь к проету ММ
4. Определяем ID столбца. Первый столбец имеет ID = 0.
5. Определяем количество записей в файле
6. Используя цикл for и функцию range сделаем перебор значений от 1 до количество записей в файле+1. После каждой итерации цикла получаем значения имени скважины из строки i.
Внутри цикла будем используем условие добавления имени в итоговый список. То есть при каждой итерации цикла будет проверка есть ли hole_name в списке, если его нет, то значение будет добавлено в список list_hole_name.
Функция range() возвращает последовательность целых чисел на основе переданных ей аргументов.
Цикл for в Python - это цикл перебора элементов итерируемых объектов.
7. Закрываем файл
8. Используем функцию print() для вывода списка.
спасибо.
MMpy_Запуск функции Майкромайн с помощью скрипта
Рассмотрим следующую задачу:
У нас есть файл с каркасами . tridb, с помощью скрипта необходимо получить отчет по всем каркасам в этом файле с помощью функции Каркас/ Отчет/ Свойства.
Решение:
Порядок действий для записи формы:
Как только вы нажмете кнопку “Запись” второй раз, появится диалоговое окно предлагающее сохранить получившийся скрипт. Как только вы его сохраните, откройте скрипт в редакторе скриптов, он будет выглядеть примерно так.
4. Далее создадим функцию report_wireframes() и укажем два аргумента path_tridb и path_rpt, которые будет передаваться функции при вызове. В тело функции поместим код, который записали в 3м шаге.
Чтобы запускаемая функция Майкромайн использовала переменные, который будут передаваться в функцию report_wireframes(path_tridb, path_rpt), необходимо изменить записанный код, как показано ниже.
Итоговая функция будет выглядеть следующим образом:
5. Далее вызовем функцию и передадим ей переменные:
После этого можете запускать скрипт!!!
Использование функции report_wireframes позволяет её многократно использовать в скрипте без повтора кода, передавая ей разные переменные.
Более подробно о функциях можно почитать по этой ссылке.
Итоговый скрипт:
MMpy_Запуск функции Майкромайн с помощью скр....py
MMpy_Создать новый файл
Рассмотрим следующую задачу:
Необходимо с помощью скрипта создать новый файл необходимой структуры.
Решение:
1. Создаем/открываем новый скрипт в редакторе скриптов (Скриптинг | Новый.)
2. Импортируем библиотеку для работы с файлами и структурами Майкромайн
3. Создаем переменные Имя файла и Путь, куда файл сохранить.
4. Создаем структуру нового файла
5. Добавляем в структуру необходимые столбцы
5. Создаем новый файл
6. Запускаем скрипт. Файл будет создан.
Итоговый скрипт:
MMpy_Новый файл.py
Python_Получить список всех файлов в указанной директории
Рассмотрим следующую задачу:
Например, у Вас в определённой директории есть ОЧЕНЬ много файлов .DWG и необходимо их импортировать в Майкромайн. Чтобы подавать их в функцию импорта необходимо получить пути ко всем файла.
Задача заключается в том, чтобы сохранить все пути в указанной директории в список, элементы которого в дальнейшем мы будем перебирать и подавать в функцию импорта.
Решение:
Для перебора директории будем использовать функцию
walk()
модуляos
, которая генерирует имена файлов в дереве каталогов, обходя дерево сверху вниз или снизу вверх. Более подробно можно почитать по этой ссылке.Пример кода:
Итоговый скрипт:
Python_Получить список всех файлов в указанн....py