# cycle_time **Repository Path**: JesseB/cycle_time ## Basic Information - **Project Name**: cycle_time - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-18 - **Last Updated**: 2025-12-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 机械节拍仿真计算器 - Tauri 桌面应用 基于 Tauri + React + Rust 构建的跨平台桌面应用。 ## 功能特性 ✨ **完整的图形界面** - 组件库面板 - 拖拽添加机械组件 - 参数配置面板 - 实时编辑组件参数 - 动作序列编辑器 - 可视化编排动作流程 - 结果展示面板 - 详细的计算结果和优化建议 ⚡ **实时计算** - 基于 Rust 的高性能计算引擎 - 支持复杂的串行和并行动作结构 - 自动识别关键路径和瓶颈 - 智能生成优化建议 📊 **专业分析** - 详细的动作时间表 - 关键路径可视化 - 瓶颈识别 - 时间余量分析 ## 开发环境要求 - Node.js 18+ - Rust 1.70+ - pnpm / npm / yarn ## 快速开始 ### 1. 安装依赖 ```bash cd tauri-app npm install ``` ### 2. 开发模式运行 ```bash npm run tauri dev ``` 这将启动开发服务器并打开桌面应用窗口。 ### 3. 构建生产版本 ```bash npm run tauri build ``` 构建完成后,可执行文件位于 `src-tauri/target/release/bundle/` 目录。 ## 项目结构 ``` tauri-app/ ├── src/ # React 前端源代码 │ ├── components/ # React 组件 │ │ ├── ComponentLibrary.tsx # 组件库面板 │ │ ├── ParameterPanel.tsx # 参数配置面板 │ │ ├── ActionEditor.tsx # 动作序列编辑器 │ │ └── ResultPanel.tsx # 结果展示面板 │ ├── store/ # 状态管理 (Zustand) │ │ └── appStore.ts │ ├── api.ts # Tauri API 封装 │ ├── types.ts # TypeScript 类型定义 │ ├── App.tsx # 主应用组件 │ ├── App.css # 样式文件 │ └── main.tsx # 入口文件 ├── src-tauri/ # Tauri Rust 后端 │ ├── src/ │ │ ├── commands.rs # Tauri 命令定义 │ │ └── main.rs # 主程序入口 │ ├── Cargo.toml │ └── tauri.conf.json # Tauri 配置 ├── index.html ├── package.json ├── vite.config.ts └── tsconfig.json ``` ## 技术栈 ### 前端 - **React 18** - UI 框架 - **TypeScript** - 类型安全 - **Zustand** - 状态管理 - **Vite** - 构建工具 - **Lucide React** - 图标库 ### 后端 - **Tauri 2.0** - 桌面应用框架 - **Rust** - 系统语言 - **cycle-time-core** - 核心计算引擎 ## 使用说明 ### 1. 创建新项目 点击工具栏的"新建项目"按钮,输入项目名称和描述。 ### 2. 添加组件 从左侧组件库选择组件类型,点击添加到动作序列。 ### 3. 配置参数 在中间区域选择一个组件,右侧面板会显示参数配置表单,修改后点击保存。 ### 4. 计算节拍时间 点击工具栏的"计算"按钮,底部结果面板会显示: - 总节拍时间 - 详细动作时间表 - 关键路径标识 - 瓶颈分析 - 优化建议 ### 5. 保存和加载项目 - 点击"保存"按钮保存当前项目为 JSON 文件 - 点击"打开"按钮加载已保存的项目 ## 可用的 Tauri 命令 ```rust // 创建新项目 create_new_project(name: String, description: Option) -> CycleTimeProject // 计算节拍时间 calculate_cycle_time(project: CycleTimeProject) -> CycleTimeResult // 计算单个组件时间 calculate_component_time(component: Component) -> f64 // 保存项目到文件 save_project_to_file(project: CycleTimeProject, file_path: String) -> () // 从文件加载项目 load_project_from_file(file_path: String) -> CycleTimeProject // 获取内置模板 get_builtin_templates() -> Vec ``` ## 开发说明 ### 添加新的组件类型 1. 在 `rust_core/src/models.rs` 中添加组件类型定义 2. 在 `rust_core/src/kinematics.rs` 中实现计算逻辑 3. 在 `src/types.ts` 中添加 TypeScript 类型 4. 在 `src/components/ParameterPanel.tsx` 中添加参数表单 ### 自定义样式 编辑 `src/App.css` 文件,修改 CSS 变量: ```css :root { --primary-color: #3b82f6; /* 主题色 */ --success-color: #10b981; /* 成功色 */ --warning-color: #f59e0b; /* 警告色 */ --danger-color: #ef4444; /* 危险色 */ } ``` ## 常见问题 ### Q: 开发模式无法启动? A: 确保已安装 Rust 和 Node.js,并且端口 5173 未被占用。 ### Q: 编译错误? A: 检查 `rust_core` 路径是否正确,运行 `cd ../rust_core && cargo build` 先编译核心库。 ### Q: 如何打包不同平台的应用? A: - Windows: `npm run tauri build -- --target x86_64-pc-windows-msvc` - macOS: `npm run tauri build -- --target x86_64-apple-darwin` - Linux: `npm run tauri build -- --target x86_64-unknown-linux-gnu` ## 贡献 欢迎提交 Issue 和 Pull Request! ## 许可证 MIT License