## 核心概念

### 切片位置本质

切片位置数值是基于组件局部坐标系的相对比例值，用于定义拉伸操作中"切割平面"的位置。这些数值不依赖具体尺寸，具有通用性和适配性。

### 坐标系基准

所有数值基于组件自身的局部坐标系，原点为组件几何中心，轴向与组件自然朝向一致。X轴为宽度，Y轴为深度，Z轴为高度。

### 数值范围

每个轴向的数值范围为-1.0（边界起点）至1.0（边界终点），0点对应组件中心。通过这些相对值可精准控制切片位置，无需关心具体尺寸。

## 参考坐标系

### 局部坐标系与基准点

所有切片位置数值基于组件自身的局部坐标系，而非全局坐标系。理解这一点是正确配置切片的基础。

#### 原点位置

坐标系原点（0,0,0）为组件的几何中心，由SketchUp自动计算得出（bounds.center）。

#### X轴方向

X轴通常对应组件的宽度方向，从左（-1.0）到右（1.0）。

#### Y轴方向

Y轴通常对应组件的深度方向，从前（-1.0）到后（1.0）。

#### Z轴方向

Z轴通常对应组件的高度方向，从下（-1.0）到上（1.0）。

## 数值解析

### X轴数值含义详解

数值 | 位置描述 | 计算公式（实际坐标） | 示意图（X轴）
--- | --- | --- | ---
-1.0 | 组件最左侧边界 | bounds.min.x | ├─────┼─────┼─────┼
-0.75 | 左侧边界到中心的3/4处 | center.x - (axis_length / 2) * 0.75 | ─●───┼─────┼─────┼
-0.5 | 左侧边界到中心的中点 | center.x - (axis_length / 2) * 0.5 | ────●─────┼─────┼
-0.25 | 左侧边界到中心的1/4处 | center.x - (axis_length / 2) * 0.25 | ─────┼──●───┼─────┼
0 | 组件几何中心 | center.x | ─────┼─────●─────┼
0.25 | 中心到右侧边界的1/4处 | center.x + (axis_length / 2) * 0.25 | ─────┼─────┼──●───┼
0.5 | 中心到右侧边界的中点 | center.x + (axis_length / 2) * 0.5 | ─────┼─────┼────●───┼
0.75 | 中心到右侧边界的3/4处 | center.x + (axis_length / 2) * 0.75 | ─────┼─────┼─────┼──●
1.0 | 组件最右侧边界 | bounds.max.x | ─────┼─────┼─────┼───┤

### X轴切片

控制组件"宽度方向"的切片位置，数值范围从左侧（-1.0）到右侧（1.0）。

### Y轴切片

控制组件"深度方向"的切片位置，数值范围从前侧（-1.0）到后侧（1.0）。

### Z轴切片

控制组件"高度方向"的切片位置，数值范围从下侧（-1.0）到上侧（1.0）。

## 配置示例与效果

### 示例1: 中心单一切片

X轴配置: [0]

在组件中心位置设置一个切片，将组件分为左右两部分。拉伸时，两侧会对称变化。

### 示例2: 三等分切片

Y轴配置: [-0.5, 0.5]

在Y轴中心上下各1/4处设置两个切片，将组件分为上、中、下三部分。可单独控制中间区域的拉伸。

### 示例3: 五等分切片

X轴配置: [-0.75, -0.25, 0.25, 0.75]

在X轴上按1/4比例均匀设置四个切片，将组件分为五个区域。适合复杂造型的精细局部拉伸。

### 示例4: 自定义多轴切片

多轴配置

同时在多个轴向上设置切片，实现复杂的三维拉伸效果。此例在X轴设3个切片，Z轴设2个切片。

## 使用指南

### 如何配置切片位置

1. 确定拉伸轴向：根据需要拉伸的方向，选择X轴（宽度）、Y轴（深度）或Z轴（高度）。
2. 选择切片数量：根据组件复杂度和拉伸需求，决定在该轴向上设置多少个切片。
3. 计算切片位置：使用-1.0至1.0之间的数值，表示切片相对于组件中心的位置。
4. 应用配置：将切片位置数组（如[-0.5, 0.5]）传入相关方法或保存在组件属性中。

#### 实用技巧

- • 使用偶数个切片可实现对称拉伸效果
- • 在关键结构处增加切片，避免变形时出现异常
- • 复杂组件可在多个轴向上同时设置切片
- • 先在简单组件上测试配置，再应用到复杂模型

### 常见问题解答

#### 为什么使用相对值而非固定尺寸？

使用相对值（-1.0至1.0）的优势在于配置不依赖组件实际大小，同一组切片位置可应用于不同尺寸的同类组件，确保比例一致性。

#### 切片数量越多越好吗？

不一定。更多切片提供更精细的控制，但会增加计算复杂度，可能影响性能。建议根据实际需要选择适当的切片数量。

#### 数值超出-1.0至1.0范围会怎样？

超出范围的数值会被自动约束到边界（-1.0或1.0），但可能导致意外的拉伸效果，建议保持在有效范围内。

#### 如何处理嵌套组件？

对于嵌套组件，需确保每个组件都有独立的切片配置。代码中的`make_unique`方法会自动处理这一点，确保修改不会影响其他实例。