Dynamo 命令行界面


  -o, -O, --OpenFilePath        Instruct Dynamo to open a command file and run the commands it contains at 
                                this path, this option is only supported when run from DynamoSandbox

  -c, -C, --CommandFilePath     Instruct Dynamo to open a command file and run the commands it contains at 
                                this path, this option is only supported when run from DynamoSandbox                      

  -v, -V, --Verbose             Instruct Dynamo to output all evaluations it performs to an XML file at this path

  -g, -G, --Geometry            Instruct Dynamo to output geometry from all evaluations to a JSON file at this path

  -h, -H, --help                Get some help

  -i, -I, --Import              Instruct Dynamo to import an assembly as a node library. This argument should be a 
                                file path to a single.dll - if you wish to import multiple dlls - list the dlls 
                                separated by a space: -i 'assembly1.dll' 'assembly2.dll'

  --GeometryPath                Relative or absolute path to a directory containing ASM. When supplied, instead of 
                                searching the hard disk for ASM, it will be loaded directly from this path

  -k, -K, --KeepAlive           Keepalive mode, leave the Dynamo process running until a loaded extension shuts it 
                                down

  --HostName                    Identify Dynamo variation associated with the host

  -s, -S, --SessionId           Identify Dynamo host analytics session id

  -p, -P, --ParentId            Identify Dynamo host analytics parent id

  -x, -X, --ConvertFile         When used in combination with the 'O' flag, opens a .dyn file from the specified 
                                path and converts it to .json. The file will have the .json extension and be 
                                located in the same directory as the original file

  -n, -N, --NoConsole           Don't rely on the console window to interact with CLI in Keepalive mode

  -u, -U  --UserData            Specify user data folder to be used by PathResolver with CLI

  --CommonData                  Specify common data folder to be used by PathResolver with CLI

  --DisableAnalytics            Disables analytics in Dynamo for the process lifetime

  --CERLocation                 Specify the crash error report tool located on the disk

  --ServiceMode                 Specify the service mode startup

原因

您可能出于各种原因而要从命令行控制 Dynamo,这些原因可能包括:

  • 自动执行多个 Dynamo 运行

  • 测试 Dynamo 图形(使用 DynamoSandbox 时,另请查看 -c)

  • 按特定顺序运行 Dynamo 图形序列

  • 编写运行多个命令行执行的批处理文件

  • 编写另一个程序来控制和自动执行 Dynamo 图形的运行,并利用这些计算结果执行一些很酷的操作

内容

命令行界面 (DynamoCLI) 是对 DynamoSandbox 的补充。它是一个 DOS/终端命令行实用程序,旨在为运行 Dynamo 提供命令行参数的便利。在第一次实现中,它不是独立的运行,它必须从 Dynamo 二进制文件所在的文件夹中运行,因为它依赖于与沙盒相同的核心 DLL。它不能与其他内部版本的 Dynamo 互操作。

有四种方法可以运行 CLI:从 Dos 提示符、从 Dos 批处理文件,以及作为 Windows 桌面快捷方式(其路径已修改为包含指定的命令行标志)。Dos 文件规范可以是完全限定的或相对的,并且还支持映射驱动器和 URL 语法。也可以使用 Mono 构建它,并从终端在 Linux 或 Mac 上运行。

该实用程序支持 Dynamo 软件包,但不能加载自定义节点 (dyf),只能加载独立图表 (dyn)。

在初步测试中,CLI 实用程序支持 Windows 的本地化版本,并且您可以使用大写 ASCII 字符指定 filespec 参数。

可以通过 DynamoCLI.exe 应用程序访问 CLI。此应用程序允许用户或其他应用程序通过使用命令字符串调用 DynamoCLI.exe 与 Dynamo 评估模型进行交互。这可能如下所示:

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

此命令将告知 Dynamo 在*“C:\someReallyCoolDynamoFile.Dyn”*打开指定的文件,而不绘制任何 UI,然后运行它。图形完成运行后,Dynamo 将退出。

2.1 版中的新功能:DynamoWPFCLI.exe 应用程序。此应用程序通过添加几何图形 (-g) 选项支持 DynamoCLI.exe 应用程序支持的所有内容。DynamoWPFCLI.exe 应用程序仅适用于 Windows。

重要说明

  • 与 DynamoCLI 交互的首选方法是通过命令提示符界面。

  • 此时,您需要从 [Dynamo 版本] 文件夹内的安装位置运行 DynamoCLI。CLI 需要访问与 Dynamo 相同的 .dll,因此不应移动它。

  • 您应该能够执行当前在 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 几何图形文件将具有以下形式:

 TBD - Work in progress

-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 主机分析会话 ID

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

-p 标志可用于标识 Dynamo 主机分析父对象 ID

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

Last updated