> **本文回答**：`getSelections(options)` 让用户框选 / 点选**多个**实体；返回 `result.value` 是 `EntityBase[]`。配置类是 `SelectionInputOptions`——**无参构造**，只有 `useOsnap` 一个属性，不支持提示消息（要提示请另用 UI/命令行输出）。

## 一、最小用法

```js
class GetSelectionsDemoCommand {
  async main() {
    const opt = new SelectionInputOptions();
    const r = await getSelections(opt);

    if (r.status === InputStatusEnum.OK) {
      const entities = r.value;
      console.log(`选中了 ${entities.length} 个实体:`);
      entities.forEach((e, i) => {
        console.log(`  ${i+1}. ${e.type} (id: ${e.id}, color: ${e.color})`);
      });
    } else {
      console.log('未选择任何实体或已取消');
    }
  }
}
```

MCP 参考：`vjcad/example/input/03getselections.js`。

## 二、修改属性后刷新

```js
const opt = new SelectionInputOptions();
const r = await getSelections(opt);

if (r.status === InputStatusEnum.OK && r.value.length > 0) {
  r.value.forEach(ent => {
    ent.color = 1;     // setter 内部会调用 setModified
  });
  Engine.regen();      // 刷新已修改实体
}
```

MCP 参考：`vjcad/example/input/03getselections.js`、`vjcad/doc/guide/quick-start.md`（"获取选择集"）。

## 三、配置 / 返回值

> 引自 `vjcad/doc/command/api-reference.md`：

`SelectionInputOptions` 属性：

| 属性 | 类型 | 说明 |
|---|---|---|
| `useOsnap` | `boolean` | 是否启用对象捕捉 |

`SelectionSetInputResult` 字段：

| 属性 | 类型 | 说明 |
|---|---|---|
| `status` | `number` | 输入状态 |
| `value` | `EntityBase[]` | 选中的实体数组 |
| `stringResult` | `string` | 关键字结果 |

## 四、与"已有选择集"配合

**有预选集时 `getSelections` 不提示**：直接返回 `OK` + 预选实体，并清空预选集。要强制用户重新交互选择，先清空：

```js
import { ssSetFirst } from 'vjcad';

ssSetFirst([]);       // 清空当前选择集（预选集），否则下一次 getSelections 直接返回它
const r = await getSelections(new SelectionInputOptions());
// 一个都没选就回车 → status = None（不是 OK）
```

MCP 参考：`vjcad/doc/command/api-reference.md`。

更多选择集 API 见 [selection/selection-api](../selection/selection-api.md)。

## 反例

- 拿到 `r.value` 就 `r.value[0].erase()`：可能没成功；正确做法是 `Engine.eraseEntities(r.value)`（自动 undo）。
- 修改完属性不调 `Engine.regen()`：UI 不刷新。

## 参考（官方文档 MCP）

- 文档：`vjcad/doc/command/api-reference.md`、`vjcad/doc/guide/quick-start.md`
- 示例：`vjcad/example/input/03getselections.js`
