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 的檔案路徑。如果您要匯入多個 .dlls,請以空格分隔列出:-i 'assembly1.dll' 'assembly2.dll'

--GeometryPath 包含 ASM 之目錄的相對或絕對路徑。如果提供,將直接從此路徑載入,而不是在硬碟上搜尋 ASM。

-k, -K, --KeepAlive 維持運作模式,讓 Dynamo 程序持續執行,直到載入的延伸將其關閉。

--HostName 識別與主體關聯的 Dynamo 變體。

-s, -S, --SessionId 識別 Dynamo 主體分析階段作業 ID。

-p, -P, --ParentId 識別 Dynamo 主體分析父系 ID。

-x, -X, --ConvertFile-O 旗標結合使用時,會開啟指定路徑中的 .dyn 檔案並轉換為 .json。檔案的副檔名為 .json,並且與原始檔案位於相同目錄。

-n, -N, --NoConsole 在維持運作模式下不要依賴主控台視窗與 CLI 互動。

-u, -U, --UserData 指定 PathResolver 要用於 CLI 的使用者資料資料夾。

--CommonData 指定 PathResolver 要用於 CLI 的一般資料資料夾。

--DisableAnalytics 在程序存留期停用 Dynamo 中的分析。

--CERLocation 指定位於磁碟上的當機錯誤報告工具。

--ServiceMode 指定服務模式啟動。

原因

出於各種原因,您會透過指令行控制 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 的指定檔案,而不繪製任何使用者介面,然後執行它。圖表執行完成後,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:您可以用無頭模式開啟 Dynamo 指向將執行圖表的 .dyn。

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 - 工作進行中`

-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