[mxcad_2d API documentation] (../README. md)/[2d] (../modules/2d. md)/McDbXrecord
Class: McDbXrecord
2d.McDbXrecord
Extended record types allow entities to set their extended records for storing more information.
Example
//Write extension records
import { MxCpp, McDbDictionary, McDbXrecord, MxCADResbuf } from "mxcad"
//Retrieve the dictionary object of the current CAD object
let mxcad = MxCpp.getCurrentMxCAD();
let dict = mxcad.getDatabase().getNamedObjectsDictionary();
//Retrieve the specified object 'MyDict' from the dictionary
let sName = "MyDict";
let idDict = dict.getAt(sName);
if (idDict.isNull()) {
//Add objects to the dictionary
let newDict = new McDbDictionary;
idDict = dict.addObject(sName, newDict);
}
let myDict = idDict.getMcDbDictionary();
if (myDict) {
let xrec = new McDbXrecord();// Construct a new extended record type
let data = new MxCADResbuf();// Construct respuff object
data.AddString("TestData");// Add string to respuff
xrec.setData(data);// Set data in extended records
myDict.addObject("MyRecord", xrec); // Add objects to the dictionary
console.log("write xrecord ok");
}
//Read extended data.
async function MxTest_ReadxData() {
//Select target object
let selEntity = new MxCADUiPrEntity();
SelEntity. setMessage ("Select Object");
let id = await selEntity.go();
if (!id.isValid()) return;
//Get instance object
let ent = id.getMcDbEntity();
if (ent === null) return;
//Read extended data
let data = ent.getxData();
data.forEach((val, type, dxf) => {
console.log(JSON.stringify({ val: val, type: type, dxf: dxf }));
})
//let data = ent.getxDataString("DataName");
//MxFun.acutPrintf(data.val + "\n");
}
Hierarchy
↳
McDbXrecord
Table of contents
Constructors
Properties
Accessors
Methods
- assertObjectModification
- clone
- createExtensionDictionary
- erase
- getData
- getDatabase
- getDatabaseIndexId
- getExtensionDictionary
- getGripPoints
- getHandle
- getImp
- getJson
- getObjectID
- getOwnerID
- initTempObject
- isErased
- isHaveExtensionDictionary
- isKindOf
- isNull
- moveGripPointsAt
- setData
- setJson
- unErase
Constructors
constructor
• new McDbXrecord(imp?
)
Constructor.
Parameters
Name | Type | Description |
---|---|---|
imp? | Any | Internal implementation object |
Example
import { McDbXrecord } from "mxcad";
//Create a McDbXrecord object
const xrec = new McDbXrecord();
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
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
Methods
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
getData
▸ getData(): MxCADResbuf
Retrieve data from the extended record.
Returns
Example
import { McDbXrecord } from "mxcad";
//Create a McDbXrecord object
const xrec = new McDbXrecord();
const resbuf = dbXrecord.getData();
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
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
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
setData
▸ setData(xdata
): boolean
Set the data in the extended record.
Parameters
Name | Type | Description |
---|---|---|
Xdata | [MxCADResbuff] (2d. MxCADResbuff. md) | respuff data |
Returns
boolean
Example
import { McDbXrecord } from "mxcad";
//Create a McDbXrecord object
const xrec = new McDbXrecord();
let data = new MxCADResbuf();
data.AddString("TestData");
const res = xrec.setData(data);
if(res){
//Setting successful
}else{
//Setting failed
}
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);