mxcad_2d API 文档 / 2d / McDbObjectArray
Class: McDbObjectArray
2d.McDbObjectArray
McDbObjectArray 是多个 McDbObject 对象的集合容器,用于批量存储、遍历和管理数据库对象。
Description
该类适用于一组对象的统一处理场景,比如批量遍历、筛选、统计和后续编辑。 通过它可以完成:
- 批量保存一组数据库对象;
- 按索引访问对象;
- 遍历数组并执行统一逻辑;
- 判断集合是否为空。
使用方式:
- 通过数据库查询或对象集合返回创建 McDbObjectArray;
- 调用 forEach() 遍历每个对象;
- 使用 length()、empty() 进行集合状态判断;
- 根据需要把对象继续转换为具体实体类型做后续处理。
总结:在实际开发中,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
| Name | Type | Description |
|---|---|---|
imp? | any | 内部实现对象。 |
Properties
aryVal
• aryVal: McDbObject[] = []
对象数组
Methods
empty
▸ empty(): boolean
清空数组
Returns
boolean
forEach
▸ forEach(call): void
遍历对象
Parameters
| Name | Type |
|---|---|
call | (val: McDbObject, index: number) => void |
Returns
void
length
▸ length(): number
数组长度
Returns
number
