Skip to content
On this page

mxcad_2d API 文档 / 2d / MxCADUiPrAngle

Class: MxCADUiPrAngle

2d.MxCADUiPrAngle

UI交互 根据两个点计算得到角度

Example

ts
import { MxCADUiPrAngle } from 'mxcad'

  const getAngle = new MxCADUiPrAngle()
  getAngle.setMessage("提示用户设置角度:")
  const angleVal = await getAngle.go()
  console.log(angleVal)

Hierarchy

Table of contents

Constructors

Methods

Constructors

constructor

new MxCADUiPrAngle()

构造函数

Example

ts
import { MxCADUiPrAngle } from 'mxcad'

const getAngle = new MxCADUiPrAngle()

Overrides

MxCADUiPrBase.constructor

Methods

abort

abort(cause?): void

停止当前动态拖动

Parameters

NameTypeDefault value
causeDetailedResultDetailedResult.kCodeAbort

Returns

void

void

Inherited from

MxCADUiPrBase.abort


basePt

basePt(): McGePoint3d

得到动态拖动的基点

Returns

McGePoint3d

基点 McGePoint3d

Example

ts
import { MxCADUiPrAngle, McGePoint3d } from 'mxcad'

const getAngle = new MxCADUiPrAngle();
getAngle.setBasePt(new McGePoint3d(0,0,0));
console.log(getAngle.basePt());//(0,0,0)

clearLastInputPoint

clearLastInputPoint(): void

清除上一次的输入点数据。

Returns

void

Example

ts
//以 MxCADUiPrPoint 类示例, 其他MxCADUiPr* 系列的类同理
  import { MxCADUiPrPoint } from 'mxcad'

  const getPoint = new MxCADUiPrPoint();
  getPoint.clearLastInputPoint();

Inherited from

MxCADUiPrBase.clearLastInputPoint


disableAllTrace

disableAllTrace(isDisable?): void

禁用所有跟踪

Parameters

NameTypeDefault valueDescription
isDisablebooleantrue是否禁用

Returns

void

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  getPoint.disableAllTrace(true);

Inherited from

MxCADUiPrBase.disableAllTrace


drawReserve

drawReserve(callAddEntity?): void

把动态绘制的对象,保留到图上。

Parameters

NameTypeDescription
callAddEntity?(ent: Object3D) => void回调参数ent 类型:THREE.THREE.Object3D

Returns

void

Example

ts
//以 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()

Inherited from

MxCADUiPrBase.drawReserve


getCursorType

getCursorType(): MxCursorType

返回光标类型

Returns

MxCursorType

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  console.log(getPoint.getCursorType())

Inherited from

MxCADUiPrBase.getCursorType


getDetailedResult

getDetailedResult(): DetailedResult

返回交互操作退出的详细原因

Returns

DetailedResult

当前交互操作返回值类型

Example

ts
//以 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)
   }

Inherited from

MxCADUiPrBase.getDetailedResult


getDynamicInputType

getDynamicInputType(): DynamicInputType

返回动态输入类型

Returns

DynamicInputType

动态输入显示类型

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  console.log(getPoint.getDynamicInputType())

Inherited from

MxCADUiPrBase.getDynamicInputType


getInputToucheType

getInputToucheType(): number

返回需要的Touche输入类型

Returns

number

Touche输入类型

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint();
  const toucheType = getPoint.getInputToucheType();
  console.log(toucheType)

Inherited from

MxCADUiPrBase.getInputToucheType


getStatus

getStatus(): MrxDbgUiPrBaseReturn

获取操作状态

Returns

MrxDbgUiPrBaseReturn

操作状态值

Example

ts
//以 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) {
   // 空输入
 }

Inherited from

MxCADUiPrBase.getStatus


go

go(): Promise<null | number>

开始动态拖动

Returns

Promise<null | number>

返回一个promise对象,包含了用户设置的角度

Example

ts
import { MxCADUiPrAngle, McGePoint3d } from 'mxcad'

const getAngle = new MxCADUiPrAngle();
const angle = await getAngle.go();

isDisableDynInput

isDisableDynInput(): boolean

是否禁用动态输入框

Returns

boolean

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  console.log(getPoint.isDisableDynInput())

Inherited from

MxCADUiPrBase.isDisableDynInput


isDisableDynamicTrace

isDisableDynamicTrace(): boolean

是否禁用动态跟踪

Returns

boolean

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  console.log(getPoint.isDisableDynamicTrace())

Inherited from

MxCADUiPrBase.isDisableDynamicTrace


isDisableGridTrace

isDisableGridTrace(): boolean

是否禁用格网追踪

Returns

boolean

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  console.log(getPoint.isDisableGridTrace())

Inherited from

MxCADUiPrBase.isDisableGridTrace


isDisableOrthoTrace

isDisableOrthoTrace(): boolean

是否禁用正射追踪

Returns

boolean

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  console.log(getPoint.isDisableOrthoTrace())

Inherited from

MxCADUiPrBase.isDisableOrthoTrace


isDisableOsnap

isDisableOsnap(): boolean

是否禁用捕捉

Returns

boolean

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  console.log(getPoint.isDisableOsnap())

Inherited from

MxCADUiPrBase.isDisableOsnap


isDisablePolarAxisTrace

isDisablePolarAxisTrace(): boolean

是否禁用极轴跟踪

Returns

boolean

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  console.log(getPoint.isDisablePolarAxisTrace())

Inherited from

MxCADUiPrBase.isDisablePolarAxisTrace


isKeyWordPicked

isKeyWordPicked(matchKeyWord): boolean

测试某一个关键字是否被用户选择

Parameters

NameTypeDescription
matchKeyWordstring要检测的关键字

Returns

boolean

true为真

Example

ts
//以 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')
  }

Inherited from

MxCADUiPrBase.isKeyWordPicked


isOffsetInputPostion

isOffsetInputPostion(): boolean

是否输入点遍移一个距离

Returns

boolean

Inherited from

MxCADUiPrBase.isOffsetInputPostion


keyWordPicked

keyWordPicked(): string

返回用户选择的关键字

Returns

string

选择的关键字

Example

ts
//以 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)

Inherited from

MxCADUiPrBase.keyWordPicked


keyWords

keyWords(): string

返回关键字列表

Returns

string

关键词列表

Example

ts
//以 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)]

Inherited from

MxCADUiPrBase.keyWords


message

message(): string

提示字符串

Returns

string

提示消息

Example

ts
//以 MxCADUiPrPoint 类示例, 其他MxCADUiPr* 系列的类同理
  import { MxCADUiPrPoint , McGePoint3d} from 'mxcad'

  const getPoint = new MxCADUiPrPoint();
  getPoint.setMessage("测试信息");
  console.log(getPoint.message());//测试信息

Inherited from

MxCADUiPrBase.message


setBasePt

setBasePt(basePt): void

设置动态拖动的基点

Parameters

NameTypeDescription
basePtMcGePoint3d基点 McGePoint3d

Returns

void

Example

ts
import { MxCADUiPrAngle, McGePoint3d } from 'mxcad'

const getAngle = new MxCADUiPrAngle();
getAngle.setBasePt(new McGePoint3d(0,0,0));

setCursorType

setCursorType(type): void

设置光标类型

Parameters

NameTypeDescription
typeMxCursorType鼠标样式类型

Returns

void

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';
  import { MxCursorType } from "mxdraw";

  const getPoint = new MxCADUiPrPoint()
  getPoint.setMessage("指定文字起点:")
  getPoint.setCursorType(MxCursorType.kCross);
  const pt = await getPoint.go();

Inherited from

MxCADUiPrBase.setCursorType


setDisableDynInput

setDisableDynInput(isDisable): void

设置是否禁用动态输入框

Parameters

NameTypeDescription
isDisableboolean是否禁用

Returns

void

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  getPoint.setDisableDynInput(true);

Inherited from

MxCADUiPrBase.setDisableDynInput


setDisableDynamicTrace

setDisableDynamicTrace(isDisable): void

设置是否禁用动态跟踪

Parameters

NameTypeDescription
isDisableboolean是否禁用

Returns

void

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  getPoint.setDisableDynamicTrace(true);

Inherited from

MxCADUiPrBase.setDisableDynamicTrace


setDisableGridTrace

setDisableGridTrace(isDisable): void

设置是否禁用格网追踪

Parameters

NameTypeDescription
isDisableboolean是否禁用

Returns

void

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  getPoint.setDisableGridTrace(true);

Inherited from

MxCADUiPrBase.setDisableGridTrace


setDisableOrthoTrace

setDisableOrthoTrace(isDisable): void

设置是否禁用正射追踪

Parameters

NameTypeDescription
isDisableboolean是否禁用

Returns

void

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  getPoint.setDisableOrthoTrace(true);

Inherited from

MxCADUiPrBase.setDisableOrthoTrace


setDisableOsnap

setDisableOsnap(isDisable): void

设置是否禁用捕捉

Parameters

NameTypeDescription
isDisableboolean是否禁用

Returns

void

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  getPoint.setDisableOsnap(true);

Inherited from

MxCADUiPrBase.setDisableOsnap


setDisablePolarAxisTrace

setDisablePolarAxisTrace(isDisable): void

设置是否禁用极轴跟踪

Parameters

NameTypeDescription
isDisableboolean是否禁用

Returns

void

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint()
  getPoint.setDisablePolarAxisTrace(true);

Inherited from

MxCADUiPrBase.setDisablePolarAxisTrace


setDynamicInputType

setDynamicInputType(type): void

设置动态输入类型

Parameters

NameTypeDescription
typeDynamicInputType动态输入显示类型

Returns

void

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';
  import { DynamicInputType } from "mxdraw";

  const getPoint = new MxCADUiPrPoint()
  getPoint.setDynamicInputType(DynamicInputType.kXYCoordInput);

Inherited from

MxCADUiPrBase.setDynamicInputType


setInputToucheType

setInputToucheType(toucheType): void

设置需要的Touche输入类型,默认值是 MxType.InputToucheType.kGetBegan

Parameters

NameTypeDescription
toucheTypenumbertoucheType类型

Returns

void

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint();
  getPoint.setInputToucheType(MxType.InputToucheType.kGetEnd);

Inherited from

MxCADUiPrBase.setInputToucheType


setKeyWords

setKeyWords(keyWordList): void

设置关键字列表

Parameters

NameTypeDescription
keyWordListstring关键词列表

Returns

void

void

Example

ts
//以 MxCADUiPrPoint 类示例, 其他MxCADUiPr* 系列的类同理
  import { MxCADUiPrPoint } from 'mxcad'
  const getPoint = new MxCADUiPrPoint();
  getPoint.setKeyWords("[选项1(A)/选项2(B)]")

Inherited from

MxCADUiPrBase.setKeyWords


setLastInputPoint

setLastInputPoint(pt): void

设置上一次的输入点。

Parameters

NameTypeDescription
ptMcGePoint3d点对象

Returns

void

Example

ts
//以 MxCADUiPrPoint 类示例, 其他MxCADUiPr* 系列的类同理
  import { MxCADUiPrPoint , McGePoint3d} from 'mxcad'

  const getPoint = new MxCADUiPrPoint();
  getPoint.setLastInputPoint(new McGePoint3d(0,0,0));

Inherited from

MxCADUiPrBase.setLastInputPoint


setMessage

setMessage(message): void

设置提示字符串

Parameters

NameTypeDescription
messagestring提示消息

Returns

void

提示消息

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad'

  const getPoint = new MxCADUiPrPoint();
  getPoint.setMessage("\n提示消息")

Inherited from

MxCADUiPrBase.setMessage


setOffsetInputPostion

setOffsetInputPostion(isOffset): void

设置输入点遍移一个距离

Parameters

NameType
isOffsetboolean

Returns

void

Inherited from

MxCADUiPrBase.setOffsetInputPostion


setUseBasePt

setUseBasePt(useIt): void

设置使用动态拖动的基点

Parameters

NameTypeDescription
useItboolean是否设置 默认为false

Returns

void

void

Example

ts
import { MxCADUiPrAngle, McGePoint3d } from 'mxcad'

const getAngle = new MxCADUiPrAngle();
getAngle.setUseBasePt(true));

setUserDraw

setUserDraw(pDraw): void

设置交互过程的动态绘制调用对象

Parameters

NameTypeDescription
pDraw(currentPoint: McGePoint3d, pWorldDraw: McEdGetPointWorldDrawObject) => voidMcEdGetPointWorldDrawObject | 动态绘制调用对象

Returns

void

void

Example

ts
//以 MxCADUiPrPoint 类示例
  import { MxCADUiPrPoint } from 'mxcad';

  const getPoint = new MxCADUiPrPoint();
  getPoint.setUserDraw((pt,pw)=>{
    console.log(pt, pw)
  })
  const pt = await getPoint.go();

Inherited from

MxCADUiPrBase.setUserDraw


setUserInputControls

setUserInputControls(contros): void

设置输入控制设置

Parameters

NameType
controsnumber

Returns

void

Example

ts
// 以 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;

Inherited from

MxCADUiPrBase.setUserInputControls


userInputControls

userInputControls(): number

返回输入控制设置

Returns

number

Example

ts
// 以 MxCADUiPrInt 类示例
  import { MxCADUiPrInt } from 'mxcad';

  let getInt = new MxCADUiPrInt();
  console.log(getInt.userInputControls())

Inherited from

MxCADUiPrBase.userInputControls


value

value(): number

得到获取的距离

Returns

number

Example

ts
import { MxCADUiPrAngle } from 'mxcad'

const getAngle = new MxCADUiPrAngle();
const val = await getAngle.go();
const angle = getAngle.value();
console.log(angle);