Skip to content
On this page

[mxcad_2d API documentation] (../README. md)/[2d] (../modules/2d. md)/McDbEntity

Class: McDbEntity

2d.McDbEntity

The base class for all database objects with a graphical representation, including general property operations for displaying entities such as line types, layers, text styles, colors, geometric outsourcing, etc

Hierarchy

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new McDbEntity(imp?)

Constructor.

Parameters

NameTypeDescription
imp?AnyInternal implementation object

Example

ts
import { McDbEntity } from "mxcad";

const ent = new McDbEntity()

Overrides

McDbObject.constructor

Properties

imp

imp: any = 0

Internal implementation object.

Inherited from

McDbObject.imp

Accessors

colorIndex

get colorIndex(): number

Obtain object color index

Returns

number

Example

ts
import { McDbEntity, ColorIndexType } from 'mxcad'
 const ent = new McDbEntity();
 ent.colorIndex = ColorIndexType.kByblock;
 console.log(ent.colorIndex)

set colorIndex(val): void

Set object color index

Parameters

NameTypeDescription
ValnumberColorIndexType

Returns

void


drawOrder

get drawOrder(): number

Display order of objects

Returns

number

Example

ts
//Assuming ent is a valid instance object
const order = ent.drawOrder();

set drawOrder(order): void

Display order of objects

Parameters

NameTypeDescription
Ordernumbersequential value

Returns

void

Example

ts
import { MxCpp, MxCADSelectionSet } from "mxcad";

let ss = new MxCADSelectionSet();
If (! Await ss.userSelect) return;
//Obtain the maximum and minimum display order of objects on the current graph
let minmaxOrder = MxCpp.getCurrentDatabase().currentSpace.getMinMaxDrawOrder();
//Place the object at the top.
let lOrder = minmaxOrder.maxDrawOrder + 1;
ss.forEach((id) => {
  let ent = id.getMcDbEntity();
  if (ent) {
    ent.drawOrder = lOrder;
  }
})

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


layer

get layer(): string

Obtain the layer name of the object

Returns

string

set layer(val): void

Set object layer name

Parameters

NameTypeDescription
ValstringLayer Name

Returns

void

Example

ts
import { McDbEntity } from 'mxcad'
 const ent = new McDbEntity();
 ent.layer = "newLayerName";
 console.log(ent.layer)

layerId

get layerId(): McObjectId

Get layer ID object

Returns

McObjectId

Example

ts
//Assuming ent is a valid instance object
const layerId = ent.layerId;

set layerId(id): void

Set Layer Id Object

Parameters

NameType
idMcObjectId

Returns

void

Example

ts
//Assuming ent is a valid instance object
const mxcad = MxCpp.getCurrentMxCAD();
Const layerId=mxcad. addLayer (Test Layer)
ent.layerId = layerId;

linetype

get linetype(): string

Obtain the object line type name

Returns

string

set linetype(val): void

Set object line type name

Parameters

NameTypeDescription
ValstringLine type name

Returns

void

Example

ts
import { McDbEntity } from 'mxcad'
const ent = new McDbEntity()
ent.linetype = "MyLineType";
console.log(ent.linetype)

linetypeId

get linetypeId(): McObjectId

Get entity object line type ID

Returns

McObjectId

Example

ts
//Assuming ent is a valid instance object
const linetypeId = ent.linetypeId;

set linetypeId(id): void

Set entity object line type ID

Parameters

NameType
idMcObjectId

Returns

void

Example

ts
//Assuming ent is a valid instance object
const mxcad = MxCpp.getCurrentMxCAD();
const lineId = mxcad.addLinetypeEx("TestMyLine", '25,-5');
ent.linetypeId = lineId;

linetypeScale

get linetypeScale(): number

Obtain the proportion of object line types

Returns

number

set linetypeScale(val): void

Set object line type scale

Parameters

NameTypeDescription
ValnumberLine type ratio

Returns

void

Example

ts
import { McDbEntity } from 'mxcad'
const ent = new McDbEntity()
ent.linetypeScale = 0.8;
console.log(ent.linetypeScale)

lineweight

get lineweight(): number

Obtain object line weight

Returns

number

set lineweight(val): void

Set object line weight

Parameters

NameTypeDescription
Valnumberline weight

Returns

void

Example

ts
import { McDbEntity } from 'mxcad'
const ent = new McDbEntity()
ent.lineweight = 20;
console.log(ent.lineweight)

normal

get normal(): McGeVector3d

Return the normal of the object

Returns

McGeVector3d

Example

ts

set normal(val): void

Set the normal of the object

Parameters

NameType
valMcGeVector3d

Returns

void

Example

ts

objectName

get objectName(): string

Get the object name.

Returns

string

Return object name

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
console.log(obj.objectName);

Inherited from

McDbObject.objectName


textStyle

get textStyle(): string

Obtain the text style of the object

Returns

string

set textStyle(val): void

Set object text style

Parameters

NameTypeDescription
ValstringText style name

Returns

void

Example

ts
import { McDbEntity } from 'mxcad'
const ent = new McDbEntity()
ent.textStyle = "st_style";

textStyleId

get textStyleId(): McObjectId

Get entity text style

Returns

McObjectId

Example

ts
//Assuming ent is a valid instance object
const textStyleId = ent.textStyleId;

set textStyleId(id): void

Set the text style of the entity

Parameters

NameType
idMcObjectId

Returns

void

Example

ts
//Assuming ent is a valid instance object
const mxcad = MxCpp.getCurrentMxCAD();
const textStyleId = mxcad.addTextStyle("MyLineTypeTextStyle", "txt.shx", "hztxt.shx", 1);
ent.textStyleId = textStyleId;

trueColor

get trueColor(): McCmColor

Obtain the color of the object

Returns

McCmColor

Example

ts
import { McDbEntity, McCmColor} from 'mxcad'
 const ent = new McDbEntity();
 ent.trueColor = new McCmColor(255, 0, 0);
 console.log(ent.trueColor)

set trueColor(val): void

Set object color

Parameters

NameType
valMcCmColor

Returns

void


visible

get visible(): boolean

Is the object visible

Returns

boolean

set visible(val): void

Set whether it is visible

Parameters

NameTypeDescription
ValbooleanBoolean value

Returns

void

Example

ts
import { McDbEntity } from 'mxcad'
const ent = new McDbEntity()
ent.visible = true;
console.log(ent.visible)

Methods

IntersectWith

IntersectWith(intersectObject, exOption): McGePoint3dArray

Intersection with other entities to obtain the intersection point

Parameters

NameTypeDescription
IntersectObject[McDbEntity] (2d. McDbEntity. md)The entity object that needs to intersect is the entity object
ExOptionIntersection (../enums/2d. McDb. Intersect. md)Intersection options

Returns

McGePoint3dArray

Obtain all intersection points

Example

ts
import { McDbLine, McDb } from 'mxcad'
const line1 = new McDbLine(new McGePoint3d(0,0,0), new McGePoint3d(20,1,0));
const line2 = new McDbLine(new McGePoint3d(10,10,0), new McGePoint3d(11,1,0));
const ptArr = line1.IntersectWith(line2, McDb.Intersect.kExtendBoth)

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

NameTypeDefault value
autoUndobooleanfalse

Returns

number

Example

ts
//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

ts
//Assuming obj is a database object
const obj_clone = obj.clone();

Inherited from

McDbObject.clone


createExtensionDictionary

createExtensionDictionary(): boolean

Create extended dictionary data for objects

Returns

boolean

Example

ts
//Assuming obj is a database object
const res = obj.createExtensionDictionary();

Inherited from

McDbObject.createExtensionDictionary


deleteXData

deleteXData(appName): boolean

Delete data related to entity specified application name

Parameters

NameTypeDescription
AppNamestringExtended Data Name

Returns

boolean

Example

ts
import { MxCADUiPrEntity, McDbEntity } from "mxcad";

let selEntity = new MxCADUiPrEntity();
SelEntity. setMessage ("Select Object");
let id = await selEntity.go();
if (!id.isValid()) return;
let ent:McDbEntity = id.getMcDbEntity();
if (ent === null) return;
const res = ent.deleteXData("DataName");
if(res){
//Delete successfully
}else
//Delete failed
}

disableDisplay

disableDisplay(isDisable): void

Disable automatic update display of objects

Parameters

NameTypeDescription
IsDisablebooleanDo you want to disable automatic object update display

Returns

void

Example

ts
import { McDbLine } from 'mxcad'
const line1 = new McDbLine(new McGePoint3d(0,0,0), new McGePoint3d(20,1,0));
line1.disableDisplay(true)

erase

erase(): boolean

Delete object.

Returns

boolean

Whether the deletion was successful.

Example

ts
//Assuming obj is a database object
const res = obj.erase();
console.log(res);

Inherited from

McDbObject.erase


explode

explode(): MxCADResbuf

Break the object and return the linked list of the object's data after being broken

Returns

MxCADResbuf

Rebuf data

Example

ts
import { McDbEntity, MxCADResbuf } from "mxcad";
//Obtain the target object
let getEnt = new MxCADUiPrEntity();
GetEnt.setMessage ("Select object to break: ");
let id = await getEnt.go();
let ent:McDbEntity = id.getMcDbEntity();
if (ent === null) return;
//Smash objects
      let retExplode: MxCADResbuf = ent.explode();
      if (retExplode.GetCount() == 0) return;
      let iExplodeConut = retExplode.GetCount();
      for (let j = 0; j < iExplodeConut; j++) {
          let tmpobj = retExplode.AtObject(j).val;
          if(tmpobj instanceof McDbEntity ){
              mxcad.drawEntity(tmpobj);
          }
      }

getAllAppName

getAllAppName(): McGeStringArray

Get the application name (AppName) of all XData records contained in the entity

Returns

McGeStringArray

Example

ts
//Assuming ent is a valid instance object
const appNames = ent.getAllAppName();
console.log(appNames);

getArea

getArea(): Object

Calculate Area

Returns

Object

Is the val area value | ret successfully obtained

NameType
retboolean
valnumber

Example

ts
import { McGePoint3d, McDbCircle } from "mxcad"

const center = new McGePoint3d(0,0,0);
const circle = new McDbCircle(center, 20);
const area = circle.getArea();
Console.log ("Circle area: ", area)

getBoundingBox

getBoundingBox(): Object

Obtain the minimum outsourcing of the object

Returns

Object

NameType
maxPtMcGePoint3d
minPtMcGePoint3d
retboolean

Example

ts
import { McDbText, McGePoint3d } from 'mxcad'
const text = new McDbText();
Text.textString="Test Test";
text.height = 20;
text.position = text.alignmentPoint = new McGePoint3d(0,0,0);
const { minPt, maxPt, ret } = text.getBoundingBox()

getDatabase

getDatabase(): McDbDatabase

Get the database where the object is located

Returns

McDbDatabase

Return to database

Example

ts
//Assuming obj is a database object
const data = obj.getDatabase();

Inherited from

McDbObject.getDatabase


getDatabaseIndexId

getDatabaseIndexId(): number

Get the index ID of the object

Returns

number

Example

ts
//Assuming obj is a database object
const id = obj.getDatabaseIndexId();

Inherited from

McDbObject.getDatabaseIndexId


getExtensionDictionary

getExtensionDictionary(): McDbDictionary

Obtain the extended dictionary data of the object

Returns

McDbDictionary

Expand dictionary data

Example

ts
//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

McGePoint3dArray

Example

ts
//Assuming obj is a database object
const ptArr = obj.getGripPoints();

Inherited from

McDbObject.getGripPoints


getHandle

getHandle(): string

Obtain object handle

Returns

string

Return object handle

Example

ts
//Assuming obj is a database object
const handle = obj.getHandle();

Inherited from

McDbObject.getHandle


getImp

getImp(): any

Retrieve internal implementation objects.

Returns

any

Internal implementation object.

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
let imp = obj.getImp();

Inherited from

McDbObject.getImp


getJson

getJson(): string

Retrieve a string in JSON format.

Returns

string

A string in JSON format.

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
const json = obj.getJson()

Inherited from

McDbObject.getJson


getObjectID

getObjectID(): McObjectId

Get the object ID.

Returns

McObjectId

Object ID.

Example

ts
import { McDbObject } from "mxcad";
const id = obj.getObjectID();

Inherited from

McDbObject.getObjectID


getOwnerID

getOwnerID(): number

Obtain the ID of the object owner

Returns

number

Example

ts
//Assuming obj is a database object
const id = obj.getOwnerID();

Inherited from

McDbObject.getOwnerID


getxData

getxData(appName?): MxCADResbuf

Obtain the extended data of the object

Parameters

NameTypeDefault valueDescription
AppNamestring""Extended Data Name

Returns

MxCADResbuf

Example

ts
//Assuming ent is a valid instance object
const xData = ent.getXData();

getxDataDouble

getxDataDouble(appName): Object

Retrieve the double value from the specified XData type of the entity

Parameters

NameTypeDescription
AppNamestringExtended Data Name

Returns

Object

Double value

NameType
retboolean
valnumber

Example

ts
//Assuming ent is a valid instance object
let data = ent.getxDataDouble("DataName");
if(data.ret){
  console.log(data.val)
}

getxDataLong

getxDataLong(appName): Object

Retrieve the long (integer) value from the specified XData type of the entity

Parameters

NameTypeDescription
AppNamestringExtended Data Name

Returns

Object

Long value

NameType
retboolean
valnumber

Example

ts
//Assuming ent is a valid instance object
let data = ent.getxDataLong("DataName");
if(data.ret){
  console.log(data.val)
}

getxDataPoint

getxDataPoint(appName): Object

Retrieve point objects from the specified XData type of entity

Parameters

NameTypeDescription
AppNamestringExtended Data Name

Returns

Object

Obtain results and 3D point objects

NameType
retboolean
valMcGePoint3d

getxDataString

getxDataString(appName): Object

Retrieve XData information associated with a specific entity and return it in string form

Parameters

NameTypeDescription
AppNamestringExtended Data Name

Returns

Object

Val XData information | whether ret returns success

NameType
retboolean
valstring

Example

ts
//Assuming ent is a valid instance object
let data = ent.getxDataString("DataName");
if(data.ret){
  console.log(data.val)
}

highlight

highlight(isHighlight): void

Set whether the object is highlighted

Parameters

NameTypeDescription
IsHighlightbooleanIs it highlighted

Returns

void

Example

ts
import { McDbEntity } from 'mxcad'
const ent = new McDbEntity()
ent.highlight(true);

initTempObject

initTempObject(imp): void

Initialize temporary objects.

Parameters

NameTypeDescription
'imp''any'Internal implementation object

Returns

void

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
obj.initTempObject()

Inherited from

McDbObject.initTempObject


isErased

isErased(): boolean

Has the object been deleted

Returns

boolean

Example

ts
//Assuming obj is a database object
const res = obj.isErased();
console.log(res);

Inherited from

McDbObject.isErased


isHaveExtensionDictionary

isHaveExtensionDictionary(): boolean

Is there any extended dictionary data available

Returns

boolean

Example

ts
//Assuming obj is a database object
const res = obj.isHaveExtensionDictionary();

Inherited from

McDbObject.isHaveExtensionDictionary


isKindOf

isKindOf(sObjectName): boolean

Determine object type

Parameters

NameTypeDescription
SOrtNamestringType Name

Returns

boolean

Return whether the object is of the target type

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
let isKind = obj.isKindOf('SomeObjectType');
console.log(isKind); //  Output: True or false

Inherited from

McDbObject.isKindOf


isNull

isNull(): any

Determine if it is an empty object

Returns

any

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
console.log(obj.isNull()); //  Output: True or false

Inherited from

McDbObject.isNull


mirror

mirror(point1, point2): boolean

Mirror oriented object

Parameters

NameTypeDescription
Point1[McGePoint3d] (2d. McGePoint3d. md)Mirror Base Point
point2McGePoint3d-

Returns

boolean

Example

ts
import { McDbEntity, McGePoint3d } from 'mxcad'
const ent = new McDbEntity()
ent.mirror(new McGePoint3d(0,0,0), new McGePoint3d(20,10,0))

move

move(fromPoint, toPoint): boolean

move objects

Parameters

NameTypeDescription
From Point[McGePoint3d] (2d. McGePoint3d. md)Move the starting point
ToPoint[McGePoint3d] (2d. McGePoint3d. md)Move End Point

Returns

boolean

Example

ts
import { McDbEntity, McGePoint3d } from 'mxcad'
const ent = new McDbEntity()
ent.move(new McGePoint3d(0,0,0), new McGePoint3d(20,0,0))

moveGripPointsAt

moveGripPointsAt(iIndex, dXOffset, dYOffset, dZOffset): any

Control points for moving objects

Parameters

NameTypeDescription
IIndexNumberIndex
DXOffsetnumberX-axis offset
DYOffsetnumberY-axis offset
DZOffsetnumberZ-axis offset

Returns

any

Example

ts
//Assuming obj is a database object
obj.moveGripPointsAt(1,10,10,10);

Inherited from

McDbObject.moveGripPointsAt


rotate

rotate(basePoint, dRotationAngle): boolean

Rotate object

Parameters

NameTypeDescription
BasePoint[McGePoint3d] (2d. McGePoint3d. md)Rotate the base point
DRotationAnglenumberRotation angle

Returns

boolean

Example

ts
import { McDbEntity, McGePoint3d } from 'mxcad'
const ent = new McDbEntity()
ent.rotate(new McGePoint3d(0,0,0), Math.PI)

scaleEntity

scaleEntity(basePoint, dScaleFactor): boolean

Scaling objects

Parameters

NameTypeDescription
BasePoint[McGePoint3d] (2d. McGePoint3d. md)Scale Base Point
DScaleFactornumberscaling factor (<1 zoom out;>1 zoom in)

Returns

boolean

Example

ts
import { McDbEntity, McGePoint3d } from 'mxcad'
const ent = new McDbEntity()
ent.scaleEntity(new McGePoint3d(0,0,0), 0.5)

setJson

setJson(str): boolean

Set a string in JSON format.

Parameters

NameTypeDescription
StrstringJSON formatted string

Returns

boolean

Is the setting successful.

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
const res = obj.setJson('{"key": "value"}');
console.log(res)

Inherited from

McDbObject.setJson


setxData

setxData(xdata): boolean

Set extended data for objects

Parameters

NameTypeDescription
Xdata[MxCADResbuf] (2d. MxCADResbuf. md)Extended data linked list

Returns

boolean

Example

ts
import { MxCADUiPrEntity, McDbEntity } from "mxcad";

//Set extended data
let selEntity = new MxCADUiPrEntity();
SelEntity. setMessage ("Select Object");
let id = await selEntity.go();
if (!id.isValid()) return;
let ent:McDbEntity = id.getMcDbEntity();
if (ent === null) return;
ent.setxData(new MxCADResbuf([{type:DxfCode.kExDataName,val:"DataName"},{type:DxfCode.kString,val:"yyyyy"}]));

setxDataDouble

setxDataDouble(appName, val): boolean

Set the double value in the specified XData type of the entity

Parameters

NameTypeDescription
AppNamestringExtended Data Name
Valnumberdouble value

Returns

boolean

Boolean value

Example

ts
import { MxCADUiPrEntity, McDbEntity } from "mxcad";
let selEntity = new MxCADUiPrEntity();
SelEntity. setMessage ("Select Object");
let id = await selEntity.go();
if (!id.isValid()) return;
let ent:McDbEntity = id.getMcDbEntity();
if (ent === null) return;
const res = ent.setxDataDouble("DataName", 0);
if(res){
//Setting successful
}else{
//Setting failed
}

setxDataLong

setxDataLong(appName, val): boolean

Set the long (integer) value in the specified XData type of the entity

Parameters

NameTypeDescription
AppNamestringExtended Data Name
Valnumberlong value

Returns

boolean

Long value

Example

ts
import { MxCADUiPrEntity, McDbEntity } from "mxcad";

let selEntity = new MxCADUiPrEntity();
SelEntity. setMessage ("Select Object");
let id = await selEntity.go();
if (!id.isValid()) return;
let ent:McDbEntity = id.getMcDbEntity();
if (ent === null) return;
const res = ent.setxDataLong("DataName", 123456);
if(res){
//Setting successful
}else{
//Setting failed
}

setxDataPoint

setxDataPoint(appName, val): boolean

Set the point object in the specified XData type of the entity

Parameters

NameTypeDescription
AppNamestringExtended Data Name
Val[McGePoint3d] (2d. McGePoint3d. md)Point Object

Returns

boolean

Obtain results and 3D point objects


setxDataString

setxDataString(appName, val): boolean

Set XData information associated with a specific entity and set it in string form

Parameters

NameTypeDescription
AppNamestringExtended Data Name
Valstringstring value

Returns

boolean

Is the setting successful

Example

ts
import { MxCADUiPrEntity, McDbEntity } from "mxcad";
let selEntity = new MxCADUiPrEntity();
SelEntity. setMessage ("Select Object");
let id = await selEntity.go();
if (!id.isValid()) return;
let ent:McDbEntity = id.getMcDbEntity();
if (ent === null) return;
const res = ent.setxDataString("DataName", "xxxxx");
if(res){
//Setting successful
}else{
//Setting failed
}

syncData

syncData(_toCpp?): boolean

Synchronize entity data. This method may be called after modifying the entity's attributes or attaching new data to ensure that all changes are correctly saved to the entity's database records.

Parameters

NameTypeDefault valueDescription
_toCppbooleantrueWhether to synchronize data

Returns

boolean

Example

ts
//Assuming ent is a valid instance object
const res = ent.syncData(true);
if(res){
//Synchronization successful
}else{
//Synchronization failed
}

transformBy

transformBy(transformationMatrix): boolean

Transform object

Parameters

NameTypeDescription
TransformationMatrix[McGeMatrix3d] (2d. McGeMatrix3d. md)Transformation Matrix

Returns

boolean

Example

ts
import { McGeMatrix3d, McDbEntity, McGeVector3d} from 'mxcad'
 const ent = new McDbEntity()
   let matrix = new McGeMatrix3d();
matrix.setToTranslation(new McGeVector3d(20,0,0));// translation
   ent.transformBy(matrix);

unErase

unErase(): boolean

Anti delete object.

Returns

boolean

Example

ts
//Assuming obj is a database object
const res = obj.unErase();
console.log(res);

Inherited from

McDbObject.unErase


updateDisplay

updateDisplay(): void

Display the updated display of the calling object

Returns

void

Example

ts
//Assuming ent is a valid instance object
ent.updateDisplay()