Expand description
ZW3D SDK 的 Rust 绑定
rust-zw3d 为 ZW3D CAD 软件提供了安全、惯用的 Rust API 封装。
§架构
§快速开始
§创建一个简单的命令
ⓘ
use rust_zw3d::{*, editor};
#[cmd]
fn hello(_code: i32) -> i32 {
editor::msg_disp("Hello from Rust!");
0
}
// 生成模块进出点
zw3d_module!(my_plugin);§编辑器交互
ⓘ
use rust_zw3d::editor;
#[cmd]
fn interactive_command(_code: i32) -> i32 {
// 显示消息
editor::msg_disp("请输入角度");
// 获取用户输入
match editor::get_angle("旋转角度:", 90.0) {
Ok(angle) => {
editor::msg_disp(&format!("旋转 {} 度", angle));
// 执行旋转操作...
0
}
Err(_) => {
editor::msg_disp("操作已取消");
1
}
}
}§特性
- ✅ 自动中文支持(GBK ↔ UTF-8 转换)
- ✅ 类型安全的宏系统
- ✅ Rust 风格的 API 封装
- ✅ 完整的 FFI 绑定访问
§相关 Crate
rust-zw3d-raw- 原始 FFI 绑定rust-zw3d-macros- 过程宏rust-zw3d-build- 构建工具
Re-exports§
pub use error::ZwError;pub use error::ZwResult;pub use rust_zw3d_raw as raw;pub use commands::*;
Modules§
Macros§
- register_
callbacks - 批量注册由
#[callback]收集到的所有回调。 - register_
commands - 批量注册由
#[cmd]收集到的所有命令。 - unregister_
callbacks - 批量卸载由
#[callback]收集到的所有回调。 - unregister_
commands - 批量卸载由
#[cmd]收集到的所有命令。 - zw3d_
module - 生成模块进/出点:
<Name>Init与<Name>Exit。
Structs§
Constants§
- SDK_
VERSION - 当前编译所针对的 ZW3D SDK 主版本