# VeloCad **Repository Path**: Byron-Hope/VeloCad ## Basic Information - **Project Name**: VeloCad - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-04 - **Last Updated**: 2026-07-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VeloCAD - Qt & OpenCASCADE CAD Assistant **VeloCAD** 是一个基于 **Qt (C++)** 和 **OpenCASCADE Technology (OCCT)** 开发的轻量级 CAD 建模与可视化工具。 本项目旨在展示如何构建一个现代化的 CAD 应用程序框架,集成了 3D 交互视图、参数化几何创建、布尔运算、特征建模(圆角/倒角)以及高级数据交换(XDE)功能。 ## ✨ 主要功能 ### 1. 几何形状创建 (Geometry Creation) - - 通过工具栏快速创建参数化的 B-Rep 几何体: - **⛔ 1D 曲线 (Curves):** - Line (直线), Bezier (贝塞尔曲线), Spline (B样条), Circle (圆), Ellipse (椭圆)。 - **♎ 2D 曲面 (Surfaces):** - Plane (平面), Cylindrical Face (圆柱面), Conical Face (圆锥面)。 - **⚽ 3D 实体 (Solids/Topologies):** - Box (长方体), Cylinder (圆柱体), Cone (圆锥体), Sphere (球体), Torus (圆环体), Wedge (楔体)。 ### 2. 建模操作 (Modeling Operations) 支持基于 B-Rep (边界表示法) 的高级建模操作: - **🔗 合并 (Fuse/Union):** 将两个形状合并为一个。 - **✂️ 裁剪 (Cut/Difference):** 从一个形状中减去另一个形状。 - **🔍 交集 (Common/Intersection):** 保留两个形状重叠的部分。 ### 3. 可视化与分析** (Visualization & Analysis) - **📍 可视化点:** 显示形状内部的几何点信息。 ### **4.特征造型(Feature Modeling)** - **🔘 倒圆角 (Fillet):** 交互式选择边并应用恒定半径圆角。 - **📐 倒角 (Chamfer):** 交互式选择边并应用倒角。 ### 5. 文件 I/O (File Exchange) - **STEL:** 支持网格模型的导入与导出。 - **XDE (XBF):** 支持带有装配结构和颜色信息的XBF格式 CAD 数据交换。 ## 🏗️ 项目结构 ``` VeloCAD/ ├── main.cpp # 应用程序入口,样式加载 ├── main_window.h/cpp # 主窗口控制器 │ ├── 菜单栏 (QMenuBar) 与工具栏 (QToolBar) 管理 │ └── 信号槽连接与形状创建指令分发 ├── draw_widget.h/cpp # 核心 3D 绘图部件 (继承自 QWidget) │ ├── 集成 AIS_InteractiveContext 与 V3d_Viewer │ ├── 处理鼠标事件 (平移/旋转/拖拽/选择) │ └── 实现布尔运算、HLR、圆角等核心算法 ├── make_shapes.h # 几何工厂类 │ └── 封装 BRepPrimAPI 和 BRepBuilderAPI 用于生成 TopoDS_Shape ├── shape.h/cpp # 形状数据包装类 │ ├── 封装 TopoDS_Shape │ ├── 管理颜色与透明度 │ └── 实现文件 I/O (STL/STEP/XDE) ├── DisplayScene.h/cpp # XDE 文档渲染器 │ └── 负责解析 OCAF 文档结构并将其转换为 AIS 对象显示 └── resources/ # 资源文件 (图标、QSS 样式表) ``` ## 🛠️ 构建与依赖 ### 前置要求 - **C++ 编译器**: 支持 C++17 标准 (MSVC 2022). - **Qt**: 版本 6.x. - **OpenCASCADE (OCCT)**: 版本 7.6.0 或更高. - **CMake**: 版本 3.16+. ## 🕹️ 操作指南 (Controls) ### 鼠标操作 - **左键单击:** 选择对象(按住 `Ctrl` 多选)。 - **左键拖拽 (背景):** 框选。 - **左键拖拽 (物体):** 在平面上移动选中的物体。 - **中键滚动:** 缩放视图。 - **中键按住:** 平移视图 (Pan)。 - **右键按住 (背景):** 旋转视图 (Rotate Camera)。 - **右键按住 (物体):** 旋转选中的物体 (Rotate Object)。 - **右键单击:** 弹出上下文菜单(执行布尔运算、切换选择模式等)。 ### 快捷功能 **贝塞尔/B样条曲线:** - 点击贝塞尔曲线或B样条曲线模式后。 - 使用鼠标左键作为控制点的位置。 - 按键盘E键生成相应控制点的曲线。 image **倒圆角/倒角:** - 在右键菜单中切换选择模式为 **"Select Edges"**。 - 选中一条边,界面右上角会自动弹出参数设置面板。 - 输入半径/距离,点击应用。 image **布尔运算:** - 选中两个实体(按住 Ctrl)。 - **🔗 (合并)** 或 **✂️ (裁剪)** 或🔍 **(交集)** 进行布尔运算。 image **其他操作:** - 选中一个实体。 - 可点击 **📍 (可视化点**) 进行操作。 image