rust-zw3d 0.1.0-alpha.12

ZW3D SDK 的 Rust 绑定:自动生成的 FFI + 轻量封装 + 命令/回调注册宏
Documentation
rust-zw3d (core)
=================

当前版本:Alpha(框架阶段)。仅提供基础绑定与最小封装,欢迎 Issue/PR(`https://gitee.com/rust-cad/rust-zw3d`)。

ZW3D SDK 的 Rust 绑定(核心 crate)。

- 提供 `ffi`(自动绑定)与 `wrapper`(易用封装)
- 暴露命令/回调注册宏:`register_commands!``register_callbacks!``unregister_commands!``unregister_callbacks!`
- 提供模块进出点宏:`zw3d_module!`

依赖与配置
----------

- 需要链接 `ZW3D.lib`(详见仓库根 `README.md` 环境准备章节)
- 通过 `zw3d.toml` 配置 SDK 路径与 `version`,并可在代码中通过 `rust_zw3d::SDK_VERSION` 读取
- feature:`macros`(重导出属性宏,默认开启)

最小示例
--------

```rust
use rust_zw3d::*;

#[cmd]

fn hello(_code: i32) -> i32 {
    cvxMsgDisp("hello");
    0
}

#[callback]

fn on_event(name: &str, a: i32, b: i32) -> i32 {
    cvxMsgDisp(name);
    0
}

zw3d_module!(demo);
```

API 概览
--------

- `cvxMsgDisp(msg: &str)`:显示消息
- `cvxCmdFunc(cmd: &str, func: fn(i32)->i32, code: f64)`:注册命令
- `cvxCmdFuncUnload(cmd: &str)`:卸载命令
- `cvxCmdCallback(name: &str, func: unsafe extern "C" fn(*const c_char,i32,i32)->i32)`:注册回调
- `cvxCmdCallbackUnload(name: &str)`:卸载回调
- `register_commands!()` / `unregister_commands!()`:批量注册/卸载由 `#[cmd]` 收集的命令
- `register_callbacks!()` / `unregister_callbacks!()`:批量注册/卸载由 `#[callback]` 收集的回调
- `zw3d_module!(myplugin)`:生成模块的 `Init/Exit` 出口

注意
----

- 传递给底层 SDK 的字符串需与其编码约定匹配;请优先使用 ASCII/UTF-8