Vote for a similar topic

Выбрать точки с помощью стринга
Всем здравствуйте!
Быть может, кому-то будет полезен скрипт, о котором пойдет речь в этом посте.
Скрипт позволяет выбрать точки, находящиеся внутри нарисованного вами полигона или вне него, так как удалять вручную все ненужные точки при большом наборе данных может оказаться трудоемкой и нудной работой.
Пусть у вас имеются набор точек, и вы желаете оставить те точки, которые попадают внутрь полигона:
Запускаете скрипт, выбираете файл точек и файл стринга и нажимаете ОК.
В результате будет создан (имя созданного файла образуется из старого с добавлением в конце _cut) и загружен в Vizex файл точек, которые находятся внутри полигона:
Если вы хотите оставить точки вне полигона, то надо поставить галочку Вне полигона и проделать те же самые операции. Скрипт находится по ссылке Выбрать точки стрингом.py, для его работы необходим также файл mmfiles.py, который должен находиться в той же папке, что и скрипт Выбрать точки стрингом (в папке проекта).
Примечание: данный скрипт работает только в плане

Скрипт для разбиения файла по полю
Я решил добавить на форум скрипт, являющийся по сути своей утилитой по работе с файлами данных (DAT, STR, RPT). Он позволяет разбить исходный файл по какому-то уникальному значению, поместив каждый получивший набор данных в отдельный файл.
Так выглядит окно скрипта:

На ввод надо указать исходный файл, который вы желаете разделить и указать столбец в Поле, в котором хранятся те самые уникальные значения.
На вывод выбирается директория, в которую будут записаны получившиеся файлы. В поле Префикс нужно указать имя файла, которое будет стоять в названии файла перед порядковым номером. Пример: Префикс = Блок_, в результате получатся файлы Блок_1, Блок_2 и т.д.
Дополнительные возможности:
В случае, если вы разбивали файл стрингов или точек, то вы можете сразу загрузить их в Визекс после того, как скрипт завершит разбиение. Для этого надо поставить галочку у поля Автозагрузка, указать все поля и после нажатия на ОК, скрипт загрузит все созданные файлы в Micromine.
Желаю всем успехов!
Сам скрипт находится тут: GUI - Разделить файл по полю.py
Для запуска скрипта необходимо установить Python на компьютер, на котором вы пытаетесь запустить скрипт, так как он использует графическую оболочку Tkinter, не встроенную в Micromine. Ниже выберите нужную для вас ссылку:
- Micromine 2013 – скачайте Python по ссылке
- Micromine 2014 32bit – скачайте Python по ссылке.
- Micromine 2014 64bit – скачайте Python по ссылке.
- Нежелательно устанавливать несколько из представленных выше версий Python на один компьютер.
- После установки Python нужно перезапустить Micromine, если он был запущен.

Экспорт набора каркасов из TDB в MDB
Всем доброго времени суток!
Вашему вниманию предлагается скрипт в двух вариациях для экспорта набора каркасов из TDB в MDB. Для работы скрипта необходимо иметь установленный модуль для работы с базами данных: pyodbc-3.0.6.win32-py3.3.exe (устанавливать в директорию, где установлен Python).
1. Export TDB-MDB GUI.py - с графических интерфейсом.
2. Export TDB-MDB.pyПосле запуска появится окно следующее окно:
Далее вы выбираете файл TDB (можно двойным кликом по полю ввода), и вводите или выбираете файл MDB. Нажимаете ОК, и все каркасы, находящиеся в TDB, будут экспортированы. В случае незаполненных полей скрипт выдаст сообщение об ошибке:
Если будут возникать какие-то вопросы, спрашивайте. Совсем скоро на форуме будут появляться и другие скрипты.Данный скрипт не имеет графического интерфейса. Для его работы, необходимо вручную прописать в окне скрипта имена файлов (без расширения!). Далее запустить скрипт, после чего начнется экспорт каркасов.
Примечание. Для корректной работы скрипта файлы TDB должны обязательно лежать в корне папки проекта.

Скрипт для загрузки цветных точек
Начинаю пополнять наш форум готовыми скриптами. Первый скрипт на сегодня - это возможность Micromine загружать в визекс цветные точки.
Входные данные: файл данных, в которых хранятся координаты точек и поля с красным (R), зеленым (П) и синим (B) цветами. Пример файла представлен ниже:

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

Пойдем по порядку.
- Ввод:
- В поле Файл двойным щелчком выбираете файл данных
- Выбираете из выпадающего списка нужные поля координат X, Y, Z и цветов R, G, B.
- Вывод:
- Обязательно надо указать Поле цвета - это должно быть символьное поле, в которое скрипт проставит метку для дальнейшеного создания палитры цветов (просто номер строки)
- Дополнительные опции:
- Поле Разбить файл можно использовать для того, чтобы ускорить процесс загрузки вашего файла. Так как файлы сканирования обычно содержат большое число точек, то процесс загрузки может занять много времени. Для примера скажу, что 362000 цветных точек может загружать более часа. Поэтому введя какое-либо число, вы тем самым указываете количество файлов, на которое разобьется исходный файл. Каждый из этих файл по отдельности загружается быстрее, и время загрузки для тех же 362000 точек может уменьшиться до 15-25 минут. Естественно, у каждого компьютера свои возможности, поэтому не могу обещать, что на вашем компьютере скорость загрузки будет такая же или быстре. Может быть все!
- Функция Группировать палитру цветов позволит вам (прошу прощения за масло масляное) сгруппировать цвета, что в результате уменьшит количество значений в палитре. Эту функцию удобно использовать, когда у вас небольшой разбор цветов. Для файлов, с полным набором цветовой гаммы эта функция никаким образом не ускорит загрузку точек. В случае, когда у вас тысячи точек и три цвета - да, разница будет ощутима.
- Вы так же можете сохранить получившуюся палитру цветов, указав номер и имя формы. Тут важно помнить два момента:
- В случае, если вы вводите существующий номер набора форм, скрипт не спросит у вас разрешения заменить или перезаписать этот набор.
- В этом скрипте нет возможности получить список имеющихся наборов форм, поэтому перед сохранением, убедитесь, что вы вводите верный номер набора, чтобы потом ваши старые данные не потерялись
Пример точек для загрузки: Coloured_Points.DAT
Для запуска скрипта необходимо установить Python на компьютер, на котором вы пытаетесь запустить скрипт, так как он использует графическую оболочку Tkinter, не встроенную в Micromine. Ниже выберите нужную для вас ссылку:
- Micromine 2013 – скачайте Python по ссылке
- Micromine 2014 32bit – скачайте Python по ссылке.
- Micromine 2014 64bit – скачайте Python по ссылке.
- Нежелательно устанавливать несколько из представленных выше версий Python на один компьютер.
- После установки Python нужно перезапустить Micromine, если он был запущен.

Пособие по написанию скриптов в Micromine 2021.5
Здравствуйте. С Новым годом! Скажите, существует ли пособие по написанию скриптов?

Пересечение стрингов
Приветствую!
В Micromine уже имеется функция, которая определяет точки пересечения стрингов, однако получить их в отдельном файле точек не предоставляется возможным, потому что они добавляются в файл так называемого "основного" стринга (стринга, который выбирается пользователем первым), и добавляются не в конец файла, поэтому пользователю, если появилась такая потребность, придется искать их, пролистывая неоднократно целиком весь файл.
Я нарисовал от руки небольшой пример:
В жизни приходится работать с более красивыми стрингами, но тем не менее сути это не меняет. После запуска скрипта вам надо будет заполнить поля в появившимся окне:
Вы указываете файл файлы стригов и задаете имя файла точек (вводите имя или выбираете уже существующий файл), в который будут сохранены точки пересечения выбранных вами стрингов. Скрипт запустить встроенную в Micromine функцию Создать точку на пересечении, то есть надо надо проделать знакомую для всех операцию: выбрать "основные" и пересекающиеся стринги. В результате работы скрипта в Vizex загрузится файл точек:
Скрипт: Пересечение стрингов.py
Необходимые файлы: mmfiles.py
Примечание:
- Прошу заметить, что файлы стрингов не обязательно сохранять, если они еще не были сохранены, так как Micromine по умолчанию их сохраняет в файл Без имени.str.
- Функция Создать точку на пересечении по умолчанию добавляет точки пересечения в файл стринга, однако скрипт удаляет эти точки оттуда. Так как этот файл так или иначе подвергся изменениям, он будет в окне просмотра помечен звездочкой, но это все тот же файл, поэтому если Micromine спросит: "Сохранить ли изменения в файле Без имени.STR?", то можно смело жать на любой ответ.

Скрипт для расчета среднего значения по пробам
Следующим по списку будет скрипт, также являющийся утилитой по работе с файлами и позволяющий легко и быстро расчитать среднее значение по пробам для файлов с определенной структурой, которая представлена ниже:

Окно скрипта выглядит следующим образом:

Скрипт предельно простой, но тем не менее я опишу, что он принимет на вход, и что получается на выходе. На ввод вы указываете файл опробования и выбираете из выпадающего списка имя столбца, в котором у вас хранится название пробы. Для примера файла, который показан выше, таким столбцом является столбец SAMPLE.
Далее вам следует выбрать поле элемента, по которому должно быть расчитано среднее значение. Скрипт имеет, так скажем, резерв на пять элементов, так что все пять одновременно могут получить свои средние значения. В поле Вывод нужно выбрать существующего в файле столбец или указать новый, в которое и будет записано среднее значение соответствующего элемента.
Желаю всем хорошего дня!
Сам скрипт можно скачать тут: GUI - Расчет среднего значения по пробам.py
Для запуска скрипта необходимо установить Python на компьютер, на котором вы пытаетесь запустить скрипт, так как он использует графическую оболочку Tkinter, не встроенную в Micromine. Ниже выберите нужную для вас ссылку:
- Micromine 2013 – скачайте Python по ссылке
- Micromine 2014 32bit – скачайте Python по ссылке.
- Micromine 2014 64bit – скачайте Python по ссылке.
- Нежелательно устанавливать несколько из представленных выше версий Python на один компьютер.
- После установки Python нужно перезапустить Micromine, если он был запущен.

Загрузка растров
Здравствуйте, коллеги!
В этом посте представлен скрипт, который позволяет загружать все растры, находящиеся в выбранной вами директории. Для корректной работы скрипта, нужно установить модуль easygui.py (скопируйте этот файл в директорию, в которую у вас установлен Python, например, C:\Python33\).
После запуска скрипта появится окно для выбора папки с растрами:
Выбираете папку, нажимаете кнопку ОК, и начнется загрузка изображений в Micromine. Изображение будет загружено лишь в том случае, если имеется файл привязки (grf или tab). Если его нет, то скрипт выдаст сообщение о его отсутствии в окне Результат скрипта:
Примечание: скрипт определяет изображения по их разрешениям, которых по умолчанию 16 (bmp, png, j2k, jp2, .jpg, jpx, jpg, jpeg, tif, tiff, bil, bip, gif, jfi, jti, tga). Если вдруг вы пытаетесь загрузить изображение с разрешением, которого нет в приведенном списке, то нужно прописать вручную это разрешение файла в одиннадцатой строке скрипта по аналогии с тем, как прописаны уже существующие:
Скачивайте, тестируйте, пользуйтесь: Загрузка растров.py

РЕЦЕПТ: русские символы в скриптах
Добрый день, коллеги.
Данный рецепт направлен на решение проблемы невозможности запуска из файла или слотов скриптов, содержащих русские символы. Такие символы могут содержаться в названиях полей, именах файлов и т.п.
Решение не слишком изящное, но работающее. Идея состоит в том, чтобы в самом файле скрипта русские символы транслитерировать английскими и преобразовывать их обратно в русские непосредственно перед использованием.
Вот в этом файле Translation.py содержатся две функции:
detranslate(исходная строка) - преобразовывает в русские символы всю строку ('Korova' -> 'Корова')
dt_stroke(исходная строка) - преобразовывает в русские символы, заключенные в фигурные скобки ({}) ('{Korova} says Moo, {deti!shki}' -> 'Корова says Moo, детишки')
Этот файл надо поместить в папку библиотек Micromine (у меня это "C:\Program Files (x86)\Micromine 2013\Python\lib\")
Правила транслитерации немного отличаются от обычных:
А-A а-a
Б-B б-b
В-V в-v
Г-G г-G
Д-D д-d
Е-E е-e
Ё-!YO ё-!yo
Ж-!ZH ж-!zh
З-Z з-z
И-I и-i
Й-Y й-y
К-K к-k
Л-L л-l
М-M м-m
Н-N н-n
О-O о-o
П-P п-p
Р-R р-r
С-S с-s
Т-T т-t
У-U у-u
Ф-F ф-f
Х-H х-h
Ц-!TS ц-!ts
Ч-!CH ч-!ch
Ш-!SH ш-!sh
Щ-!SCH щ-!sch
Ь-!`(обратный апостроф) ь-`
Ы-!YY ы-!yy
Ъ-!~ ъ-~
Э-!YE э-!ye
Ю-!YU ю-!yu
Я-!YA я-!ya
Использование:
1. Импортируйте модуль Transaltion
2. Используйте одну из функций преобразования
Пример 1 (теоритический):
print ('Hello World! Прощай, жестокий мир')
Запускается только в редакторе скриптов.
import Translation
print (Translation.dt_string('Hello World! {Pro!schay, !zhestokiy mir!}'))
Запускается в редакторе скриптов, из файла или слота.
Пример 2 (кусок из рабочего скрипта):
...
WsLoadStrings_FormSet1.set_field("Z_VARB","ВЫСОТА")
...
Запускается только в редакторе скриптов.
import Translation
...
WsLoadStrings_FormSet1.set_field("Z_VARB",Translation.dt_string("{V!YYSOTA}"))
...
Запускается в редакторе скриптов, из файла или слота.
Буду рад, если рецепт кому-то пригодится.

Скрипт для расчета условного металла
В этом посте я расскажу про скрипт для расчета условного метала. Окно скрипта ниже:

На ввод необходимо указать файл опробования, а так же выбрать поля элементов, участвующих в формуле расчета условного металла, их коэффициенты и минимальные значения, ниже которого элемент не будет участвовать в формуле. В расчетной формуле в данном скрипте может участвовать до десяти элементов. На вывод указывается поле, в которое и будет записано содержание условного металла.
Дополнительные возможности
В случае, когда отсутствует значение опробования по той или иной причине, можно выбрать, что делать: либо пропустить всю строчку, и тогда значение условного металла будет пустым, либо игнорировать эту ячейку, и тогда просто элемент не будет участвовать в расчете.
Данный скрипт будет немного усовершенствован. Если есть еще какие-то пожелания, то прошу сообщить о них, чтобы сделать работу со скриптом более плодотворной.
Скрипт можно скачать тут: GUI - Расчет условного металла.py
Для запуска скрипта необходимо установить Python на компьютер, на котором вы пытаетесь запустить скрипт, так как он использует графическую оболочку Tkinter, не встроенную в Micromine. Ниже выберите нужную для вас ссылку:
- Micromine 2013 – скачайте Python по ссылке
- Micromine 2014 32bit – скачайте Python по ссылке.
- Micromine 2014 64bit – скачайте Python по ссылке.
- Нежелательно устанавливать несколько из представленных выше версий Python на один компьютер.
- После установки Python нужно перезапустить Micromine, если он был запущен.
Customer support service by UserEcho