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