三维建模基础
第06章 三维建模基础
6.1 三维建模概述
6.1.1 从2D到3D
SolveSpace的三维建模基于"草图-特征"工作流:
2D草图 ──→ 3D操作 ──→ 实体模型
(拉伸/旋转/螺旋)
基本概念
- 草图: 2D轮廓定义截面形状
- 特征: 3D操作创建实体
- 布尔运算: 组合多个实体
6.1.2 实体建模与曲面建模
SolveSpace使用边界表示法 (B-Rep) 结合NURBS曲面:
- 精确表示曲面几何
- 支持布尔运算
- 可导出为三角网格
6.1.3 建模组类型
SolveSpace提供以下3D建模组:
| 组类型 | 功能 | 快捷键 |
|---|---|---|
| 拉伸 (Extrude) | 沿方向拉伸草图 | 菜单 |
| 车削 (Lathe) | 绕轴旋转草图 | 菜单 |
| 革命 (Revolve) | 绕轴旋转指定角度 | 菜单 |
| 螺旋拉伸 (Helix) | 螺旋形拉伸 | 菜单 |
| 步进平移 (Step Translate) | 线性阵列 | 菜单 |
| 步进旋转 (Step Rotate) | 圆周阵列 | 菜单 |
6.2 拉伸操作
6.2.1 基本拉伸
将2D草图沿垂直于草图平面的方向拉伸成实体。
创建步骤
- 创建完全约束的封闭草图
- 菜单:
新建组 → 拉伸 - 设置拉伸深度
- 选择拉伸方向
属性设置
拉伸组属性:
├── 来源组: [草图组编号]
├── 深度: [数值] mm
├── 方向: [正向/负向/两侧]
├── 斜向拉伸: [启用/禁用] (3.2新增)
└── 布尔运算: [并集/差集/交集/装配]
6.2.2 拉伸方向
单向拉伸
- 正向: 沿草图法线正方向
- 负向: 沿草图法线负方向
双向拉伸
- 两侧: 同时向两个方向拉伸
- 总深度 = 设置深度 × 2
6.2.3 斜向拉伸 (3.2新增)
允许拉伸方向不垂直于草图平面:
启用方法
- 在拉伸组属性中勾选"允许斜向"
- 拉伸方向增加3个自由度
- 可以通过约束控制拉伸角度
用途
- 创建斜切面
- 非正交几何
- 复杂造型
6.2.4 拉伸深度约束
拉伸深度可以通过约束控制:
默认: 拉伸向量垂直于草图平面
方程:
dot(拉伸向量, 草图U轴) = 0
dot(拉伸向量, 草图V轴) = 0
约束方式
- 固定深度: 直接输入数值
- 参数化深度: 通过约束关联到其他尺寸
- 到面: 约束拉伸终点到特定平面
6.3 车削与旋转操作
6.3.1 车削 (Lathe)
将草图绕轴旋转360°创建旋转体。
创建步骤
- 创建包含旋转轴的草图
- 选择旋转轴线
- 菜单:
新建组 → 车削
注意事项
- 草图必须包含旋转轴
- 轮廓不能跨越旋转轴
- 轮廓应为封闭或开放曲线
车削生成的实体
- 点 → 圆
- 线段 → 圆锥面/圆柱面
- 弧 → 环形面
6.3.2 革命 (Revolve)
绕轴旋转指定角度(非360°)。
创建步骤
- 创建草图和旋转轴
- 菜单:
新建组 → 革命 - 设置旋转角度
属性
- 角度: 旋转角度(度数)
- 方向: 正向/负向
- 布尔运算: 并集/差集/交集
6.3.3 螺旋拉伸 (Helix)
结合旋转和平移创建螺旋形状。
创建步骤
- 创建草图轮廓
- 定义螺旋轴
- 菜单:
新建组 → 螺旋拉伸 - 设置螺旋参数
参数
螺旋参数:
├── 圈数: 螺旋的总圈数
├── 螺距: 每圈的轴向距离 (3.1新增)
├── 方向: 顺时针/逆时针
└── 起始角度: 起始位置
应用场景
- 螺纹
- 弹簧
- 螺旋楼梯
6.4 布尔运算
6.4.1 布尔运算类型
并集 (Union)
- 合并两个实体
- 默认操作
差集 (Difference)
- 从现有实体中减去新实体
- 用于创建孔、槽等
交集 (Intersection) (3.0新增)
- 保留两个实体的重叠部分
- 用于特殊造型
装配 (Assembly) (3.0新增)
- 不执行布尔运算
- 实体独立存在
- 提高性能
6.4.2 布尔运算设置
在组属性中设置:
布尔运算: [并集 ▼]
├── 并集: 合并到现有实体
├── 差集: 从现有实体减去
├── 交集: 取交集部分
└── 装配: 不做布尔运算
6.4.3 布尔运算注意事项
实体要求
- 并集: 新实体可以不与现有实体相交
- 差集: 新实体应与现有实体相交
- 交集: 两个实体必须有重叠部分
问题排查
- 非流形几何可能导致失败
- 检查草图是否完全封闭
- 简化复杂几何
6.5 阵列操作
6.5.1 步进平移 (Step Translate)
创建实体的线性阵列。
创建步骤
- 选择源组
- 菜单:
新建组 → 步进平移 - 设置平移参数
参数
步进平移:
├── 来源组: [组编号]
├── 步进次数: [数量]
├── 平移向量: (dx, dy, dz)
└── 布尔运算: [并集/差集/交集/装配]
平移向量定义
- 可以用约束定义方向和距离
- 或直接拖动控制点
6.5.2 步进旋转 (Step Rotate)
创建实体的圆周阵列。
创建步骤
- 选择源组
- 菜单:
新建组 → 步进旋转 - 设置旋转参数
参数
步进旋转:
├── 来源组: [组编号]
├── 步进次数: [数量]
├── 旋转轴: [线或两点定义]
├── 步进角度: [角度]
└── 布尔运算: [并集/差集/交集/装配]
6.5.3 阵列与约束
阵列中的最后一个实例使用特殊标识:
- 可以对最后一个实例添加约束
- 修改阵列数量不影响这些约束
6.6 实体编辑
6.6.1 抑制实体模型
可以抑制组的实体模型生成:
用途
- 仅需要草图中的实体
- 提高性能
- 分割模型用于导出
设置方法
- 选择组
- 在属性浏览器中勾选"抑制实体模型"
6.6.2 强制三角网格
当NURBS布尔运算失败时:
设置方法
- 勾选"强制为三角网格"
- 使用近似的三角网格进行布尔运算
缺点
- 精度降低
- 曲面不再光滑
6.6.3 实体颜色和透明度
设置实体颜色
- 选择组
- 在属性浏览器中选择颜色
设置透明度 (3.0新增)
- 选择组
- 设置不透明度 (0-1)
继承颜色
- 新建组默认继承上一个带实体组的颜色
6.7 工作平面管理
6.7.1 创建新工作平面
在面上创建
- 选择一个面
- 菜单:
新建组 → 草图-在-工作平面 - 草图自动在选择的面上
自定义工作平面
- 菜单:
新建组 → 草图-在-新工作平面 - 定义原点和方向
使用点和法线 (3.1新增)
- 选择一个点和一个法线
- 创建草图-在-新工作平面
6.7.2 工作平面定向
工作平面由以下定义:
- 原点: 平面上的一个点
- 法线: 垂直于平面的方向 (四元数表示)
四元数方向
法线定义了U、V、N三个向量:
- U: 平面内水平方向
- V: 平面内垂直方向
- N: 平面法线方向
满足: U × V = N
6.7.3 工作平面可见性
显示控制
- 工具栏按钮切换
- 或菜单:
视图 → 显示工作平面
网格显示
- 在组属性中设置
- 可以单独控制每个工作平面的网格
6.8 三维导航
6.8.1 视图控制
标准视图
F1: 俯视 (XY平面)F2: 右视 (YZ平面)F3: 前视 (ZX平面)Shift+F1/F2/F3: 翻转视图
等轴测视图
- 菜单:
视图 → 等轴测
自适应视图
F: 适应所有几何- 或选中实体后按
F适应选择
6.8.2 剖切视图
创建剖切
- 选择剖切平面
- 菜单:
视图 → 剖切视图
导出剖切
- 可以将2D剖切导出为DXF
6.8.3 爆炸视图 (3.1新增)
启用爆炸视图
- 按
\键 - 或菜单:
视图 → 爆炸视图
设置爆炸距离
- 在视图设置中调整
- 各组件沿法线方向分离
6.9 实用示例
6.9.1 创建简单机械零件
步骤1: 基础轮廓
- XY平面创建草图
- 绘制L形轮廓
- 添加尺寸约束
步骤2: 拉伸
- 创建拉伸组
- 深度: 30mm
- 布尔: 并集
步骤3: 添加孔
- 在顶面创建新草图
- 绘制圆
- 拉伸穿透
- 布尔: 差集
步骤4: 添加倒角
- 在边缘创建斜面草图
- 或使用切角工具
6.9.2 创建旋转体
步骤1: 创建旋转轮廓
- 绘制半边轮廓
- 包含旋转轴线
- 轮廓必须在轴的一侧
步骤2: 车削
- 选择轴线
- 创建车削组
- 检查生成的实体
步骤3: 添加细节
- 在旋转体面上创建草图
- 添加孔或槽特征
6.9.3 创建螺纹
步骤1: 创建螺纹截面
- 绘制三角形或梯形截面
- 定位在螺纹起始位置
步骤2: 螺旋拉伸
- 设置螺距
- 设置圈数
- 布尔: 差集(内螺纹)或并集(外螺纹)
6.10 性能优化
6.10.1 模型复杂度
减少多边形数量
- 增加弦公差
- 使用简化几何
使用装配模式
- 不需要布尔运算时使用
- 显著提高性能
6.10.2 求解器优化
抑制DOF计算 (3.1新增)
- 对复杂组禁用实时DOF计算
- 在组属性中设置
分组策略
- 将复杂设计分为多个组
- 每个组保持简单
6.11 常见问题
6.11.1 布尔运算失败
可能原因
- 草图不封闭
- 非流形几何
- 曲面自相交
解决方法
- 检查草图闭合性
- 简化几何
- 尝试强制三角网格
6.11.2 实体显示问题
可能原因
- 组被隐藏
- 实体模型被抑制
- 视图裁剪
解决方法
- 检查组可见性
- 检查实体模型设置
- 重置视图
6.12 总结
本章介绍了SolveSpace的三维建模基础:
- 建模概述: 草图-特征工作流、实体建模
- 拉伸操作: 基本拉伸、斜向拉伸
- 旋转操作: 车削、革命、螺旋拉伸
- 布尔运算: 并集、差集、交集、装配
- 阵列操作: 步进平移、步进旋转
- 实体编辑: 抑制、三角网格、颜色
- 工作平面: 创建、定向、管理
- 三维导航: 视图控制、剖切、爆炸
下一章将介绍高级建模技巧。
导航
- 上一章: 第05章 - 约束系统详解
- 下一章: 第07章 - 高级建模技巧

浙公网安备 33010602011771号