Skip to content
On this page

mxcad_2d API 文档 / 2d / MxPropertiesWindowCustom

Class: MxPropertiesWindowCustom

2d.MxPropertiesWindowCustom

MxPropertiesWindowCustom 属性窗口添加自定义属性.

Table of contents

Constructors

Methods

Constructors

constructor

new MxPropertiesWindowCustom()

Methods

getEntityProperties

getEntityProperties(id): MxPropertiesWindowCustomValue[]

属性UI程序调用,获取给定实体的自定义属性

Parameters

NameType
idMcObjectId

Returns

MxPropertiesWindowCustomValue[]


onEvent_getProperties

onEvent_getProperties(call): void

插件程序程序调用,注册返回对象自定属性函数。

Parameters

NameType
call(id: McObjectId) => MxPropertiesWindowCustomValue[]

Returns

void

Example

ts
// 属性界面上,得到对象属性事件。
   MxCpp.PropertiesWindow.onEvent_getProperties((id: McObjectId) => {
       let ent = id.getMcDbEntity();
       if (!ent) return [];
       let dn = ent.getxDataDouble("DN");
       let len = ent.getxDataDouble("LEN");
       let ret = [];

       if (dn.ret) {
           ret.push({
               sVarName: "DN",
               iVarType: MxPropertiesWindowCustomValueType.kDouble,
               val: dn.val,
               isOnlyRead: false
           });
       }

       if (len.ret) {
           ret.push({
               sVarName: "LEN",
               iVarType: MxPropertiesWindowCustomValueType.kDouble,
               val: len.val,
               isOnlyRead: false
           });
       }
       return ret;
   })

onEvent_setProperties

onEvent_setProperties(call): void

插件程序程序调用,注册设置对象自定属性函数。

Parameters

NameType
call(id: McObjectId, prop: MxPropertiesWindowCustomValue) => void

Returns

void

Example

ts
// 属性界面上,对象属性被修改事件。
   MxCpp.PropertiesWindow.onEvent_setProperties((id: McObjectId, prop: any) => {
       let ent = id.getMcDbEntity();
       if (!ent) return;
       if (prop.sVarName == "DN") {
           ent.setxDataDouble("DN", prop.val);
       }
       else if (prop.sVarName == "LEN") {
           ent.setxDataDouble("LEN", prop.val);
       }
   });

setEntityProperties

setEntityProperties(id, prop): void

属性UI程序调用,设置给定实体的自定义属性

Parameters

NameType
idMcObjectId
propMxPropertiesWindowCustomValue

Returns

void


setEntitySupportCustom

setEntitySupportCustom(id, isCustomProperties?): void

插件程序程序调用,设置该对象状态支持自定义属性在属性窗口显示。

Parameters

NameTypeDefault value
idMcObjectIdundefined
isCustomPropertiesbooleantrue

Returns

void

Example

ts
import { MxCADUiPrEntity, MxCpp } from "mxcad";

  // 设置对象扩展属性值。
  async function Mx_TestExProp() {
    let selEntity1 = new MxCADUiPrEntity();

    selEntity1.setMessage("选择要需要开启自定义属性的对象");
    let idText = await selEntity1.go();
    if (!idText.isValid()) return;

    let ent = idText.getMcDbEntity();
    MxCpp.PropertiesWindow.setEntitySupportCustom(idText);

    // 设置对象扩展属性值。
    ent.setxDataDouble("DN", 100);
    ent.setxDataDouble("LEN", 2000);
 }