唯杰地图 logo唯杰地图
VJMAP
EN

get-entity

vjcad/references/input/get-entity.md 2.2 KB59 行
原文

本文回答:取单个实体(带拾取点)用 getEntity(options),配置类 SelectionSetInputOptions,结果字段是 pickedEntity / pickedPoint,不是 value。

一、最小用法

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