Commands runner. Примеры использования

Во второй части мы поговорим о практическом применении опции Commands runner.

  1. Как исправить ошибки в проекте на ранних стадиях.
  2. В чём разница между вкладками Session и Model history в поле Command line.
  3. Как импортировать геометрию с помощью Excel.
  4. Варианты решения критической ошибки в PLAXIS.
  5. Как восстановить проект с помощью лог-файла.
  6. Другие примеры применения Commands runner.

Рассмотрим примеры использования Commands runner на практике:

  1. Исправление ошибки в проекте.
  2. Импорт команд из Excel.
  3. Восстановление проекта с критической ошибкой.
  4. Отправка проекта.
  5. Учебные задачи и примеры по верификации.

Исправление ошибки в проекте #

Иногда нужно исправить что-то в проекте, а отмена действий через опцию Undo (Ctrl+Z) не походит, потому что:

  • ошибка допущена слишком давно, и возможностей Undo не хватает;
  • вы не хотите отменять операции, допущенные после ошибки, потому что придётся их повторять;
  • после ошибки были выполнены команды, на которые Undo не действует: сохранили проект save или сгенерировали сетку mesh, которая вас не устраивает — в обоих случаях вы хотите вернуться к предыдущему варианту.

Исправление ошибки требует немало времени и сил. В этом случае можно скопировать часть выполненных команд из истории проекта, внести нужные изменения и с помощью Commands runner повторить всё с нуля.

Самый простой способ — скопировать команды на вкладке Model history в поле Command line. Но сначала разберёмся, чем отличаются вкладки Session и Model history.

В чём разница между Session и Model history #

В поле Command line есть две вкладки: Session (Сессия) и Model history (История модели):

image 40

Session #

На вкладке Session мы видим команды, которые были выполнены во время текущей сессии, то есть во время текущей работы с проектом:

image 41
С момента запуска проекта, во время текущей сессии, было выполнено две команды: 0167 > запуск проекта в PLAXIS 2D версия 20.3.0.60 (Update 3, релиз июнь 2020) 0168 > переход в режим Structures Других изменений не было, а до запуска проекта, следовательно, было выполнено 166 команд.

Также на этой вкладке программа показывает результат выполнения команды. На предыдущем скриншоте это ОК — результат успешного выполнения команды. К примеру, если мы добавим линию (line), то программа покажет информацию о добавлении точки и линии:

image 42
По синтаксису команды видим, что линия была создана из новой точки с координатами (−20 0) в существующую точку Point_2. В результате появилась новая точка Point_13 и добавилась линия Line_12

Model history #

На вкладке Model history программа покажет список всех команд с момента создания проекта. В том же проекте перейдём на вкладку Model history:

image 43
Посмотрим, что сделал пользователь, начиная со 160-й команды: 0160 > сохранил проект в папку D:\Начальный курс PLAXIS 2D CE V20.01\Задача 2. Армогрунтовая дорожная насыпь\ под названием Задача 2 0161 > щёлкнул в проводнике фаз (Phase explorer) по Phase_13 0162 > щёлкнул в проводнике фаз (Phase explorer) по Phase_14 0163 > посмотрел результаты Phase_14 (щёлкнул по кнопке View calculation results и перешёл в Output) 0164 > запустил проект в PLAXIS 2D версии 20.2.0.83 (Update 2, релиз март 2020) 0165 > перешёл в режим Staged construction 0166 > calculate True — команда, с помощью которой PLAXIS отмечает все фазы на расчёт (делает иконки голубого цвета) и запускает процесс расчёта. С помощью этой команды можно пересчитать все фазы в проекте (в том числе Initial phase). 0167, 0168, 0169 > см. предыдущие два скриншота

Как повторить список команд #

Model history #

Допустим, мы хотим повторить все команды до последнего сохранения (команда 0160). Опция Undo (Ctrl+Z) нам уже не поможет. Тогда на вкладке Model history мы вручную выделяем все команды с 1-й по 160-ю и копируем через Copy в меню правой кнопки мыши или через Ctrl+C:

image 44

Далее создаём новый проект (Ctrl+N). Окно Project properties можно проигнорировать, потому что в списке команд есть все нужные данные. Запускаем Commands runner (Ctrl+F9), вставляем список команд (Ctrl+V) и выполняем их (F9).

Все команды из предыдущего абзаца можно выполнить за одно сочетание клавиш: Ctrl+Shift+N. При нажатии этого сочетания клавиш программа создаёт новый проект, открывает Commands runner, вставляет из буфера обмена скопированные команды и выполняет их.

Таким образом вы можете вставить нужное количество команд, повторив только часть проекта, или внести в список команд необходимые правки: изменить что-то в геометрии, удалить лишние команды, вставить дополнительные операции и др.

Session #

На вкладке Session отображается не только команда, но и результат её выполнения. В меню правой кнопки мыши есть дополнительные опции для копирования:

image 45
  • All (Ctrl+C) — скопировать всё: и команду, и результат выполнения.
  • Successful commands — скопировать успешно выполненные команды (например, phase Phase_14).
  • Successful responses — скопировать успешно завершённые результаты выполнения команд (Added Phase_16). Это может быть полезно в Output, когда нужно скопировать результаты выполнения команд.

Импорт из Excel #

Список команд можно скопировать из блокнота, Word, Excel или из другого текстового редактора — Commands runner всё поймёт.

Предположим, нам нужно задать в PLAXIS 3D массив из 480 свай, которые расположены в определённом порядке.

image 46

Копировать сваи с помощью Create array (Создать массив) будет проблематично. Воспользуемся возможностями Excel.

Для массива свай лучше использовать элемент embedded beam. Синтаксис команды: embeddedbeamx1 y1 z1 x2 y2 z2, где embeddedbeam — это название команды для создания погруженной балки (сваи), x1 y1 z1 — начальные координаты свай (верх свай), x2 y2 z2 — конечные координаты (низ свай).

Заносим данные в Excel:

image 47
Сваи вертикальные, поэтому координаты X и Y верхней и нижней точки не отличаются. Длина сваи 25.95 м (по Z от 0 м до −25.950 м). N. B. При стандартных настройках Windows в качестве десятичного разделителя PLAXIS понимает точку, а не запятую

Копируем 480 строк из Excel (первая строка с шапкой столбцов не нужна) через Ctrl+C и вставляем данные в Commands runner через Ctrl+V:

image 48
Можно было скопировать все строчки из Excel, а потом проигнорировать первую команду с данными из шапки колонок, нажав Shift+F8

Нажимаем Run everything (F9) и смотрим на результат:

image 49
Остаётся назначить сваям свойства из базы данных по материалам

Аналогично можно задать любой набор элементов: геологические колонки, плиты, балки, анкеры, геосетки, нагрузки и др. Есть возможность назначать свойства, активировать и деактивировать элементы.

Восстановление проекта с критической ошибкой #

Окно с критической ошибкой #

Что-то пошло не так, и программа выдала критическую ошибку:

image 50
Окно с критической ошибкой вызвано искусственно с помощью команды __raise

Редко, но бывает. Сильно переживать не стоит — разработчики предлагают несколько вариантов решения проблемы.

В окне с критической ошибкой сперва выбираем справа Continue application. Если ошибка повторяется, то нажимаем Save bug report, сохраняем bug report (txt файл с отчётом по ошибке) и жмём Restart application (в крайнем случае Close application).

После Restart application программа перезапустится, и мы сможем выбрать Recover crashed project (Восстановить нарушенный проект):

image 51
Будьте внимательны: если в этом окне вы проигнорируете Recover crashed project и выберете другой вариант, то при повторном запуске проекта вариант восстановления пропадёт

Как восстановить проект с помощью лог-файла #

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

Такое бывает очень редко. Что делать в этом случае? После отправки проекта в техническую поддержку мы предложили клиенту восстановить проект через лог-файл, который хранится в папке проекта. Рассмотрим общий алгоритм действий.

Из чего состоит проект PLAXIS #

Любой проект PLAXIS состоит из двух частей:

  1. Папка с информацией о проекте В PLAXIS 2D это папка Название_проекта**.p2dxdat, в 3D — Название_проекта.**p3dat. В этих папках хранится вся информация о проекте. Если у вас сохранилась папка проекта, то в большинстве случаев проект можно открыть или восстановить.
  2. Файл запуска В 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-редактором, например, стандартным Блокнотом:

image 52

Общий алгоритм действий:

  • Создаём новый проект (Ctrl+N).
  • Открываем Commands runner (Ctrl+F9).
  • Открываем лог-файл data.success.p2dxlog (Ctrl+O).
image 53

Нажимаем кнопку Run everything для выполнения всех команд (F9).

Работа с файлами запуска *.p2dx и *.p3d #

В файлах запуска *.p2dx и *.p3d тоже хранится список всех команд. Это не так очевидно, потому что при открытии лог-файлов в Commands runner (Ctrl+O) программа предлагает файлы с расширением *.p2dxlog или *.p3dlog, а вариантов *.p2dx или *.p3d там нет:

image 54

Здесь поможет последний вариант All files (.). В таком случае можно выбрать файл запуска *.p2dx или *.p3d, и программа откроет список всех команд.

Отправка проекта через лог-файл #

Сложные проекты PLAXIS занимают много места. Если нужно отправить такой проект коллеге или в техническую поддержку, то могут возникнуть проблемы с пересылкой по почте или через файлообменник — в некоторых организациях есть ограничения. В этих случаях помогает пересылка небольшого текстового лог-файла.

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

Открытие проекта в предыдущей версии PLAXIS #

В PLAXIS нельзя запустить проекты, если они сделаны в более новой версии. Например, если проект сохранён в PLAXIS 2D CE V20, вы не сможете запустить его в предыдущей версии PLAXIS 2D 2019 или ранее (история версий). Наоборот можно: открыть в новой версии старый проект.

Если разница между версиями не очень большая, то можно попробовать отправить список команд. Конечно, остаётся та же особенность, что была названа в предыдущем пункте: вашим коллегам, которые работают в более старой версии, придётся повторить весь список команд. Велик шанс, что какая-то команда не сработает, потому что изменился синтаксис команды или появились новые опции. Особенно это вероятно, если разница между версиями очень большая. Тем не менее попробовать стоит.

Резервное копирование проектов #

Лог-файл проекта можно использовать для резервного копирования проектов (backup copy).

Например, вы работаете над большим проектом в PLAXIS 3D. Вместо того, чтобы сохранять каждый раз разные варианты проектов, мы можем сохранить только лог-файл текущего варианта проекта. На выходе будет лёгкий текстовый файл со списком команд и с указанием даты создания. Если вдруг что-то случится в следующих версиях проекта, у нас будет готовый лог-файл, по которому можно восстановить проект.

Перед сохранением лог-файла удобно использовать опцию Examine commands, убрав из списка команд всё лишнее, в том числе все промежуточные создания сетки (mesh), расчёты (calculate) и обращения к Output (view).