> **本文回答**：取**单个**实体（带拾取点）用 `getEntity(options)`，配置类 `SelectionSetInputOptions`，结果字段是 `pickedEntity / pickedPoint`，不是 `value`。

## 一、最小用法

```js
import { getEntity, SelectionSetInputOptions, InputStatusEnum } from 'vjcad';

const opt = new SelectionSetInputOptions('选择一个对象:');
const r = await getEntity(opt);

if (r.status === InputStatusEnum.OK) {
  const ent = r.pickedEntity;
  const pickPoint = r.pickedPoint;
  console.log('实体类型:', ent.type, '拾取点:', pickPoint);
}
```

MCP 参考：`vjcad/doc/command/api-reference.md`。

## 二、`SelectionSetInputOptions` 字段

| 属性 | 类型 | 说明 |
|---|---|---|
| `message` | `string` | 提示消息 |
| `keywords` | `string[]` | 关键字列表（**须大写**：输入经 `toUpperCase()` 后与列表逐个全等比较） |
| `defaultKeyWord` | `string` | 默认关键字（注意大写 **W**）；非空时直接回车/空格返回 `Keyword` + 该值 |
| `useNestedPick` | `boolean` | 是否允许嵌套选择（块内实体） |

状态：点到实体 → `OK`；点空白 → `None`；回车/空格 → `EnterOrSpace`（设了 `defaultKeyWord` 则为 `Keyword`）；Esc → `Cancel`。

## 三、`EntityPickResult` 字段

| 属性 | 类型 | 说明 |
|---|---|---|
| `status` | `number` | 输入状态 |
| `pickedEntity` | `EntityBase` | 拾取的实体 |
| `pickedPoint` | `Point2D` | 拾取点坐标 |
| `stringResult` | `string` | 关键字结果 |

MCP 参考：`vjcad/doc/command/api-reference.md`。

## 四、与 `getSelections` 的区别

| 维度 | `getEntity` | `getSelections` |
|---|---|---|
| 返回 | 单个 `EntityBase` | `EntityBase[]` |
| 关键字段 | `pickedEntity / pickedPoint` | `value`（数组） |
| 配置类 | `SelectionSetInputOptions` | `SelectionInputOptions` |
| 用途 | "选一个对象做某事"（拾取点参与 trim/extend 之类） | "批量改颜色 / 复制 / 删除" |

## 反例

- 把 `r.value` 当 `r.pickedEntity` 读：`getEntity` 没有 `value` 字段。
- 嵌套块里想选块内实体却没设 `useNestedPick = true`：永远只能选到块参照。

## 参考（官方文档 MCP）

- 文档：`vjcad/doc/command/api-reference.md`
