mxcad_2d API 文档 / 2d / MxPropertiesWindowCustom
Class: MxPropertiesWindowCustom
2d.MxPropertiesWindowCustom
MxPropertiesWindowCustom 属性窗口添加自定义属性.
Table of contents
Constructors
Methods
- getEntityProperties
- onEvent_getProperties
- onEvent_setProperties
- setEntityProperties
- setEntitySupportCustom
Constructors
constructor
• new MxPropertiesWindowCustom()
Methods
getEntityProperties
▸ getEntityProperties(id
): MxPropertiesWindowCustomValue
[]
属性UI程序调用,获取给定实体的自定义属性
Parameters
Name | Type |
---|---|
id | McObjectId |
Returns
MxPropertiesWindowCustomValue
[]
onEvent_getProperties
▸ onEvent_getProperties(call
): void
插件程序程序调用,注册返回对象自定属性函数。
Parameters
Name | Type |
---|---|
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
Name | Type |
---|---|
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
Name | Type |
---|---|
id | McObjectId |
prop | MxPropertiesWindowCustomValue |
Returns
void
setEntitySupportCustom
▸ setEntitySupportCustom(id
, isCustomProperties?
): void
插件程序程序调用,设置该对象状态支持自定义属性在属性窗口显示。
Parameters
Name | Type | Default value |
---|---|---|
id | McObjectId | undefined |
isCustomProperties | boolean | true |
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);
}