# Vendored ZMotion runtime (internal use) These files are copied verbatim from the ZMotion SDK that ships with the controller's `ZDevelop` install, as unpacked from the vendor example bundle: D:\orisys_ws\zmotion\Python64\dll库文件\ | File | Bytes | SHA-256 (first 16) | |---|---|---| | `zauxdll.dll` | 4410880 | `282369258733A0D6` | | `zmotion.dll` | 3596288 | `30DC519539783EE9` | | `zauxdll2.h` | 179106 | `BC8788DE71A7900B` | `zauxdll2.h` is kept only as the parameter contract of record for the wrappers in `orisys_app_shared/zmotion/client.py` (register values, argument order, return codes). It is not loaded at run time. ## Why they are vendored `zmcdll/zauxdllPython.py` in the vendor example resolves its DLLs relative to its own module location, plus a current-working-directory fallback. That makes `import` depend on where the process happens to be started from. Copying the two runtime DLLs next to the app and resolving them explicitly (see `orisys_app_shared/zmotion/loader.py`) removes that, at the cost of ~8 MB in the repo. ## Overriding Set `ORISYS_ZMOTION_DLL_DIR` to point at a different directory — for example a newer controller-support CD — and it wins over this folder: ```powershell $env:ORISYS_ZMOTION_DLL_DIR = "D:\Zmotion\bin" ``` ## Redistribution Internal use only. The ZMotion SDK is vendor-supplied hardware support software with its own terms; these DLLs must **not** be redistributed inside the customer-facing Orisys Studio installer. AutoCal is a separate, internal application and is deliberately not packaged by `build/studio` (see `build/README.md`).