[mxcad_2d API documentation] (../README. md)/[2d] (../modules/2d. md)/McDbBlockTableRecord
Class: McDbBlockTableRecord
2d.McDbBlockTableRecord
The block table of the database records objects and implements attribute related operation functions for graph blocks.
Example
//Add Block
import { MxCpp, McDbBlockTableRecord, McDbBlockReference, McDbLine, McCmColor } from "mxcad"
let mxcad = MxCpp.getCurrentMxCAD();
let blkTable = mxcad.getDatabase().getBlockTable();
let blkRecId = blkTable.add(new McDbBlockTableRecord());
//Retrieve the newly added block record again based on the Object ID
let blkTableRecord:McDbBlockTableRecord = blkRecId.getMcDbBlockTableRecord()
//Add two line segments and assign specific attributes to each segment in the block record, such as the starting and ending points
const line = new McDbLine(80, 80, 0, -80, -80, 0)
line.trueColor = new McCmColor(255, 0, 0)
const line1 = new McDbLine(-80, 80, 0, 80, -80, 0)
blkTableRecord.appendAcDbEntity(line);
blkTableRecord.appendAcDbEntity(line1);
//The base point for setting the block is usually the point inside the bounding box, which can be arbitrarily specified
blkTableRecord.origin = new McGePoint3d(0,0,0);
//Instantaneous block reference here requires setting the Object Id obtained from the block record we just added
let blkRef = new McDbBlockReference();
blkRef.blockTableRecordId = blkRecId;
//Finally, set the position to render the image block
blkRef.position = new McGePoint3d(0,0,0);
mxcad.drawEntity(blkRef);
//Change the color of the block
import { McDbBlockTableRecord, MxCADResbuf, MxCpp, McCmColor} from "mxcad";
async function Mx_BlkColor() {
//Select target block
let filter = new MxCADResbuf();
filter.AddMcDbEntityTypes("INSERT");// Set filters and select block objects
const getBlockEvent = new MxCADUiPrEntity()
GetBlockEvent. setMessage ('Select the block that needs to modify the base point');
getBlockEvent.setFilter(filter);
const block_id = await getBlockEvent.go();
if (!block_id.id) return;
//Block entity
const blkRef = block_id.getMcDbEntity() as McDbBlockReference;
let blkRec = blkRef.blockTableRecordId.getMcDbBlockTableRecord();
Mx_ModyfBlockRecordEntityColor(blkRec);// Set the block color type to follow the block
//Set block color
const getColor = new MxCADUiPrInt();
GetColor.setMessage ('Enter color index (0~256)');
let colorNum = await getColor.go() || 0;
let color = new McCmColor();
color.setColorIndex(colorNum);
blkRef.trueColor = color;
const mxcad = MxCpp.getCurrentMxCAD();
mxcad.updateDisplay()
}
//Set block color type
function Mx_ModyfBlockRecordEntityColor(blkRec: McDbBlockTableRecord) {
blkRec.getAllEntityId().forEach(id => {
let ent = id.getMcDbEntity();
ent.colorIndex = ColorIndexType.kByblock;
if (ent instanceof McDbBlockReference) {
let blkref = ent as McDbBlockReference;
Mx_ModyfBlockRecordEntityColor(blkref.blockTableRecordId.getMcDbBlockTableRecord());
}
})
}
Hierarchy
↳
McDbBlockTableRecord
Table of contents
Constructors
Properties
Accessors
Methods
- appendAcDbEntity
- assertObjectModification
- clone
- createExtensionDictionary
- erase
- getAllEntityId
- getBoundingBox
- getDatabase
- getDatabaseIndexId
- getExtensionDictionary
- getGripPoints
- getHandle
- getImp
- getJson
- getMinMaxDrawOrder
- getObjectID
- getOwnerID
- initTempObject
- invalidBoundingBoxBuffer
- isErased
- isHaveExtensionDictionary
- isKindOf
- isNull
- moveGripPointsAt
- setJson
- unErase
Constructors
constructor
• new McDbBlockTableRecord(imp?
)
Constructor.
Parameters
Name | Type | Description |
---|---|---|
imp? | Any | Internal implementation object |
Example
import { McDbBlockTableRecord } from "mxcad";
const blkRec = new McDbBlockTableRecord();
Overrides
Properties
imp
• imp: any
= 0
Internal implementation object.
Inherited from
Accessors
dxf0
• get
dxf0(): string
Obtain the type name of the object's DXF group code, which is the same as the DXF group code in AutoCAD. For example, the type name of the line is McDbLine, and the group code value for DXF0 is: LINE and DXF0 group code values can be used for type filtering when constructing sets.
Returns
string
Inherited from
McDbObject.dxf0
name
• get
name(): string
Get or set the name.
Returns
string
Example
//Assuming blkRec is a valid block table record object
BlkRec.name="Test Block Name";
console.log(blkRec.name);// Test block name
• set
name(val
): void
Parameters
Name | Type |
---|---|
val | string |
Returns
void
objectName
• get
objectName(): string
Get the object name.
Returns
string
Return object name
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
console.log(obj.objectName);
Inherited from
McDbObject.objectName
origin
• get
origin(): McGePoint3d
Block origin
Returns
3D point vector
Example
import { McDbBlockTableRecord, McGePoint3d } from "mxcad";
const blkRec = new McDbBlockTableRecord();
blkRec.origin = new McGePoint3d(0,0,0);
Console.log ("Block Origin", blkRec. origin)//(0,0,0)
• set
origin(origin
): void
Parameters
Name | Type |
---|---|
origin | McGePoint3d |
Returns
void
Methods
appendAcDbEntity
▸ appendAcDbEntity(pEntity
): McObjectId
Add corresponding entities to the block
Parameters
Name | Type | Description |
---|---|---|
PEntity | [McDbEntity] (2d. McDbEntity. md) | Entity |
Returns
Object ID
Example
import { McDbBlockTableRecord, McDbLine } from "mxcad";
const line = new McDbLine(-80, 80, 0, 80, -80, 0);
const blkRec = new McDbBlockTableRecord();
const objId = blkRec.appendAcDbEntity(line)
assertObjectModification
▸ assertObjectModification(autoUndo?
): number
Setting the state of the object to be changed can automatically trigger the update display function to update the display. For example, if the block table record is updated and the block reference needs to be notified to update the display, this function can be called.
Parameters
Name | Type | Default value |
---|---|---|
autoUndo | boolean | false |
Returns
number
Example
//Assuming obj is a database object
obj.assertObjectModification()
Inherited from
McDbObject.assertObjectModification
clone
▸ clone(): null
| McDbObject
Clone objects.
Returns
null
| McDbObject
The cloned object.
Example
//Assuming obj is a database object
const obj_clone = obj.clone();
Inherited from
createExtensionDictionary
▸ createExtensionDictionary(): boolean
Create extended dictionary data for objects
Returns
boolean
Example
//Assuming obj is a database object
const res = obj.createExtensionDictionary();
Inherited from
McDbObject.createExtensionDictionary
erase
▸ erase(): boolean
Delete object.
Returns
boolean
Whether the deletion was successful.
Example
//Assuming obj is a database object
const res = obj.erase();
console.log(res);
Inherited from
getAllEntityId
▸ getAllEntityId(skipDeleted?
): McObjectId
[]
Get the object IDs of all entities in the block
Parameters
Name | Type | Default value |
---|---|---|
skipDeleted | boolean | true |
Returns
Example
import { McDbBlockTableRecord, McDbLine } from "mxcad";
const line = new McDbLine(-80, 80, 0, 80, -80, 0);
const blkRec = new McDbBlockTableRecord();
blkRec.appendAcDbEntity(line);
const aryId = blkRec.getAllEntityId();
console.log(aryId)
getBoundingBox
▸ getBoundingBox(): Object
Obtain the minimum outsourcing of the block, and obtain the maximum and minimum points of the block
Returns
Object
minPt: Minimum point | maxPt: Maximum point | ret: Was it successfully obtained
Name | Type |
---|---|
maxPt | McGePoint3d |
minPt | McGePoint3d |
ret | boolean |
Example
//Assuming blkRec is a valid block table record object
const retVal = blkRec.getBoundingBox();
if(retVal.ret){
Console.log ("minimum point", retVal. minPt);
Console.log ("maximum point", retVal. maxPt);
}else{
console.log("error")
}
getDatabase
▸ getDatabase(): McDbDatabase
Get the database where the object is located
Returns
Return to database
Example
//Assuming obj is a database object
const data = obj.getDatabase();
Inherited from
getDatabaseIndexId
▸ getDatabaseIndexId(): number
Get the index ID of the object
Returns
number
Example
//Assuming obj is a database object
const id = obj.getDatabaseIndexId();
Inherited from
getExtensionDictionary
▸ getExtensionDictionary(): McDbDictionary
Obtain the extended dictionary data of the object
Returns
Expand dictionary data
Example
//Assuming obj is a database object
const id = obj.getOwnerID();
Inherited from
McDbObject.getExtensionDictionary
getGripPoints
▸ getGripPoints(): McGePoint3dArray
Get the control points of the object
Returns
Example
//Assuming obj is a database object
const ptArr = obj.getGripPoints();
Inherited from
getHandle
▸ getHandle(): string
Obtain object handle
Returns
string
Return object handle
Example
//Assuming obj is a database object
const handle = obj.getHandle();
Inherited from
getImp
▸ getImp(): any
Retrieve internal implementation objects.
Returns
any
Internal implementation object.
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
let imp = obj.getImp();
Inherited from
getJson
▸ getJson(): string
Retrieve a string in JSON format.
Returns
string
A string in JSON format.
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
const json = obj.getJson()
Inherited from
getMinMaxDrawOrder
▸ getMinMaxDrawOrder(): Object
Return the minimum and maximum display order of all objects in the block table record
Returns
Object
minDrawOrder: Minimum Display Order | maxDrawOrder: Maximum Display Order
Name | Type |
---|---|
maxDrawOrder | number |
minDrawOrder | number |
Example
//Obtain the minimum and maximum drawing order
const { minDrawOrder, maxDrawOrder } = blkRec.getMinMaxDrawOrder();
//Print results
Console.log (Minimum drawing order: ", minDrawOrder);
Console.log (Maximum drawing order: ", maxDrawOrder);
getObjectID
▸ getObjectID(): McObjectId
Get the object ID.
Returns
Object ID.
Example
import { McDbObject } from "mxcad";
const id = obj.getObjectID();
Inherited from
getOwnerID
▸ getOwnerID(): number
Obtain the ID of the object owner
Returns
number
Example
//Assuming obj is a database object
const id = obj.getOwnerID();
Inherited from
initTempObject
▸ initTempObject(imp
): void
Initialize temporary objects.
Parameters
Name | Type | Description |
---|---|---|
'imp' | 'any' | Internal implementation object |
Returns
void
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
obj.initTempObject()
Inherited from
invalidBoundingBoxBuffer
▸ invalidBoundingBoxBuffer(): void
Invalidate the bounding box buffer, force recalculation or update of bounding box information
Returns
void
Example
//Assuming blkRec is a valid block table record object
blkRec.invalidBoundingBoxBuffer()
isErased
▸ isErased(): boolean
Has the object been deleted
Returns
boolean
Example
//Assuming obj is a database object
const res = obj.isErased();
console.log(res);
Inherited from
isHaveExtensionDictionary
▸ isHaveExtensionDictionary(): boolean
Is there any extended dictionary data available
Returns
boolean
Example
//Assuming obj is a database object
const res = obj.isHaveExtensionDictionary();
Inherited from
McDbObject.isHaveExtensionDictionary
isKindOf
▸ isKindOf(sObjectName
): boolean
Determine object type
Parameters
Name | Type | Description |
---|---|---|
SOrtName | string | Type Name |
Returns
boolean
Return whether the object is of the target type
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
let isKind = obj.isKindOf('SomeObjectType');
console.log(isKind); // Output: True or false
Inherited from
isNull
▸ isNull(): any
Determine if it is an empty object
Returns
any
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
console.log(obj.isNull()); // Output: True or false
Inherited from
moveGripPointsAt
▸ moveGripPointsAt(iIndex
, dXOffset
, dYOffset
, dZOffset
): any
Control points for moving objects
Parameters
Name | Type | Description |
---|---|---|
IIndex | Number | Index |
DXOffset | number | X-axis offset |
DYOffset | number | Y-axis offset |
DZOffset | number | Z-axis offset |
Returns
any
Example
//Assuming obj is a database object
obj.moveGripPointsAt(1,10,10,10);
Inherited from
setJson
▸ setJson(str
): boolean
Set a string in JSON format.
Parameters
Name | Type | Description |
---|---|---|
Str | string | JSON formatted string |
Returns
boolean
Is the setting successful.
Example
import { McRxObject } from 'mxcad';
let obj = new McRxObject();
const res = obj.setJson('{"key": "value"}');
console.log(res)
Inherited from
unErase
▸ unErase(): boolean
Anti delete object.
Returns
boolean
Example
//Assuming obj is a database object
const res = obj.unErase();
console.log(res);