mxcad_2d API 文档 / 2d / MxCADUiPrEntity
Class: MxCADUiPrEntity
2d.MxCADUiPrEntity
UI交互 根据用户鼠标点击的坐标得到对应的实体
Example
import { MxCADUiPrEntity, MxCpp } from "mxcad"
let getEnt = new MxCADUiPrEntity();
getEnt.setMessage("选择目标对象");
let entId = await getEnt.go();
if(!entId.id) return;
// 通过ID对象得到图形数据对象
let ent = entId.getMcDbEntity();
Hierarchy
↳
MxCADUiPrEntity
Table of contents
Constructors
Methods
- abort
- clearLastInputPoint
- disableAllTrace
- drawReserve
- getCursorType
- getDetailedResult
- getDocPickPoint
- getDynamicInputType
- getFilter
- getInputToucheType
- getStatus
- go
- isDisableDynInput
- isDisableDynamicTrace
- isDisableGridTrace
- isDisableOrthoTrace
- isDisableOsnap
- isDisablePolarAxisTrace
- isKeyWordPicked
- isOffsetInputPostion
- keyWordPicked
- keyWords
- message
- pickPoint
- setCursorType
- setDisableDynInput
- setDisableDynamicTrace
- setDisableGridTrace
- setDisableOrthoTrace
- setDisableOsnap
- setDisablePolarAxisTrace
- setDynamicInputType
- setFilter
- setInputToucheType
- setKeyWords
- setLastInputPoint
- setMessage
- setOffsetInputPostion
- setUserDraw
- setUserInputControls
- userInputControls
- value
Constructors
constructor
• new MxCADUiPrEntity()
构造函数
Example
import { MxCADUiPrEntity } from "mxcad";
const getEnt = new MxCADUiPrEntity();
Overrides
Methods
abort
▸ abort(cause?
): void
停止当前动态拖动
Parameters
Name | Type | Default value |
---|---|---|
cause | DetailedResult | DetailedResult.kCodeAbort |
Returns
void
void
Inherited from
clearLastInputPoint
▸ clearLastInputPoint(): void
清除上一次的输入点数据。
Example
//以 MxCADUiPrPoint 类示例, 其他MxCADUiPr* 系列的类同理
import { MxCADUiPrPoint } from 'mxcad'
const getPoint = new MxCADUiPrPoint();
getPoint.clearLastInputPoint();
Returns
void
Inherited from
MxCADUiPrBase.clearLastInputPoint
disableAllTrace
▸ disableAllTrace(isDisable?
): void
禁用所有跟踪
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
getPoint.disableAllTrace(true);
Parameters
Name | Type | Default value | Description |
---|---|---|---|
isDisable | boolean | true | 是否禁用 |
Returns
void
Inherited from
drawReserve
▸ drawReserve(callAddEntity?
): void
把动态绘制的对象,保留到图上。
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint();
const basePt = new McGePoint3d(0, 0, 0);
getPoint.setBasePt(basePt);
getPoint.setUserDraw((pt,pw)=>{
const line = new McDbLine(basePt, pt);
pw.drawMcDbEntity(line)
})
const val = await getPoint.go();
if (!val) return;
getPoint.drawReserve()
Parameters
Name | Type | Description |
---|---|---|
callAddEntity? | (ent : Object3D ) => void | 回调参数ent 类型:THREE.THREE.Object3D |
Returns
void
Inherited from
getCursorType
▸ getCursorType(): MxCursorType
返回光标类型
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
console.log(getPoint.getCursorType())
Returns
MxCursorType
Inherited from
getDetailedResult
▸ getDetailedResult(): DetailedResult
返回交互操作退出的详细原因
Example
//以 MxCADUiPrDist 类示例
import { MxCADUiPrDist } from 'mxcad';
import { DetailedResult } from "mxdraw";
const getDist = new MxCADUiPrDist();
const val = await getDist.go();
if (!val) return;
if (getDist.getDetailedResult() === DetailedResult.kCoordIn) {
console.log('提示输入', val)
}
Returns
DetailedResult
当前交互操作返回值类型
Inherited from
MxCADUiPrBase.getDetailedResult
getDocPickPoint
▸ getDocPickPoint(): McGePoint3d
得以获取对象时的输入点的CAD图纸坐标.
Example
import { MxCADUiPrEntity } from 'mxcad'
const getEnt = new MxCADUiPrEntity();
const entId = await getEnt.go();
if (!entId.id) return;
const point = getEnt.getDocPickPoint();
Returns
点对象 MdGePoint3d
getDynamicInputType
▸ getDynamicInputType(): DynamicInputType
返回动态输入类型
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
console.log(getPoint.getDynamicInputType())
Returns
DynamicInputType
动态输入显示类型
Inherited from
MxCADUiPrBase.getDynamicInputType
getFilter
▸ getFilter(): undefined
| MxCADResbuf
获取MxCADUiPrEntity设置的过滤器详情
Example
import { MxCADUiPrEntity, MxCADResbuf } from "mxcad";
const filter = new MxCADResbuf();
filter.AddMcDbEntityTypes("LINE");
const getEnt = new MxCADUiPrEntity();
getEnt.setFilter(filter);
console.log(getEnt.getFilter());
Returns
undefined
| MxCADResbuf
过滤器
getInputToucheType
▸ getInputToucheType(): number
返回需要的Touche输入类型
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint();
const toucheType = getPoint.getInputToucheType();
console.log(toucheType)
Returns
number
Touche输入类型
Inherited from
MxCADUiPrBase.getInputToucheType
getStatus
▸ getStatus(): MrxDbgUiPrBaseReturn
获取操作状态
Example
//以 MxCADUiPrDist 类示例
import { MxCADUiPrDist } from 'mxcad';
import { MrxDbgUiPrBaseReturn } from "mxdraw";
const getDist = new MxCADUiPrDist();
const val = await getDist.go();
if (!val) return;
if(getPoint.getStatus() === MrxDbgUiPrBaseReturn.kNone) {
// 空输入
}
Returns
MrxDbgUiPrBaseReturn
操作状态值
Inherited from
go
▸ go(): Promise
<McObjectId
>
开始动态拖动
Example
import { MxCADUiPrEntity } from 'mxcad'
const getEnt = new MxCADUiPrEntity();
const entId = await getEnt.go();
if (!entId.id) return
Returns
返回一个promise对象,包含了用户选择的对象
isDisableDynInput
▸ isDisableDynInput(): boolean
是否禁用动态输入框
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
console.log(getPoint.isDisableDynInput())
Returns
boolean
Inherited from
MxCADUiPrBase.isDisableDynInput
isDisableDynamicTrace
▸ isDisableDynamicTrace(): boolean
是否禁用动态跟踪
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
console.log(getPoint.isDisableDynamicTrace())
Returns
boolean
Inherited from
MxCADUiPrBase.isDisableDynamicTrace
isDisableGridTrace
▸ isDisableGridTrace(): boolean
是否禁用格网追踪
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
console.log(getPoint.isDisableGridTrace())
Returns
boolean
Inherited from
MxCADUiPrBase.isDisableGridTrace
isDisableOrthoTrace
▸ isDisableOrthoTrace(): boolean
是否禁用正射追踪
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
console.log(getPoint.isDisableOrthoTrace())
Returns
boolean
Inherited from
MxCADUiPrBase.isDisableOrthoTrace
isDisableOsnap
▸ isDisableOsnap(): boolean
是否禁用捕捉
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
console.log(getPoint.isDisableOsnap())
Returns
boolean
Inherited from
isDisablePolarAxisTrace
▸ isDisablePolarAxisTrace(): boolean
是否禁用极轴跟踪
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
console.log(getPoint.isDisablePolarAxisTrace())
Returns
boolean
Inherited from
MxCADUiPrBase.isDisablePolarAxisTrace
isKeyWordPicked
▸ isKeyWordPicked(matchKeyWord
): boolean
测试某一个关键字是否被用户选择
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint();
getPoint.setKeyWords("[选项1(A)/选项2(B)]");
const pt = await getPoint.go();
if(getPoint.isKeyWordPicked('A')){
console.log('选项1')
}else if(getPoint.isKeyWordPicked('B')){
console.log('选项2')
}
Parameters
Name | Type | Description |
---|---|---|
matchKeyWord | string | 要检测的关键字 |
Returns
boolean
true为真
Inherited from
isOffsetInputPostion
▸ isOffsetInputPostion(): boolean
是否输入点遍移一个距离
Returns
boolean
Inherited from
MxCADUiPrBase.isOffsetInputPostion
keyWordPicked
▸ keyWordPicked(): string
返回用户选择的关键字
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint();
getPoint.setKeyWords("[选项1(A)/选项2(B)]");
const pt = await getPoint.go();
const key = getPoint.keyWordPicked();
console.log(key)
Returns
string
选择的关键字
Inherited from
keyWords
▸ keyWords(): string
返回关键字列表
Example
//以 MxCADUiPrPoint 类示例,其他MxCADUiPr* 系列的类同理
import { MxCADUiPrPoint } from 'mxcad'
const getPoint = new MxCADUiPrPoint();
getPoint.setKeyWords("[选项1(A)/选项2(B)]");
const keyList = getPoint.keyWords();
console.log("关键词列表", keyList)// 关键词列表 [选项1(A)/选项2(B)]
Returns
string
关键词列表
Inherited from
message
▸ message(): string
提示字符串
Example
//以 MxCADUiPrPoint 类示例, 其他MxCADUiPr* 系列的类同理
import { MxCADUiPrPoint , McGePoint3d} from 'mxcad'
const getPoint = new MxCADUiPrPoint();
getPoint.setMessage("测试信息");
console.log(getPoint.message());//测试信息
Returns
string
提示消息
Inherited from
pickPoint
▸ pickPoint(): McGePoint3d
得到获取对象时的输入点
Example
import { MxCADUiPrEntity } from 'mxcad'
const getEnt = new MxCADUiPrEntity();
const entId = await getEnt.go();
if (!entId.id) return;
const point = getEnt.pickPoint();
console.log(point)
Returns
获取对象时的输入点
setCursorType
▸ setCursorType(type
): void
设置光标类型
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
import { MxCursorType } from "mxdraw";
const getPoint = new MxCADUiPrPoint()
getPoint.setMessage("指定文字起点:")
getPoint.setCursorType(MxCursorType.kCross);
const pt = await getPoint.go();
Parameters
Name | Type | Description |
---|---|---|
type | MxCursorType | 鼠标样式类型 |
Returns
void
Inherited from
setDisableDynInput
▸ setDisableDynInput(isDisable
): void
设置是否禁用动态输入框
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
getPoint.setDisableDynInput(true);
Parameters
Name | Type | Description |
---|---|---|
isDisable | boolean | 是否禁用 |
Returns
void
Inherited from
MxCADUiPrBase.setDisableDynInput
setDisableDynamicTrace
▸ setDisableDynamicTrace(isDisable
): void
设置是否禁用动态跟踪
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
getPoint.setDisableDynamicTrace(true);
Parameters
Name | Type | Description |
---|---|---|
isDisable | boolean | 是否禁用 |
Returns
void
Inherited from
MxCADUiPrBase.setDisableDynamicTrace
setDisableGridTrace
▸ setDisableGridTrace(isDisable
): void
设置是否禁用格网追踪
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
getPoint.setDisableGridTrace(true);
Parameters
Name | Type | Description |
---|---|---|
isDisable | boolean | 是否禁用 |
Returns
void
Inherited from
MxCADUiPrBase.setDisableGridTrace
setDisableOrthoTrace
▸ setDisableOrthoTrace(isDisable
): void
设置是否禁用正射追踪
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
getPoint.setDisableOrthoTrace(true);
Parameters
Name | Type | Description |
---|---|---|
isDisable | boolean | 是否禁用 |
Returns
void
Inherited from
MxCADUiPrBase.setDisableOrthoTrace
setDisableOsnap
▸ setDisableOsnap(isDisable
): void
设置是否禁用捕捉
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
getPoint.setDisableOsnap(true);
Parameters
Name | Type | Description |
---|---|---|
isDisable | boolean | 是否禁用 |
Returns
void
Inherited from
setDisablePolarAxisTrace
▸ setDisablePolarAxisTrace(isDisable
): void
设置是否禁用极轴跟踪
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint()
getPoint.setDisablePolarAxisTrace(true);
Parameters
Name | Type | Description |
---|---|---|
isDisable | boolean | 是否禁用 |
Returns
void
Inherited from
MxCADUiPrBase.setDisablePolarAxisTrace
setDynamicInputType
▸ setDynamicInputType(type
): void
设置动态输入类型
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
import { DynamicInputType } from "mxdraw";
const getPoint = new MxCADUiPrPoint()
getPoint.setDynamicInputType(DynamicInputType.kXYCoordInput);
Parameters
Name | Type | Description |
---|---|---|
type | DynamicInputType | 动态输入显示类型 |
Returns
void
Inherited from
MxCADUiPrBase.setDynamicInputType
setFilter
▸ setFilter(filter
): void
设置或获取过滤器
Example
import { MxCADUiPrEntity, MxCADResbuf } from "mxcad";
const filter = new MxCADResbuf();
filter.AddMcDbEntityTypes("LINE");
const getEnt = new MxCADUiPrEntity();
getEnt.setFilter(filter);
Parameters
Name | Type | Description |
---|---|---|
filter | MxCADResbuf | 过滤器 |
Returns
void
setInputToucheType
▸ setInputToucheType(toucheType
): void
设置需要的Touche输入类型,默认值是 MxType.InputToucheType.kGetBegan
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint();
getPoint.setInputToucheType(MxType.InputToucheType.kGetEnd);
Parameters
Name | Type | Description |
---|---|---|
toucheType | number | toucheType类型 |
Returns
void
Inherited from
MxCADUiPrBase.setInputToucheType
setKeyWords
▸ setKeyWords(keyWordList
): void
设置关键字列表
Example
//以 MxCADUiPrPoint 类示例, 其他MxCADUiPr* 系列的类同理
import { MxCADUiPrPoint } from 'mxcad'
const getPoint = new MxCADUiPrPoint();
getPoint.setKeyWords("[选项1(A)/选项2(B)]")
Parameters
Name | Type | Description |
---|---|---|
keyWordList | string | 关键词列表 |
Returns
void
void
Inherited from
setLastInputPoint
▸ setLastInputPoint(pt
): void
设置上一次的输入点。
Example
//以 MxCADUiPrPoint 类示例, 其他MxCADUiPr* 系列的类同理
import { MxCADUiPrPoint , McGePoint3d} from 'mxcad'
const getPoint = new MxCADUiPrPoint();
getPoint.setLastInputPoint(new McGePoint3d(0,0,0));
Parameters
Name | Type | Description |
---|---|---|
pt | McGePoint3d | 点对象 |
Returns
void
Inherited from
MxCADUiPrBase.setLastInputPoint
setMessage
▸ setMessage(message
): void
设置提示字符串
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad'
const getPoint = new MxCADUiPrPoint();
getPoint.setMessage("\n提示消息")
Parameters
Name | Type | Description |
---|---|---|
message | string | 提示消息 |
Returns
void
提示消息
Inherited from
setOffsetInputPostion
▸ setOffsetInputPostion(isOffset
): void
设置输入点遍移一个距离
Parameters
Name | Type |
---|---|
isOffset | boolean |
Returns
void
Inherited from
MxCADUiPrBase.setOffsetInputPostion
setUserDraw
▸ setUserDraw(pDraw
): void
设置交互过程的动态绘制调用对象
Example
//以 MxCADUiPrPoint 类示例
import { MxCADUiPrPoint } from 'mxcad';
const getPoint = new MxCADUiPrPoint();
getPoint.setUserDraw((pt,pw)=>{
console.log(pt, pw)
})
const pt = await getPoint.go();
Parameters
Name | Type | Description |
---|---|---|
pDraw | (currentPoint : McGePoint3d , pWorldDraw : McEdGetPointWorldDrawObject ) => void | McEdGetPointWorldDrawObject | 动态绘制调用对象 |
Returns
void
void
Inherited from
setUserInputControls
▸ setUserInputControls(contros
): void
设置输入控制设置
Example
// 以 MxCADUiPrInt 类示例
import { MxCADUiPrInt } from 'mxcad';
import { UserInputControls } from "mxdraw"
let getInt = new MxCADUiPrInt();
getInt.setMessage("输入整数:");
getInt.setUserInputControls(UserInputControls.kNoZeroResponseAccepted);
let iRowNum = await getInt.go();
if (iRowNum == null) return;
Parameters
Name | Type |
---|---|
contros | number |
Returns
void
Inherited from
MxCADUiPrBase.setUserInputControls
userInputControls
▸ userInputControls(): number
返回输入控制设置
Example
// 以 MxCADUiPrInt 类示例
import { MxCADUiPrInt } from 'mxcad';
let getInt = new MxCADUiPrInt();
console.log(getInt.userInputControls())
Returns
number
Inherited from
MxCADUiPrBase.userInputControls
value
▸ value(): McObjectId
得以获取对象时的id
Example
import { MxCADUiPrEntity } from 'mxcad'
const getEnt = new MxCADUiPrEntity();
const entId = await getEnt.go();
if (!entId.id) return;
const id = getEnt.value();
Returns
返回对象id