Skip to content

mxcad_2d API 文档 / 2d / McDbObjectArray

Class: McDbObjectArray

2d.McDbObjectArray

McDbObjectArray 是多个 McDbObject 对象的集合容器,用于批量存储、遍历和管理数据库对象。

Description

该类适用于一组对象的统一处理场景,比如批量遍历、筛选、统计和后续编辑。 通过它可以完成:

  • 批量保存一组数据库对象;
  • 按索引访问对象;
  • 遍历数组并执行统一逻辑;
  • 判断集合是否为空。

使用方式:

  1. 通过数据库查询或对象集合返回创建 McDbObjectArray;
  2. 调用 forEach() 遍历每个对象;
  3. 使用 length()、empty() 进行集合状态判断;
  4. 根据需要把对象继续转换为具体实体类型做后续处理。

总结:在实际开发中,McDbObjectArray 主要用于批量对象处理,适合需要统一遍历、筛选或统计一组数据库对象的场景。

Example

  • ts
      * import { MxCADUiPrPoint, MxCpp, MxCADUiPrEntity, McDbObject } from 'mxcad'
        async function test(){
             let getFristPoint = new MxCADUiPrPoint();
             let offsetDist = 10 ;
             let getent = new MxCADUiPrEntity();
             getent.setMessage('指定偏移对象');
             let ent_id = await getEnt.go();
             if (!ent_id) return;
             let ent = (await ent_id.getMcDbEntity()) as McDbCurve;
             let getoOffPt = new MxCADUiPrPoint();
             getoOffPt.setMessage('指定偏移点');
             let offPt = await getoOffPt.go();
             if (!offPt) return;
             let objArr = ent.offsetCurves(offsetDist, offPt);
             if (objArr.length() === 0) return;
             objArr.forEach((obj: McDbObject) => {
                 MxCpp.getCurrentCAD().drawEntity(obj as McDbEntity);
             }); 
        }
      * ```

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new McDbObjectArray(imp?)

构造函数。

Parameters

NameTypeDescription
imp?any内部实现对象。

Properties

aryVal

aryVal: McDbObject[] = []

对象数组

Methods

empty

empty(): boolean

清空数组

Returns

boolean


forEach

forEach(call): void

遍历对象

Parameters

NameType
call(val: McDbObject, index: number) => void

Returns

void


length

length(): number

数组长度

Returns

number