Интерфейс командной строки Dynamo

-o, -O, --OpenFilePath: указание программе Dynamo открыть файл с командами по указанному пути и выполнить их. Этот параметр поддерживается только при запуске из DynamoSandbox.

-c, -C, --CommandFilePath: указание программе Dynamo открыть файл с командами по указанному пути и выполнить их. Этот параметр поддерживается только при запуске из DynamoSandbox.

-v, -V, --Verbose: указание программе Dynamo вывести все выполняемые вычисления в файл XML по указанному пути.

-g, -G, --Geometry: указание программе Dynamo вывести геометрию из всех вычислений в файл JSON по указанному пути.

-h, -H, --help: получение справки.

-i, -I, --Import: указание программе Dynamo импортировать сборку как библиотеку узлов. Этот аргумент должен быть путем к одному файлу .dll. Если требуется импортировать несколько файлов .dll, укажите их через пробел: -i 'assembly1.dll' 'assembly2.dll'.

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

-k, -K, --KeepAlive: в режиме Keepalive не завершайте запущенный процесс Dynamo до тех пор, пока загруженное расширение не завершит его.

--HostName: идентификация варианта Dynamo, связанного с главным узлом.

-s, -S, --SessionId: определение идентификатора сеанса аналитики узла Dynamo.

-p, -P, --ParentId: определение родительского идентификатора аналитики узла Dynamo.

-x, -X, --ConvertFile: при использовании в сочетании с флагом -O открывает файл .dyn по указанному пути и преобразует его в файл .json. Файл будет иметь расширение .json и будет находиться в том же каталоге, что и исходный файл.

-n, -N, --NoConsole: взаимодействие с командной строкой в режиме Keepalive без использования окна консоли.

-u, -U, --UserData: указание папки данных пользователя, используемой PathResolver с командной строкой.

--CommonData: указание общей папки данных, используемой PathResolver с командной строкой.

--DisableAnalytics: отключение аналитики в Dynamo на время жизненного цикла процесса.

--CERLocation: указание инструмента для создания отчетов об ошибках, находящегося на диске.

--ServiceMode: указание запуска режима обслуживания.

Для чего?

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

  • автоматизация нескольких запусков Dynamo;

  • тестирование графов Dynamo (также обратите внимание на -c при использовании DynamoSandbox);

  • запуск последовательности графов Dynamo в определенном порядке;

  • создание пакетных файлов, которые используются для запуска нескольких экземпляров командной строки;

  • написание другой программы для автоматизации выполнения графов Dynamo и управления ими, а также для выполнения интересных операций с результатами этих вычислений.

Что?

Интерфейс командной строки (DynamoCLI) — это дополнение к DynamoSandbox. Данная утилита командной строки DOS/терминала предназначена для обеспечения удобства использования аргументов командной строки для запуска Dynamo. В первой реализации интерфейс не запускается автономно, его необходимо запускать из папки, в которой находятся двоичные файлы Dynamo, поскольку он зависит от тех же основных библиотек DLL, что и Sandbox. Интерфейс не взаимодействует с другими сборками Dynamo.

Существует четыре способа запуска интерфейса командной строки (CLI): из командной строки DOS, из пакетных файлов DOS и с помощью ярлыка на рабочем столе Windows, в путь которого включены соответствующие флаги командной строки. Спецификация файла DOS может быть полностью квалифицированной или относительной, поддерживаются подключенные диски и синтаксис URL-адресов. Его также можно создать с помощью Mono и запускать на Linux или Mac в окне терминала.

Утилита поддерживает пакеты Dynamo, однако загрузить пользовательские узлы (DYF) не удастся; можно загрузить только автономные графы (DYN).

На этапе предварительного тестирования утилита интерфейса командной строки поддерживает локализованные версии Windows, и вы можете указывать аргументы спецификации файла с помощью символов ASCII в верхнем регистре.

Доступ к CLI можно получить через приложение DynamoCLI.exe. Это приложение позволяет пользователю или другому приложению взаимодействовать с моделью оценки Dynamo путем вызова DynamoCLI.exe в командной строке. Результат может выглядеть следующим образом:

C:\Program Files\Dynamo\Dynamo Core\[Dynamo Version]\DynamoCLI.exe -o "C:\someReallyCoolDynamoFile.Dyn"

Эта команда предписывает Dynamo открыть указанный файл в папке C:\someReallyCoolDynamoFile.Dyn без отображения пользовательского интерфейса, а затем запустить его. После завершения выполнения графа приложение Dynamo закрывается.

Новые возможности версии 2.1: приложение DynamoWPFCLI.exe. Это приложение поддерживает все, что поддерживается приложением DynamoCLI.exe с добавлением параметра «Геометрия» (-g). Приложение DynamoWPFCLI.exe доступно только для Windows.

Важные примечания

  • Предпочтительным способом взаимодействия с DynamoCLI является интерфейс командной строки.

  • На этот раз необходимо запустить DynamoCLI из папки установки [Версия Dynamo]. Интерфейсу CLI требуется доступ к тем же файлам DLL, что и программе Dynamo, поэтому его не следует перемещать.

  • Вы сможете запускать графы, которые в данный момент открыты в Dynamo, но это может вызвать непредвиденное поведение.

  • Все пути к файлам полностью совместимы с DOS, поэтому относительные и полные пути должны работать, но обязательно заключайте пути в прямые кавычки "C:path\to\file.dyn".

  • DynamoCLI — это новая функция, которая в настоящее время находится в процессе доработки. В настоящее время CLI загружает только подмножество стандартных библиотек Dynamo. Обратите на это внимание, если граф выполняется неправильно. Эти библиотеки указаны здесь.

  • В настоящее время вывод STD не предусмотрен. Если ошибок не обнаружено, интерфейс CLI просто закрывается по завершении выполнения.

Как?

-o — можно указать на файл DYN, чтобы открыть Dynamo в режиме без графического пользовательского интерфейса, в котором будет запущен граф.

C:\Program Files\Dynamo\Dynamo Core\[Dynamo Version]\DynamoCLI.exe -o "C:\someReallyCoolDynamoFile.Dyn"

-v — этот флаг можно использовать, когда Dynamo работает в режиме без графического пользовательского интерфейса (когда мы использовали флаг -o для открытия файла); данный флаг будет перебирать все узлы в графе и выводить их выходные значения в простой файл XML. Поскольку флаг --ServiceMode можно использовать для принудительного выполнения программой Dynamo нескольких оценок графа, выходной файл будет содержать значения для каждого выполненного вычисления.

C:\Program Files\Dynamo\Dynamo Core\[Dynamo Version]\DynamoCLI.exe -o "C:\someReallyCoolDynamoFile.Dyn" -p "C:\aFileWithPresetsInIt.dyn" --ServiceMode "all" -v "C:\output.xml"

Выходной файл XML будет иметь следующий вид:

    <evaluations>
        <evaluation0>
            <Node guid="e2a6a828-19cb-40ab-b36c-cde2ebab1ed3">
                <output0 value="str" />
            </Node>
            <Node guid="67139026-e3a5-445c-8ba5-8a28be5d1be0">
                <output0 value="C:\Users\Dale\state1.txt" />
            </Node>
            <Node guid="579ebcb8-dc60-4faa-8fd0-cb361443ed94">
                <output0 value="null" />
            </Node>
        </evaluation0>
        <evaluation1>
            <Node guid="e2a6a828-19cb-40ab-b36c-cde2ebab1ed3">
                <output0 value="str" />
            </Node>
            <Node guid="67139026-e3a5-445c-8ba5-8a28be5d1be0">
                <output0 value="C:\Users\Dale\state2.txt" />
            </Node>
            <Node guid="579ebcb8-dc60-4faa-8fd0-cb361443ed94">
                <output0 value="null" />
            </Node>
        </evaluation1>
    </evaluations>

-g — этот флаг можно использовать, когда Dynamo работает в режиме без графического пользовательского интерфейса (когда мы использовали флаг -o для открытия файла); данный флаг будет генерировать граф и выводить результирующую геометрию в файл JSON.

C:\Program Files\Dynamo\Dynamo Core\[Dynamo Version]\DynamoWPFCLI.exe -o "C:\someReallyCoolDynamoFile.Dyn" -g "C:\geometry.json"

Файл геометрии JSON будет иметь следующий вид:

Подлежит уточнению — находится в разработке

-h — используйте этот флаг для получения списка возможных параметров.

C:\Program Files\Dynamo\Dynamo Core\[Dynamo Version]\DynamoCLI.exe -h

Флаг -i можно использовать несколько раз для импорта нескольких сборок, которые требуются для запуска открываемого графа.

C:\Program Files\Dynamo\Dynamo Core\[Dynamo Version]\DynamoCLI.exe -o "C:\someReallyCoolDynamoFile.Dyn" -i"a.dll" -i"aSecond.dll"

Флаг -l можно использовать для запуска Dynamo с другими региональными настройками. Однако обычно региональные настройки не влияют на результаты графа.

C:\Program Files\Dynamo\Dynamo Core\[Dynamo Version]\DynamoCLI.exe -o "C:\someReallyCoolDynamoFile.Dyn" -l "de-DE"

Флаг --GeometryPath можно использовать, чтобы указать среде DynamoSandbox или интерфейсу CLI на определенный набор двоичных файлов ASM. Используйте его следующим образом.

C:\Program Files\Dynamo\Dynamo Core\[Dynamo Version]\DynamoSandbox.exe --GeometryPath "\pathToGeometryBinaries\"

или

C:\Program Files\Dynamo\Dynamo Core\[Dynamo Version]\DynamoSandbox.exe --GeometryPath "\pathToGeometryBinaries\"

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

C:\Program Files\Dynamo\Dynamo Core\[Dynamo Version]\DynamoCLI.exe -k

Флаг --HostName можно использовать для идентификации варианта Dynamo, связанного с главным узлом.

C:\Program Files\Dynamo\Dynamo Core\[Dynamo Version]\DynamoCLI.exe --HostName "DynamoFormIt"

или

C:\Program Files\Dynamo\Dynamo Core\[Dynamo Version]\DynamoSandbox.exe --HostName "DynamoFormIt"

Флаг -s можно использовать для идентификации сеанса аналитики узла Dynamo.

C:\Program Files\Dynamo\Dynamo Core\[Dynamo Version]\DynamoCLI.exe -s [HostSessionId]

Флаг -p можно использовать для идентификации родительского идентификатора аналитики узла Dynamo.

C:\Program Files\Dynamo\Dynamo Core\[Dynamo Version]\DynamoCLI.exe -p "RVT&2022&MUI64&22.0.2.392"

Last updated