Commands runner. Примеры использования
9 мин. чтения
Во второй части мы поговорим о практическом применении опции Commands runner.
- Как исправить ошибки в проекте на ранних стадиях.
- В чём разница между вкладками Session и Model history в поле Command line.
- Как импортировать геометрию с помощью Excel.
- Варианты решения критической ошибки в PLAXIS.
- Как восстановить проект с помощью лог-файла.
- Другие примеры применения Commands runner.
Рассмотрим примеры использования Commands runner на практике:
- Исправление ошибки в проекте.
- Импорт команд из Excel.
- Восстановление проекта с критической ошибкой.
- Отправка проекта.
- Учебные задачи и примеры по верификации.
Исправление ошибки в проекте #
Иногда нужно исправить что-то в проекте, а отмена действий через опцию Undo (Ctrl+Z) не походит, потому что:
- ошибка допущена слишком давно, и возможностей Undo не хватает;
- вы не хотите отменять операции, допущенные после ошибки, потому что придётся их повторять;
- после ошибки были выполнены команды, на которые Undo не действует: сохранили проект save или сгенерировали сетку mesh, которая вас не устраивает — в обоих случаях вы хотите вернуться к предыдущему варианту.
Исправление ошибки требует немало времени и сил. В этом случае можно скопировать часть выполненных команд из истории проекта, внести нужные изменения и с помощью Commands runner повторить всё с нуля.
Самый простой способ — скопировать команды на вкладке Model history в поле Command line. Но сначала разберёмся, чем отличаются вкладки Session и Model history.
В чём разница между Session и Model history #
В поле Command line есть две вкладки: Session (Сессия) и Model history (История модели):
Session #
На вкладке Session мы видим команды, которые были выполнены во время текущей сессии, то есть во время текущей работы с проектом:
Также на этой вкладке программа показывает результат выполнения команды. На предыдущем скриншоте это ОК — результат успешного выполнения команды. К примеру, если мы добавим линию (line), то программа покажет информацию о добавлении точки и линии:
Model history #
На вкладке Model history программа покажет список всех команд с момента создания проекта. В том же проекте перейдём на вкладку Model history:
Как повторить список команд #
Model history #
Допустим, мы хотим повторить все команды до последнего сохранения (команда 0160). Опция Undo (Ctrl+Z) нам уже не поможет. Тогда на вкладке Model history мы вручную выделяем все команды с 1-й по 160-ю и копируем через Copy в меню правой кнопки мыши или через Ctrl+C:
Далее создаём новый проект (Ctrl+N). Окно Project properties можно проигнорировать, потому что в списке команд есть все нужные данные. Запускаем Commands runner (Ctrl+F9), вставляем список команд (Ctrl+V) и выполняем их (F9).
Все команды из предыдущего абзаца можно выполнить за одно сочетание клавиш: Ctrl+Shift+N. При нажатии этого сочетания клавиш программа создаёт новый проект, открывает Commands runner, вставляет из буфера обмена скопированные команды и выполняет их.
Таким образом вы можете вставить нужное количество команд, повторив только часть проекта, или внести в список команд необходимые правки: изменить что-то в геометрии, удалить лишние команды, вставить дополнительные операции и др.
Session #
На вкладке Session отображается не только команда, но и результат её выполнения. В меню правой кнопки мыши есть дополнительные опции для копирования:
- All (Ctrl+C) — скопировать всё: и команду, и результат выполнения.
- Successful commands — скопировать успешно выполненные команды (например, phase Phase_14).
- Successful responses — скопировать успешно завершённые результаты выполнения команд (Added Phase_16). Это может быть полезно в Output, когда нужно скопировать результаты выполнения команд.
Импорт из Excel #
Список команд можно скопировать из блокнота, Word, Excel или из другого текстового редактора — Commands runner всё поймёт.
Предположим, нам нужно задать в PLAXIS 3D массив из 480 свай, которые расположены в определённом порядке.
Копировать сваи с помощью Create array (Создать массив) будет проблематично. Воспользуемся возможностями Excel.
Для массива свай лучше использовать элемент embedded beam. Синтаксис команды: embeddedbeamx1 y1 z1 x2 y2 z2, где embeddedbeam — это название команды для создания погруженной балки (сваи), x1 y1 z1 — начальные координаты свай (верх свай), x2 y2 z2 — конечные координаты (низ свай).
Заносим данные в Excel:
Копируем 480 строк из Excel (первая строка с шапкой столбцов не нужна) через Ctrl+C и вставляем данные в Commands runner через Ctrl+V:
Нажимаем Run everything (F9) и смотрим на результат:
Аналогично можно задать любой набор элементов: геологические колонки, плиты, балки, анкеры, геосетки, нагрузки и др. Есть возможность назначать свойства, активировать и деактивировать элементы.
Восстановление проекта с критической ошибкой #
Окно с критической ошибкой #
Что-то пошло не так, и программа выдала критическую ошибку:
Редко, но бывает. Сильно переживать не стоит — разработчики предлагают несколько вариантов решения проблемы.
В окне с критической ошибкой сперва выбираем справа Continue application. Если ошибка повторяется, то нажимаем Save bug report, сохраняем bug report (txt файл с отчётом по ошибке) и жмём Restart application (в крайнем случае Close application).
После Restart application программа перезапустится, и мы сможем выбрать Recover crashed project (Восстановить нарушенный проект):
Как восстановить проект с помощью лог-файла #
Один раз к нам обратился клиент, у которого после закрытия проекта выскочила критическая ошибка, и проект перестал открываться — каждый раз вылетала та же ошибка.
Такое бывает очень редко. Что делать в этом случае? После отправки проекта в техническую поддержку мы предложили клиенту восстановить проект через лог-файл, который хранится в папке проекта. Рассмотрим общий алгоритм действий.
Из чего состоит проект PLAXIS #
Любой проект PLAXIS состоит из двух частей:
- Папка с информацией о проекте В PLAXIS 2D это папка Название_проекта**.p2dxdat, в 3D — Название_проекта.**p3dat. В этих папках хранится вся информация о проекте. Если у вас сохранилась папка проекта, то в большинстве случаев проект можно открыть или восстановить.
- Файл запуска В PLAXIS 2D это файл Название_проекта.p2dx, в 3D — Название_проекта.p3d. Файл запуска без папки не работает, он нужен только для запуска проекта.
Если файл запуска *.p2dx или *.p3d был потерян (удалили, коллега не переслал и др.), то в папке проекта можно найти файл data.p2dx или data.p3d и скопировать его рядом с папкой. После этого переименовать его под тем же названием, что и папка: вместо data.p2dx должно быть Название_проекта.p2dx.
Работа с лог-файлом проекта #
В папке с проектом должен сохраниться файл data.success.p2dxlog (PLAXIS 2D) или data.success.p3dlog (PLAXIS 3D).
В этом файле хранится список команд, которые были успешно выполнены в проекте. Его можно открыть любым txt-редактором, например, стандартным Блокнотом:
Общий алгоритм действий:
- Создаём новый проект (Ctrl+N).
- Открываем Commands runner (Ctrl+F9).
- Открываем лог-файл data.success.p2dxlog (Ctrl+O).
Нажимаем кнопку Run everything для выполнения всех команд (F9).
Работа с файлами запуска *.p2dx и *.p3d #
В файлах запуска *.p2dx и *.p3d тоже хранится список всех команд. Это не так очевидно, потому что при открытии лог-файлов в Commands runner (Ctrl
+O
) программа предлагает файлы с расширением *.p2dxlog или *.p3dlog, а вариантов *.p2dx или *.p3d там нет:
Здесь поможет последний вариант All files (.). В таком случае можно выбрать файл запуска *.p2dx или *.p3d, и программа откроет список всех команд.
Отправка проекта через лог-файл #
Сложные проекты PLAXIS занимают много места. Если нужно отправить такой проект коллеге или в техническую поддержку, то могут возникнуть проблемы с пересылкой по почте или через файлообменник — в некоторых организациях есть ограничения. В этих случаях помогает пересылка небольшого текстового лог-файла.
Надо иметь в виду, что тому, кому вы пошлёте лог-файл, придётся не только выполнить весь список команд (а в сложных проектах это могут тысячи или даже десятки тысяч команд), но и повторить процесс расчёта. Поэтому рекомендуем использовать этот способ только для лёгких проектов и для тех случаев, когда нужна только геометрия без результатов расчёта.
Открытие проекта в предыдущей версии PLAXIS #
В PLAXIS нельзя запустить проекты, если они сделаны в более новой версии. Например, если проект сохранён в PLAXIS 2D CE V20, вы не сможете запустить его в предыдущей версии PLAXIS 2D 2019 или ранее (история версий). Наоборот можно: открыть в новой версии старый проект.
Если разница между версиями не очень большая, то можно попробовать отправить список команд. Конечно, остаётся та же особенность, что была названа в предыдущем пункте: вашим коллегам, которые работают в более старой версии, придётся повторить весь список команд. Велик шанс, что какая-то команда не сработает, потому что изменился синтаксис команды или появились новые опции. Особенно это вероятно, если разница между версиями очень большая. Тем не менее попробовать стоит.
Резервное копирование проектов #
Лог-файл проекта можно использовать для резервного копирования проектов (backup copy).
Например, вы работаете над большим проектом в PLAXIS 3D. Вместо того, чтобы сохранять каждый раз разные варианты проектов, мы можем сохранить только лог-файл текущего варианта проекта. На выходе будет лёгкий текстовый файл со списком команд и с указанием даты создания. Если вдруг что-то случится в следующих версиях проекта, у нас будет готовый лог-файл, по которому можно восстановить проект.
Перед сохранением лог-файла удобно использовать опцию Examine commands, убрав из списка команд всё лишнее, в том числе все промежуточные создания сетки (mesh), расчёты (calculate) и обращения к Output (view).