三维建模基础

第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草图沿垂直于草图平面的方向拉伸成实体。

创建步骤

  1. 创建完全约束的封闭草图
  2. 菜单: 新建组 → 拉伸
  3. 设置拉伸深度
  4. 选择拉伸方向

属性设置

拉伸组属性:
├── 来源组: [草图组编号]
├── 深度: [数值] mm
├── 方向: [正向/负向/两侧]
├── 斜向拉伸: [启用/禁用] (3.2新增)
└── 布尔运算: [并集/差集/交集/装配]

6.2.2 拉伸方向

单向拉伸

  • 正向: 沿草图法线正方向
  • 负向: 沿草图法线负方向

双向拉伸

  • 两侧: 同时向两个方向拉伸
  • 总深度 = 设置深度 × 2

6.2.3 斜向拉伸 (3.2新增)

允许拉伸方向不垂直于草图平面:

启用方法

  1. 在拉伸组属性中勾选"允许斜向"
  2. 拉伸方向增加3个自由度
  3. 可以通过约束控制拉伸角度

用途

  • 创建斜切面
  • 非正交几何
  • 复杂造型

6.2.4 拉伸深度约束

拉伸深度可以通过约束控制:

默认: 拉伸向量垂直于草图平面
方程: 
  dot(拉伸向量, 草图U轴) = 0
  dot(拉伸向量, 草图V轴) = 0

约束方式

  • 固定深度: 直接输入数值
  • 参数化深度: 通过约束关联到其他尺寸
  • 到面: 约束拉伸终点到特定平面

6.3 车削与旋转操作

6.3.1 车削 (Lathe)

将草图绕轴旋转360°创建旋转体。

创建步骤

  1. 创建包含旋转轴的草图
  2. 选择旋转轴线
  3. 菜单: 新建组 → 车削

注意事项

  • 草图必须包含旋转轴
  • 轮廓不能跨越旋转轴
  • 轮廓应为封闭或开放曲线

车削生成的实体

  • 点 → 圆
  • 线段 → 圆锥面/圆柱面
  • 弧 → 环形面

6.3.2 革命 (Revolve)

绕轴旋转指定角度(非360°)。

创建步骤

  1. 创建草图和旋转轴
  2. 菜单: 新建组 → 革命
  3. 设置旋转角度

属性

  • 角度: 旋转角度(度数)
  • 方向: 正向/负向
  • 布尔运算: 并集/差集/交集

6.3.3 螺旋拉伸 (Helix)

结合旋转和平移创建螺旋形状。

创建步骤

  1. 创建草图轮廓
  2. 定义螺旋轴
  3. 菜单: 新建组 → 螺旋拉伸
  4. 设置螺旋参数

参数

螺旋参数:
├── 圈数: 螺旋的总圈数
├── 螺距: 每圈的轴向距离 (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)

创建实体的线性阵列。

创建步骤

  1. 选择源组
  2. 菜单: 新建组 → 步进平移
  3. 设置平移参数

参数

步进平移:
├── 来源组: [组编号]
├── 步进次数: [数量]
├── 平移向量: (dx, dy, dz)
└── 布尔运算: [并集/差集/交集/装配]

平移向量定义

  • 可以用约束定义方向和距离
  • 或直接拖动控制点

6.5.2 步进旋转 (Step Rotate)

创建实体的圆周阵列。

创建步骤

  1. 选择源组
  2. 菜单: 新建组 → 步进旋转
  3. 设置旋转参数

参数

步进旋转:
├── 来源组: [组编号]
├── 步进次数: [数量]
├── 旋转轴: [线或两点定义]
├── 步进角度: [角度]
└── 布尔运算: [并集/差集/交集/装配]

6.5.3 阵列与约束

阵列中的最后一个实例使用特殊标识:

  • 可以对最后一个实例添加约束
  • 修改阵列数量不影响这些约束

6.6 实体编辑

6.6.1 抑制实体模型

可以抑制组的实体模型生成:

用途

  • 仅需要草图中的实体
  • 提高性能
  • 分割模型用于导出

设置方法

  1. 选择组
  2. 在属性浏览器中勾选"抑制实体模型"

6.6.2 强制三角网格

当NURBS布尔运算失败时:

设置方法

  1. 勾选"强制为三角网格"
  2. 使用近似的三角网格进行布尔运算

缺点

  • 精度降低
  • 曲面不再光滑

6.6.3 实体颜色和透明度

设置实体颜色

  1. 选择组
  2. 在属性浏览器中选择颜色

设置透明度 (3.0新增)

  1. 选择组
  2. 设置不透明度 (0-1)

继承颜色

  • 新建组默认继承上一个带实体组的颜色

6.7 工作平面管理

6.7.1 创建新工作平面

在面上创建

  1. 选择一个面
  2. 菜单: 新建组 → 草图-在-工作平面
  3. 草图自动在选择的面上

自定义工作平面

  1. 菜单: 新建组 → 草图-在-新工作平面
  2. 定义原点和方向

使用点和法线 (3.1新增)

  1. 选择一个点和一个法线
  2. 创建草图-在-新工作平面

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 剖切视图

创建剖切

  1. 选择剖切平面
  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的三维建模基础:

  1. 建模概述: 草图-特征工作流、实体建模
  2. 拉伸操作: 基本拉伸、斜向拉伸
  3. 旋转操作: 车削、革命、螺旋拉伸
  4. 布尔运算: 并集、差集、交集、装配
  5. 阵列操作: 步进平移、步进旋转
  6. 实体编辑: 抑制、三角网格、颜色
  7. 工作平面: 创建、定向、管理
  8. 三维导航: 视图控制、剖切、爆炸

下一章将介绍高级建模技巧。


导航


posted @ 2026-01-10 13:15  我才是银古  阅读(28)  评论(0)    收藏  举报