mxcad_2d API 文档 / 2d / McDbBlockTable
Class: McDbBlockTable
2d.McDbBlockTable
数据库中的块表类,块表中存放着块表记录。
Example
//遍历图纸中的所有图块
import { MxCpp, McDbBlockTable } from "mxcad"
// 获取当前cad对象
let mxcad = MxCpp.App.getCurrentMxCAD();
// 获取块表对象
let blockTable: McDbBlockTable = mxcad.getDatabase().getBlockTable();
// 获取块表中的所有记录对象id
let aryId = blockTable.getAllRecordId();
//遍历记录对象id,获取块表记录对象详情
aryId.forEach((id) => {
let blkRec = id.getMcDbBlockTableRecord();
if (blkRec === null) return;
console.log(blkRec);
console.log("blkRec.name:" + blkRec.name);
console.log("blkRec.origin:" + blkRec.origin);
});
Hierarchy
↳
McDbBlockTable
Table of contents
Constructors
Properties
Accessors
Methods
- add
- assertObjectModification
- clone
- createExtensionDictionary
- erase
- get
- getAllRecordId
- getDatabase
- getDatabaseIndexId
- getExtensionDictionary
- getGripPoints
- getHandle
- getImp
- getJson
- getObjectID
- getOwnerID
- has
- initTempObject
- isErased
- isHaveExtensionDictionary
- isKindOf
- isNull
- moveGripPointsAt
- setJson
- unErase
Constructors
constructor
• new McDbBlockTable(imp?
)
构造函数。
Parameters
Name | Type | Description |
---|---|---|
imp? | any | 内部实现对象。 |
Overrides
Properties
imp
• imp: any
= 0
内部实现对象。
Inherited from
Accessors
dxf0
• get
dxf0(): string
得到对象的DXF组码的类型名,这个和AutoCAD中的DXF组码是一样。 比如直线的类型名为:McDbLine,DXF0组码值: LINE,DXF0组码值可以用来构造集时的类型过滤。
Returns
string
Inherited from
McDbObject.dxf0
objectName
• get
objectName(): string
获取对象名称。
Returns
string
返回对象名
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
console.log(obj.objectName);
Inherited from
McDbObject.objectName
Methods
add
▸ add(rec
): McObjectId
向块表中添加图块记录。
Parameters
Name | Type | Description |
---|---|---|
rec | string | McDbBlockTableRecord | 图块记录对象。 |
Returns
新增图块记录对象ID。
Example
import { MxCpp, McDbBlockTable } from "mxcad"
let mxcad = MxCpp.App.getCurrentMxCAD();
let blockTable: McDbBlockTable = mxcad.getDatabase().getBlockTable();
const blkRec = new McDbBlockTableRecord();
const objId = blockTable.add(blkRec);
assertObjectModification
▸ assertObjectModification(autoUndo?
): number
设置对象被改变的状态,可自动触发更新显示函数,更新显示。 比如块表记录更新了,需要通知块引用更新显示,可以调用该函数。
Parameters
Name | Type | Default value |
---|---|---|
autoUndo | boolean | false |
Returns
number
Example
//假设obj为一个数据库对象
obj.assertObjectModification()
Inherited from
McDbObject.assertObjectModification
clone
▸ clone(): null
| McDbObject
克隆对象。
Returns
null
| McDbObject
克隆出的对象。
Example
//假设obj为一个数据库对象
const obj_clone = obj.clone();
Inherited from
createExtensionDictionary
▸ createExtensionDictionary(): boolean
创建对象的扩展字典数据.
Returns
boolean
Example
//假设obj为一个数据库对象
const res = obj.createExtensionDictionary();
Inherited from
McDbObject.createExtensionDictionary
erase
▸ erase(): boolean
删除对象。
Returns
boolean
是否删除成功。
Example
//假设obj为一个数据库对象
const res = obj.erase();
console.log(res);
Inherited from
get
▸ get(sName
, skipDeleted?
): McObjectId
查找块表中的图块记录。
Parameters
Name | Type | Default value | Description |
---|---|---|---|
sName | string | undefined | 图块记录名称。 |
skipDeleted | boolean | true | 是否跳过已删除图块记录。 |
Returns
图块记录对象ID。
Example
import { MxCpp, McDbBlockTable } from "mxcad"
let mxcad = MxCpp.App.getCurrentMxCAD();
let blockTable: McDbBlockTable = mxcad.getDatabase().getBlockTable();
const blkRec = new McDbBlockTableRecord();
blkRec.name = "测试图块";
blockTable.add(blkRec);
const objId = blockTable.get("测试图块");
getAllRecordId
▸ getAllRecordId(skipDeleted?
): McObjectId
[]
获取块表中的所有图块记录的ID。
Parameters
Name | Type | Default value | Description |
---|---|---|---|
skipDeleted | boolean | true | 是否跳过已删除图块记录。 |
Returns
ret 图块记录ID数组。
Example
import { MxCpp, McDbBlockTable } from "mxcad"
let mxcad = MxCpp.App.getCurrentMxCAD();
let blockTable: McDbBlockTable = mxcad.getDatabase().getBlockTable();
const aryId = blockTable.getAllRecordId();
console.log(aryId)
getDatabase
▸ getDatabase(): McDbDatabase
得到对象所在的数据库
Returns
返回数据库
Example
//假设obj为一个数据库对象
const data = obj.getDatabase();
Inherited from
getDatabaseIndexId
▸ getDatabaseIndexId(): number
获取对象的索引ID
Returns
number
Example
//假设obj为一个数据库对象
const id = obj.getDatabaseIndexId();
Inherited from
getExtensionDictionary
▸ getExtensionDictionary(): McDbDictionary
得到对象的扩展字典数据.
Returns
扩展字典数据
Example
//假设obj为一个数据库对象
const id = obj.getOwnerID();
Inherited from
McDbObject.getExtensionDictionary
getGripPoints
▸ getGripPoints(): McGePoint3dArray
获取对象的控制点
Returns
Example
//假设obj为一个数据库对象
const ptArr = obj.getGripPoints();
Inherited from
getHandle
▸ getHandle(): string
得到对象句柄
Returns
string
返回对象句柄
Example
//假设obj为一个数据库对象
const handle = obj.getHandle();
Inherited from
getImp
▸ getImp(): any
获取内部实现对象。
Returns
any
内部实现对象。
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
let imp = obj.getImp();
Inherited from
getJson
▸ getJson(): string
获取 JSON 格式的字符串。
Returns
string
JSON 格式的字符串。
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
const json = obj.getJson()
Inherited from
getObjectID
▸ getObjectID(): McObjectId
获取对象 ID。
Returns
对象 ID。
Example
import { McDbObject } from "mxcad";
const id = obj.getObjectID();
Inherited from
getOwnerID
▸ getOwnerID(): number
得到对象拥用者的id
Returns
number
Example
//假设obj为一个数据库对象
const id = obj.getOwnerID();
Inherited from
has
▸ has(sName
): boolean
检查块表中是否存在指定名称的图块记录。
Parameters
Name | Type | Description |
---|---|---|
sName | string | 图块记录名称。 |
Returns
boolean
布尔值。
Example
import { MxCpp, McDbBlockTable } from "mxcad"
let mxcad = MxCpp.App.getCurrentMxCAD();
let blockTable: McDbBlockTable = mxcad.getDatabase().getBlockTable();
const blkRec = new McDbBlockTableRecord();
blkRec.name = "测试图块";
blockTable.add(blkRec);
const res = blockTable.has("测试图块");
console.log(res)
initTempObject
▸ initTempObject(imp
): void
初始化临时对象。
Parameters
Name | Type | Description |
---|---|---|
imp | any | 内部实现对象。 |
Returns
void
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
obj.initTempObject()
Inherited from
isErased
▸ isErased(): boolean
对象是否已经删除
Returns
boolean
Example
//假设obj为一个数据库对象
const res = obj.isErased();
console.log(res);
Inherited from
isHaveExtensionDictionary
▸ isHaveExtensionDictionary(): boolean
是否有扩展字典数据.
Returns
boolean
Example
//假设obj为一个数据库对象
const res = obj.isHaveExtensionDictionary();
Inherited from
McDbObject.isHaveExtensionDictionary
isKindOf
▸ isKindOf(sObjectName
): boolean
判断对象类型
Parameters
Name | Type | Description |
---|---|---|
sObjectName | string | 类型名 |
Returns
boolean
返回对象是否是目标类型
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
let isKind = obj.isKindOf('SomeObjectType');
console.log(isKind); // 输出: true 或 false
Inherited from
isNull
▸ isNull(): any
判断是否为空对象
Returns
any
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
console.log(obj.isNull()); // 输出: true 或 false
Inherited from
moveGripPointsAt
▸ moveGripPointsAt(iIndex
, dXOffset
, dYOffset
, dZOffset
): any
移动对象的控制点
Parameters
Name | Type | Description |
---|---|---|
iIndex | number | 索引 |
dXOffset | number | X轴偏移量 |
dYOffset | number | Y轴偏移量 |
dZOffset | number | Z轴偏移量 |
Returns
any
Example
//假设obj为一个数据库对象
obj.moveGripPointsAt(1,10,10,10);
Inherited from
setJson
▸ setJson(str
): boolean
设置 JSON 格式的字符串。
Parameters
Name | Type | Description |
---|---|---|
str | string | JSON 格式的字符串。 |
Returns
boolean
是否设置成功。
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
const res = obj.setJson('{"key": "value"}');
console.log(res)
Inherited from
unErase
▸ unErase(): boolean
反删除对象。
Returns
boolean
Example
//假设obj为一个数据库对象
const res = obj.unErase();
console.log(res);