SolveSpace概述与入门
第01章 SolveSpace概述与入门
1.1 SolveSpace简介
SolveSpace是一款免费开源的参数化2D/3D CAD(计算机辅助设计)软件。它最初由Jonathan Westhues开发,现在由开源社区维护。SolveSpace以其轻量级、易于使用和强大的约束求解能力而闻名。
1.1.1 SolveSpace的特点
轻量级设计
- 软件体积小巧,安装包仅约10MB
- 启动迅速,界面简洁
- 对系统资源占用低
强大的约束系统
- 基于几何约束的参数化建模
- 支持超过35种约束类型
- 实时求解,即时反馈
跨平台支持
- Windows (32位和64位)
- macOS (10.6及以上版本)
- Linux (通过GTK或QT界面)
- Web版本 (实验性)
丰富的功能
- 2D草图绘制
- 3D实体建模
- 装配设计
- 约束动画
- 多种文件格式导入导出
1.1.2 SolveSpace的历史
SolveSpace最初发布于2009年,由Jonathan Westhues个人开发。2013年,软件以GPL v3许可证开源,并迁移到GitHub进行社区开发。
主要版本历程:
- 2.0 (2013): 首次公开发布
- 2.1 (2015): 新增旋转组、贝塞尔曲线编辑
- 2.2 (2016): 3Dconnexion设备支持
- 2.3 (2017): 修复TTF字体度量问题
- 3.0 (2019): 新增交集布尔运算、旋转和螺旋拉伸
- 3.1 (2021): 弧长比和差约束、爆炸视图
- 3.2 (2023): 面平行/垂直约束、QT界面选项
1.1.3 SolveSpace与其他CAD软件对比
| 特性 | SolveSpace | FreeCAD | OpenSCAD | Fusion 360 |
|---|---|---|---|---|
| 开源 | ✓ | ✓ | ✓ | ✗ |
| 免费 | ✓ | ✓ | ✓ | 有限制 |
| 参数化 | ✓ | ✓ | ✓ | ✓ |
| 约束建模 | ✓ | ✓ | ✗ | ✓ |
| 学习曲线 | 低 | 中 | 高 | 中 |
| 文件大小 | ~10MB | ~500MB | ~50MB | 云端 |
| 求解器库 | ✓ | ✗ | ✗ | ✗ |
SolveSpace的优势场景:
- 快速原型设计
- 机械零件草图
- 教育和学习CAD
- 嵌入式约束求解
- 轻量级建模需求
1.2 SolveSpace核心概念
1.2.1 参数化设计
参数化设计是SolveSpace的核心理念。在参数化CAD中,几何形状不是简单地通过坐标定义,而是通过参数和约束来描述。这意味着:
- 修改灵活: 改变一个尺寸,相关几何自动更新
- 设计意图保留: 约束表达设计的意图,而非仅仅是形状
- 历史无关: 与基于历史的CAD不同,SolveSpace的约束系统允许任意修改
1.2.2 草图与组
SolveSpace使用"组"(Group)来组织设计。每个组可以包含:
草图组 (Sketch Group)
- 在指定平面上绘制2D几何
- 包含点、线、圆、弧、贝塞尔曲线等
- 应用约束定义几何关系
三维操作组
- 拉伸 (Extrude): 将2D草图拉伸为3D实体
- 车削 (Lathe): 绕轴旋转生成旋转体
- 革命 (Revolve): 沿路径旋转
- 螺旋拉伸 (Helix): 螺旋形拉伸
装配组
- 链接 (Link): 导入其他SolveSpace文件
- 步进平移/旋转: 创建阵列
1.2.3 实体与约束
实体 (Entity)
实体是几何元素的基本单位:
- 点 (Point): 2D或3D空间中的位置
- 线段 (Line Segment): 连接两点
- 圆 (Circle): 由圆心和半径定义
- 圆弧 (Arc): 圆的一部分
- 三次贝塞尔曲线 (Cubic): 由四个控制点定义
- 工作平面 (Workplane): 用于2D草图的平面
约束 (Constraint)
约束定义实体之间的几何关系:
- 重合 (Coincident): 两点位于同一位置
- 距离 (Distance): 两点或点到线的距离
- 角度 (Angle): 两线之间的夹角
- 水平/垂直 (Horizontal/Vertical): 线的方向
- 平行/垂直 (Parallel/Perpendicular): 线之间的关系
- 相切 (Tangent): 曲线之间光滑连接
- 等长 (Equal Length): 多条线长度相等
- 对称 (Symmetric): 关于某线或平面对称
1.2.4 自由度
自由度(DOF, Degrees of Freedom)是理解约束系统的关键概念:
- 2D空间中的一个点有2个自由度 (x, y)
- 3D空间中的一个点有3个自由度 (x, y, z)
- 每添加一个约束,通常减少1个自由度
完全约束: DOF = 0,几何完全确定
欠约束: DOF > 0,几何还可以移动
过约束: 约束冲突或冗余
1.3 SolveSpace工作流程
1.3.1 典型设计流程
1. 创建工作平面
└─> 选择标准平面(XY, YZ, ZX)或创建自定义平面
2. 绘制草图
└─> 使用绘图工具创建基本几何
└─> 点、线、圆、弧、曲线等
3. 添加约束
└─> 定义几何关系
└─> 添加尺寸约束
└─> 检查自由度
4. 创建3D特征
└─> 拉伸、车削、螺旋等
└─> 设置布尔运算(并、差、交)
5. 重复步骤2-4
└─> 在新平面上添加更多特征
6. 导出结果
└─> 导出为STL、STEP、DXF等格式
1.3.2 草图绘制基本操作
创建几何
- 选择绘图工具(线、圆、弧等)
- 在画布上点击或拖动创建
- 按
Esc或右键结束
添加约束
- 选择要约束的实体
- 按快捷键或从菜单选择约束类型
- 输入约束值(如果需要)
修改几何
- 拖动点或线修改位置
- 双击约束值进行编辑
- 删除不需要的约束或实体
1.3.3 项目文件结构
SolveSpace使用 .slvs 作为原生文件格式。文件是纯文本格式,包含:
└── .slvs 文件
├── 参数 (Parameters)
│ └── 定义实体的数值参数
├── 实体 (Entities)
│ └── 点、线、圆等几何元素
├── 约束 (Constraints)
│ └── 几何关系和尺寸
├── 组 (Groups)
│ └── 草图和操作的组织
└── 样式 (Styles)
└── 线型、颜色等视觉属性
1.4 快速入门示例
1.4.1 绘制简单矩形
让我们通过一个简单的示例来熟悉SolveSpace:
步骤1: 打开SolveSpace
启动SolveSpace,默认会创建一个新草图,工作在XY平面上。
步骤2: 绘制矩形
- 按
R键激活矩形工具 - 在画布上点击第一个角点
- 移动鼠标到对角位置点击
步骤3: 添加尺寸约束
- 选择矩形的一条水平边
- 按
D键添加距离约束 - 输入
50(单位毫米) - 对垂直边重复,输入
30
步骤4: 固定位置
- 选择矩形的一个角点
- 按
Shift+D添加点的距离约束到原点 - 分别约束 x 和 y 坐标
1.4.2 创建简单3D模型
步骤1: 从上面的矩形开始
步骤2: 拉伸
- 选择菜单
新建组 → 拉伸 - 在属性窗口中设置拉伸深度为
20 - 确认拉伸方向
步骤3: 查看结果
- 按住鼠标中键拖动旋转视图
- 滚轮缩放
- 按
F键适应视图
1.4.3 导出为STL
- 选择菜单
文件 → 导出三角网格 - 选择STL格式
- 设置弦公差(影响曲面精度)
- 保存文件
1.5 学习资源
1.5.1 官方资源
- 官方网站: https://solvespace.com/
- 参考手册: https://solvespace.com/ref.pl
- 官方教程: https://solvespace.com/tutorial.pl
- 论坛: https://solvespace.com/forum.pl
- IRC频道: #solvespace @ libera.chat
1.5.2 GitHub资源
- 源代码: https://github.com/solvespace/solvespace
- 问题跟踪: https://github.com/solvespace/solvespace/issues
- 发布版本: https://github.com/solvespace/solvespace/releases
1.5.3 社区资源
- 示例文件: 官方仓库中的test目录包含大量示例
- 开发者文档: developer_docs目录包含内部实现说明
- 贡献指南: CONTRIBUTING.md详细说明如何参与开发
1.6 本教程结构
本教程将分为以下章节:
基础篇
- 第01章: SolveSpace概述与入门(本章)
- 第02章: 安装与环境配置
- 第03章: 用户界面详解
- 第04章: 草图绘制基础
- 第05章: 约束系统详解
进阶篇
- 第06章: 三维建模基础
- 第07章: 高级建模技巧
- 第08章: 装配与链接功能
- 第09章: 导入导出与数据交换
开发篇
- 第10章: 约束求解器原理
- 第11章: 命令行工具使用
- 第12章: C语言库API详解
- 第13章: Python绑定开发
- 第14章: 源码架构分析
- 第15章: 二次开发实战
1.7 总结
本章介绍了SolveSpace的基本概念和特点:
- SolveSpace是什么: 轻量级、开源的参数化CAD软件
- 核心概念: 参数化设计、组、实体与约束
- 工作流程: 草图→约束→3D特征→导出
- 学习资源: 官方文档、GitHub、社区
在下一章,我们将详细介绍如何在不同操作系统上安装SolveSpace,并配置开发环境。
导航
- 下一章: 第02章 - 安装与环境配置

浙公网安备 33010602011771号