Skip to content

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

Class: McDbMLine ​

2d.McDbMLine

MLine multi line solid class is used to create and edit multi line objects with multiple centerlines or parallel lines in CAD.

Description

McDbMLine is a multi line custom entity suitable for drawing complex line objects with multiple parallel lines, offset styles, endpoint handling, and fill effects. This class is capable of completing: -Define multi line vertices and style information; -Generate multiple parallel lines based on style elements and offsets; -Handling closures, polylines, endpoints, and connection relationships; -In the worldDraw stage, multiple lines are rendered according to the style, which can be used for graphic elements such as roads, boundaries, and centerlines; -Support associated line segment data, grip editing, and geometric transformations.

Usage:

  1. Create a McDbMLine instance and set properties such as vertices, styleName, scale, etc;
  2. Manage segment association data through setSegmentRelation/getSegmentRelation;
  3. Call moveGripPointsAt() or getGripPoints() for interactive editing;
  4. Generate multi line effects based on style and offset using worldDraw() during rendering;
  5. Finally, call MxCpp. mxcad. rawEntity (mline) to draw the multiline entity to the CAD interface.

Summary: McDbMLine is a multi line entity class in MXCAD, suitable for representing complex line type objects with multiple parallel line styles, commonly used in modeling scenes of roads, boundaries, centerlines, and decorative lines.

Example

ts
import { McDbMLine, McGePoint3d, MxCpp } from "mxcad";

const mline = new McDbMLine();
mline.styleName = "STANDARD";
mline.scale = 10;
mline.isClosed = false;
mline.vertices = [
  new McGePoint3d(0, 0, 0),
  new McGePoint3d(100, 0, 0),
  new McGePoint3d(150, 50, 0)
];
MxCpp.mxcad.drawEntity(mline);

## Hierarchy

- [`McDbCustomEntity`](2d.McDbCustomEntity.md)

  ↳ **`McDbMLine`**

## Table of contents

### Constructors

- [constructor](2d.McDbMLine.md#constructor)

### Properties

- [imp](2d.McDbMLine.md#imp)

### Accessors

- [colorIndex](2d.McDbMLine.md#colorindex)
- [drawOrder](2d.McDbMLine.md#draworder)
- [dxf0](2d.McDbMLine.md#dxf0)
- [layer](2d.McDbMLine.md#layer)
- [layerId](2d.McDbMLine.md#layerid)
- [linetype](2d.McDbMLine.md#linetype)
- [linetypeId](2d.McDbMLine.md#linetypeid)
- [linetypeScale](2d.McDbMLine.md#linetypescale)
- [lineweight](2d.McDbMLine.md#lineweight)
- [normal](2d.McDbMLine.md#normal)
- [objectName](2d.McDbMLine.md#objectname)
- [textStyle](2d.McDbMLine.md#textstyle)
- [textStyleId](2d.McDbMLine.md#textstyleid)
- [thickness](2d.McDbMLine.md#thickness)
- [trueColor](2d.McDbMLine.md#truecolor)
- [visible](2d.McDbMLine.md#visible)

### Methods

- [IntersectWith](2d.McDbMLine.md#intersectwith)
- [addVertex](2d.McDbMLine.md#addvertex)
- [assertObjectModification](2d.McDbMLine.md#assertobjectmodification)
- [clearSegmentRelation](2d.McDbMLine.md#clearsegmentrelation)
- [clearVertices](2d.McDbMLine.md#clearvertices)
- [clone](2d.McDbMLine.md#clone)
- [create](2d.McDbMLine.md#create)
- [createExtensionDictionary](2d.McDbMLine.md#createextensiondictionary)
- [deleteXData](2d.McDbMLine.md#deletexdata)
- [disableDisplay](2d.McDbMLine.md#disabledisplay)
- [dwgInFields](2d.McDbMLine.md#dwginfields)
- [dwgOutFields](2d.McDbMLine.md#dwgoutfields)
- [erase](2d.McDbMLine.md#erase)
- [explode](2d.McDbMLine.md#explode)
- [getAllAppName](2d.McDbMLine.md#getallappname)
- [getAllSegmentRelations](2d.McDbMLine.md#getallsegmentrelations)
- [getArea](2d.McDbMLine.md#getarea)
- [getBoundingBox](2d.McDbMLine.md#getboundingbox)
- [getDatabase](2d.McDbMLine.md#getdatabase)
- [getDatabaseIndexId](2d.McDbMLine.md#getdatabaseindexid)
- [getExtensionDictionary](2d.McDbMLine.md#getextensiondictionary)
- [getGripEditBasePointsIndex](2d.McDbMLine.md#getgripeditbasepointsindex)
- [getGripPoints](2d.McDbMLine.md#getgrippoints)
- [getHandle](2d.McDbMLine.md#gethandle)
- [getImp](2d.McDbMLine.md#getimp)
- [getIsClosed](2d.McDbMLine.md#getisclosed)
- [getJson](2d.McDbMLine.md#getjson)
- [getJustification](2d.McDbMLine.md#getjustification)
- [getName](2d.McDbMLine.md#getname)
- [getObjectID](2d.McDbMLine.md#getobjectid)
- [getOwnerID](2d.McDbMLine.md#getownerid)
- [getScale](2d.McDbMLine.md#getscale)
- [getSegmentByIndex](2d.McDbMLine.md#getsegmentbyindex)
- [getSegmentByPoint](2d.McDbMLine.md#getsegmentbypoint)
- [getSegmentRelation](2d.McDbMLine.md#getsegmentrelation)
- [getStyleName](2d.McDbMLine.md#getstylename)
- [getTypeName](2d.McDbMLine.md#gettypename)
- [getVertexAt](2d.McDbMLine.md#getvertexat)
- [getVertexCount](2d.McDbMLine.md#getvertexcount)
- [getVertices](2d.McDbMLine.md#getvertices)
- [getxData](2d.McDbMLine.md#getxdata)
- [getxDataDouble](2d.McDbMLine.md#getxdatadouble)
- [getxDataLong](2d.McDbMLine.md#getxdatalong)
- [getxDataPoint](2d.McDbMLine.md#getxdatapoint)
- [getxDataString](2d.McDbMLine.md#getxdatastring)
- [highlight](2d.McDbMLine.md#highlight)
- [initTempObject](2d.McDbMLine.md#inittempobject)
- [insertVertexAt](2d.McDbMLine.md#insertvertexat)
- [isErased](2d.McDbMLine.md#iserased)
- [isHaveExtensionDictionary](2d.McDbMLine.md#ishaveextensiondictionary)
- [isKindOf](2d.McDbMLine.md#iskindof)
- [isNull](2d.McDbMLine.md#isnull)
- [mergeSegmentRelation](2d.McDbMLine.md#mergesegmentrelation)
- [mirror](2d.McDbMLine.md#mirror)
- [move](2d.McDbMLine.md#move)
- [moveGripPointsAt](2d.McDbMLine.md#movegrippointsat)
- [removeVertexAt](2d.McDbMLine.md#removevertexat)
- [rotate](2d.McDbMLine.md#rotate)
- [rxInit](2d.McDbMLine.md#rxinit)
- [scaleEntity](2d.McDbMLine.md#scaleentity)
- [setAllSegmentRelations](2d.McDbMLine.md#setallsegmentrelations)
- [setIsClosed](2d.McDbMLine.md#setisclosed)
- [setJson](2d.McDbMLine.md#setjson)
- [setJustification](2d.McDbMLine.md#setjustification)
- [setScale](2d.McDbMLine.md#setscale)
- [setSegmentRelation](2d.McDbMLine.md#setsegmentrelation)
- [setStyleName](2d.McDbMLine.md#setstylename)
- [setVertexAt](2d.McDbMLine.md#setvertexat)
- [setxData](2d.McDbMLine.md#setxdata)
- [setxDataDouble](2d.McDbMLine.md#setxdatadouble)
- [setxDataLong](2d.McDbMLine.md#setxdatalong)
- [setxDataPoint](2d.McDbMLine.md#setxdatapoint)
- [setxDataString](2d.McDbMLine.md#setxdatastring)
- [syncData](2d.McDbMLine.md#syncdata)
- [transformBy](2d.McDbMLine.md#transformby)
- [unErase](2d.McDbMLine.md#unerase)
- [updateDisplay](2d.McDbMLine.md#updatedisplay)
- [worldDraw](2d.McDbMLine.md#worlddraw)

## Constructors

### constructor

• **new McDbMLine**(`imp?`)

#### Parameters

| Name | Type |
| :------ | :------ |
| `imp?` | `any` |

#### Overrides

[McDbCustomEntity](2d.McDbCustomEntity.md).[constructor](2d.McDbCustomEntity.md#constructor)

## Properties

### imp

• **imp**: `any` = `0`

Internal implementation object.

#### Inherited from

[McDbCustomEntity](2d.McDbCustomEntity.md).[imp](2d.McDbCustomEntity.md#imp)

## Accessors

### colorIndex

• `get` **colorIndex**(): `number`

Obtain object color index

#### Returns

`number`

#### Inherited from

McDbCustomEntity.colorIndex

• `set` **colorIndex**(`val`): `void`

Set object color index

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
|Val | number | ColorIndexType|

#### Returns

`void`

#### Inherited from

McDbCustomEntity.colorIndex

___

### drawOrder

• `get` **drawOrder**(): `number`

Display order of objects

#### Returns

`number`

#### Inherited from

McDbCustomEntity.drawOrder

• `set` **drawOrder**(`order`): `void`

Display order of objects

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
|Order | number | sequential 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;
  }
})

Inherited from ​

McDbCustomEntity.drawOrder


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 ​

McDbCustomEntity.dxf0


layer ​

• get layer(): string

Obtain the layer name of the object

Returns ​

string

Inherited from ​

McDbCustomEntity.layer

• set layer(val): void

Set object layer name

Parameters ​

NameTypeDescription
ValstringLayer Name

Returns ​

void

Inherited from ​

McDbCustomEntity.layer


layerId ​

• get layerId(): McObjectId

Get layer ID object

Returns ​

McObjectId

Inherited from ​

McDbCustomEntity.layerId

• set layerId(id): void

Set Layer Id Object

Parameters ​

NameType
idMcObjectId

Returns ​

void

Inherited from ​

McDbCustomEntity.layerId


linetype ​

• get linetype(): string

Obtain the object line type name

Returns ​

string

Inherited from ​

McDbCustomEntity.linetype

• set linetype(val): void

Set object line type name

Parameters ​

NameTypeDescription
ValstringLine type name

Returns ​

void

Inherited from ​

McDbCustomEntity.linetype


linetypeId ​

• get linetypeId(): McObjectId

Get entity object line type ID

Returns ​

McObjectId

Inherited from ​

McDbCustomEntity.linetypeId

• set linetypeId(id): void

Set entity object line type ID

Parameters ​

NameType
idMcObjectId

Returns ​

void

Inherited from ​

McDbCustomEntity.linetypeId


linetypeScale ​

• get linetypeScale(): number

Obtain the proportion of object line types

Returns ​

number

Inherited from ​

McDbCustomEntity.linetypeScale

• set linetypeScale(val): void

Set object line type scale

Parameters ​

NameTypeDescription
ValnumberLine type ratio

Returns ​

void

Inherited from ​

McDbCustomEntity.linetypeScale


lineweight ​

• get lineweight(): number

Obtain object line weight

Returns ​

number

Inherited from ​

McDbCustomEntity.lineweight

• set lineweight(val): void

Set object line weight

Parameters ​

NameTypeDescription
Valnumberline weight

Returns ​

void

Inherited from ​

McDbCustomEntity.lineweight


normal ​

• get normal(): McGeVector3d

Return the normal of the object

Returns ​

McGeVector3d

Inherited from ​

McDbCustomEntity.normal

• set normal(val): void

Set the normal of the object

Parameters ​

NameType
valMcGeVector3d

Returns ​

void

Inherited from ​

McDbCustomEntity.normal


objectName ​

• get objectName(): string

Get the object name.

Returns ​

string

Return object name

Inherited from ​

McDbCustomEntity.objectName


textStyle ​

• get textStyle(): string

Obtain the text style of the object

Returns ​

string

Inherited from ​

McDbCustomEntity.textStyle

• set textStyle(val): void

Set object text style

Parameters ​

NameTypeDescription
ValstringText style name

Returns ​

void

Inherited from ​

McDbCustomEntity.textStyle


textStyleId ​

• get textStyleId(): McObjectId

Get entity text style

Returns ​

McObjectId

Inherited from ​

McDbCustomEntity.textStyleId

• set textStyleId(id): void

Set the text style of the entity

Parameters ​

NameType
idMcObjectId

Returns ​

void

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 mxcad = MxCpp.getCurrentMxCAD();
const textStyleId = mxcad.addTextStyle("MyLineTypeTextStyle", "txt.shx", "hztxt.shx", 1);
ent.textStyleId = textStyleId;

Inherited from ​

McDbCustomEntity.textStyleId


thickness ​

• get thickness(): number

Obtain the thickness of the object

Returns ​

number

Inherited from ​

McDbCustomEntity.thickness

• set thickness(val): void

Set object thickness

Parameters ​

NameType
valnumber

Returns ​

void

Inherited from ​

McDbCustomEntity.thickness


trueColor ​

• get trueColor(): McCmColor

Obtain the color of the object

Returns ​

McCmColor

Inherited from ​

McDbCustomEntity.trueColor

• set trueColor(val): void

Set object color

Parameters ​

NameType
valMcCmColor

Returns ​

void

Inherited from ​

McDbCustomEntity.trueColor


visible ​

• get visible(): boolean

Is the object visible

Returns ​

boolean

Inherited from ​

McDbCustomEntity.visible

• set visible(val): void

Set whether it is visible

Parameters ​

NameTypeDescription
ValbooleanBoolean value

Returns ​

void

Inherited from ​

McDbCustomEntity.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)

Inherited from ​

McDbCustomEntity.IntersectWith


addVertex ​

▸ addVertex(point): void

add vertex

Parameters ​

NameType
pointMcGePoint3d

Returns ​

void


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 valueDescription
AutoUndobooleanfalseShould this modification automatically support undo? Default is false

Returns ​

number

Inherited from ​

McDbCustomEntity.assertObjectModification


clearSegmentRelation ​

▸ clearSegmentRelation(segmentIndex, relatedSegmentIndex?): void

Clear the associated data of the specified line segment

Parameters ​

NameTypeDescription
SegmentIndexNumberThe segment index to be cleared
relatedSegmentIndex? numberThe associated segment index to be cleared (optional, if not provided, clear the entire segment index data)

Returns ​

void


clearVertices ​

▸ clearVertices(): void

Clear all vertices

Returns ​

void


clone ​

▸ clone(): null | McDbObject

Copy entity

Returns ​

null | McDbObject

Inherited from ​

McDbCustomEntity.clone


create ​

▸ create(imp): McDbMLine

Factory method for creating entities

Parameters ​

NameType
impany

Returns ​

McDbMLine

Overrides ​

McDbCustomEntity.create


createExtensionDictionary ​

▸ createExtensionDictionary(): boolean

Create extended dictionary data for objects

Returns ​

boolean

Inherited from ​

McDbCustomEntity.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
}

Inherited from ​

McDbCustomEntity.deleteXData


disableDisplay ​

▸ disableDisplay(isDisable): void

Disable automatic update display of objects

Parameters ​

NameTypeDescription
IsDisablebooleanDo you want to disable automatic object update display

Returns ​

void

Inherited from ​

McDbCustomEntity.disableDisplay


dwgInFields ​

▸ dwgInFields(filter): boolean

Read entity data from data files

Parameters ​

NameType
filterIMcDbDwgFiler

Returns ​

boolean

Overrides ​

McDbCustomEntity.dwgInFields


dwgOutFields ​

▸ dwgOutFields(filter): boolean

Write entity data to a data file

Parameters ​

NameType
filterIMcDbDwgFiler

Returns ​

boolean

Overrides ​

McDbCustomEntity.dwgOutFields


erase ​

▸ erase(): boolean

Delete object.

Returns ​

boolean

Whether the deletion was successful.

Inherited from ​

McDbCustomEntity.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);
          }
      }

Inherited from ​

McDbCustomEntity.explode


getAllAppName ​

▸ getAllAppName(): McGeStringArray

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

Returns ​

McGeStringArray

Inherited from ​

McDbCustomEntity.getAllAppName


getAllSegmentRelations ​

▸ getAllSegmentRelations(): SegmentRelationsData

Retrieve all line segment associated data

Returns ​

SegmentRelationsData

Complete line segment association data structure


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 circle = new McDbCircle(0,0,0, 20);
const area = circle.getArea();
Console.log ("Circle area: ", area)

Inherited from ​

McDbCustomEntity.getArea


getBoundingBox ​

▸ getBoundingBox(): Object

Obtain the minimum outsourcing of the object

Returns ​

Object

NameType
maxPtMcGePoint3d
minPtMcGePoint3d
retboolean

Inherited from ​

McDbCustomEntity.getBoundingBox


getDatabase ​

▸ getDatabase(): McDbDatabase

Get the database where the object is located

Returns ​

McDbDatabase

Return to database

Inherited from ​

McDbCustomEntity.getDatabase


getDatabaseIndexId ​

▸ getDatabaseIndexId(): number

Get the index ID of the object

Returns ​

number

Inherited from ​

McDbCustomEntity.getDatabaseIndexId


getExtensionDictionary ​

▸ getExtensionDictionary(): McDbDictionary

Obtain the extended dictionary data of the object

Returns ​

McDbDictionary

Expand dictionary data

Inherited from ​

McDbCustomEntity.getExtensionDictionary


getGripEditBasePointsIndex ​

▸ getGripEditBasePointsIndex(): number[]

Get the grip of the custom object.

Returns ​

number[]

Pinch object array

Inherited from ​

McDbCustomEntity.getGripEditBasePointsIndex


getGripPoints ​

▸ getGripPoints(): McGePoint3dArray

Obtain the control points of the entity

Returns ​

McGePoint3dArray

Overrides ​

McDbCustomEntity.getGripPoints


getHandle ​

▸ getHandle(): string

Obtain object handle

Returns ​

string

Return object handle

Inherited from ​

McDbCustomEntity.getHandle


getImp ​

▸ getImp(): any

Retrieve internal implementation objects.

Returns ​

any

Internal implementation object.

Inherited from ​

McDbCustomEntity.getImp


getIsClosed ​

▸ getIsClosed(): boolean

Get closed status

Returns ​

boolean


getJson ​

▸ getJson(): string

Retrieve a string in JSON format.

Returns ​

string

A string in JSON format.

Inherited from ​

McDbCustomEntity.getJson


getJustification ​

▸ getJustification(): number

Get alignment method

Returns ​

number


getName ​

▸ getName(): string

Get custom object name

Returns ​

string

Inherited from ​

McDbCustomEntity.getName


getObjectID ​

▸ getObjectID(): McObjectId

Get the object ID.

Returns ​

McObjectId

Object ID.

Inherited from ​

McDbCustomEntity.getObjectID


getOwnerID ​

▸ getOwnerID(): number

Obtain the ID of the object owner

Returns ​

number

Inherited from ​

McDbCustomEntity.getOwnerID


getScale ​

▸ getScale(): number

Obtain proportion

Returns ​

number


getSegmentByIndex ​

▸ getSegmentByIndex(segmentIndex): null | PointSegmentRelation

Retrieve line segment data based on the index

Parameters ​

NameTypeDescription
SegmentIndexNumberSegment Index

Returns ​

null | PointSegmentRelation

Found line segment information, including line segment index, offset line segment index, and related data


getSegmentByPoint ​

▸ getSegmentByPoint(point): null | PointSegmentRelation

Obtain line segment index based on points

Parameters ​

NameTypeDescription
Point[McGePoint3d] (2d. McGePoint3d. md)Select point coordinates

Returns ​

null | PointSegmentRelation

Found line segment information, including line segment index, offset line segment index, and click position


getSegmentRelation ​

▸ getSegmentRelation(segmentIndex, relatedSegmentIndex?): null | SegmentPointPair[] | { [relatedSegmentIndex: number]: SegmentPointPair[]; }

Obtain segment association data

Parameters ​

NameTypeDescription
SegmentIndexNumberThe segment index of the current polyline
relatedSegmentIndex? numberLine segment index associated with multiple lines (optional)

Returns ​

null | SegmentPointPair[] | { [relatedSegmentIndex: number]: SegmentPointPair[]; }

If relatdSegmentIndex is provided, return the corresponding point pair array; Otherwise, return all associated data


getStyleName ​

▸ getStyleName(): string

Get style name

Returns ​

string


getTypeName ​

▸ getTypeName(): string

Get entity type name

Returns ​

string

Overrides ​

McDbCustomEntity.getTypeName


getVertexAt ​

▸ getVertexAt(index): null | McGePoint3d

Get vertices

Parameters ​

NameType
indexnumber

Returns ​

null | McGePoint3d


getVertexCount ​

▸ getVertexCount(): number

Obtain the number of vertices

Returns ​

number


getVertices ​

▸ getVertices(): McGePoint3d[]

Returns ​

McGePoint3d[]


getxData ​

▸ getxData(appName?): MxCADResbuf

Obtain the extended data of the object

Parameters ​

NameTypeDefault valueDescription
AppNamestring""Extended Data Name

Returns ​

MxCADResbuf

Inherited from ​

McDbCustomEntity.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

Inherited from ​

McDbCustomEntity.getxDataDouble


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

Inherited from ​

McDbCustomEntity.getxDataLong


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

Inherited from ​

McDbCustomEntity.getxDataPoint


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

Inherited from ​

McDbCustomEntity.getxDataString


highlight ​

▸ highlight(isHighlight): void

Set whether the object is highlighted

Parameters ​

NameTypeDescription
IsHighlightbooleanIs it highlighted

Returns ​

void

Inherited from ​

McDbCustomEntity.highlight


initTempObject ​

▸ initTempObject(imp): void

Initialize temporary objects.

Parameters ​

NameTypeDescription
'imp''any'Internal implementation object

Returns ​

void

Inherited from ​

McDbCustomEntity.initTempObject


insertVertexAt ​

▸ insertVertexAt(index, point): boolean

Insert a vertex at the specified location

Parameters ​

NameTypeDescription
IndexnumberIndex of the position to be inserted
Point[McGePoint3d] (2d. McGePoint3d. md)Point to be inserted

Returns ​

boolean

Is the insertion successful


isErased ​

▸ isErased(): boolean

Has the object been deleted

Returns ​

boolean

Inherited from ​

McDbCustomEntity.isErased


isHaveExtensionDictionary ​

▸ isHaveExtensionDictionary(): boolean

Is there any extended dictionary data available

Returns ​

boolean

Inherited from ​

McDbCustomEntity.isHaveExtensionDictionary


isKindOf ​

▸ isKindOf(sObjectName): boolean

Determine object type

Parameters ​

NameTypeDescription
SOrtNamestringType Name

Returns ​

boolean

Return whether the object is of the target type

Inherited from ​

McDbCustomEntity.isKindOf


isNull ​

▸ isNull(): any

Determine if it is an empty object

Returns ​

any

Inherited from ​

McDbCustomEntity.isNull


mergeSegmentRelation ​

▸ mergeSegmentRelation(segmentIndex, relatedSegmentIndex, startPt, endPt): void

Merge the associated data of the specified area (from startPt to endPt)

Parameters ​

NameType
segmentIndexnumber
relatedSegmentIndexnumber
startPtMcGePoint3d
endPtMcGePoint3d

Returns ​

void


mirror ​

▸ mirror(point1, point2): boolean

Mirror oriented object

Parameters ​

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

Returns ​

boolean

Inherited from ​

McDbCustomEntity.mirror


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

Inherited from ​

McDbCustomEntity.move


moveGripPointsAt ​

▸ moveGripPointsAt(index, deltaX, deltaY, deltaZ): void

Move the control point of the specified index

Parameters ​

NameType
indexnumber
deltaXnumber
deltaYnumber
deltaZnumber

Returns ​

void

Overrides ​

McDbCustomEntity.moveGripPointsAt


removeVertexAt ​

▸ removeVertexAt(index): void

Remove vertex

Parameters ​

NameType
indexnumber

Returns ​

void


rotate ​

▸ rotate(basePoint, dRotationAngle): boolean

Rotate object

Parameters ​

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

Returns ​

boolean

Inherited from ​

McDbCustomEntity.rotate


rxInit ​

▸ rxInit(): void

Custom Entity Registration

Returns ​

void

Example

ts
import { MxFun } from 'mxdraw
//MxCAD created successfully
MxFun.on("mxcadApplicationCreatedMxCADObject", (param) => {
//McDbtTestLineCustomizing Entity Custom Entity
new McDbTestLineCustomEntity().rxInit();//  Custom Entity Registration
MxFun.addCommand("MxTest_DrawCustomEntity");//  Register drawing entity command
})

Inherited from ​

McDbCustomEntity.rxInit


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

Inherited from ​

McDbCustomEntity.scaleEntity


setAllSegmentRelations ​

▸ setAllSegmentRelations(data): void

Set all line segment associated data

Parameters ​

NameTypeDescription
dataSegmentRelationsDataComplete line segment association data structure

Returns ​

void


setIsClosed ​

▸ setIsClosed(isClosed): void

Set closed state

Parameters ​

NameType
isClosedboolean

Returns ​

void


setJson ​

▸ setJson(str): boolean

Set a string in JSON format.

Parameters ​

NameTypeDescription
StrstringJSON formatted string

Returns ​

boolean

Is the setting successful.

Inherited from ​

McDbCustomEntity.setJson


setJustification ​

▸ setJustification(justification): void

Set alignment method

Parameters ​

NameType
justificationnumber

Returns ​

void


setScale ​

▸ setScale(scale): void

Set Scale

Parameters ​

NameType
scalenumber

Returns ​

void


setSegmentRelation ​

▸ setSegmentRelation(segmentIndex, relatedSegmentIndex, pointPairs): void

Set segment association data

Parameters ​

NameTypeDescription
SegmentIndexNumberThe segment index of the current polyline
Related SegmentIndexNumberSegment Index of Related Multiple Lines
PointPairsSegmentPointPair (../modules/2d. md # segmentpointpair) []Point Pair Array [McGePoint3d, McGePoint3d] []

Returns ​

void


setStyleName ​

▸ setStyleName(name): void

Set style name

Parameters ​

NameType
namestring

Returns ​

void


setVertexAt ​

▸ setVertexAt(index, point): void

Set vertex

Parameters ​

NameType
indexnumber
pointMcGePoint3d

Returns ​

void


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"}]));

Inherited from ​

McDbCustomEntity.setxData


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
}

Inherited from ​

McDbCustomEntity.setxDataDouble


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
}

Inherited from ​

McDbCustomEntity.setxDataLong


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

Inherited from ​

McDbCustomEntity.setxDataPoint


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

Inherited from ​

McDbCustomEntity.setxDataString


syncData ​

▸ syncData(toCpp?): boolean

JS object data and McDbCCustoms Entity: Synchronization of m_mapData.

Parameters ​

NameTypeDefault value
toCppbooleantrue

Returns ​

boolean

Inherited from ​

McDbCustomEntity.syncData


transformBy ​

▸ transformBy(_mat): boolean

Get custom object matrix coordinate transformation

Parameters ​

NameType
_matMcGeMatrix3d

Returns ​

boolean

Inherited from ​

McDbCustomEntity.transformBy


unErase ​

▸ unErase(): boolean

Anti delete object.

Returns ​

boolean

Inherited from ​

McDbCustomEntity.unErase


updateDisplay ​

▸ updateDisplay(): void

Display the updated display of the calling object

Returns ​

void

Inherited from ​

McDbCustomEntity.updateDisplay


worldDraw ​

▸ worldDraw(draw): void

Draw entities (unified scheduling, parameter transfer point set)

Parameters ​

NameType
drawMxCADWorldDraw

Returns ​

void

Overrides ​

McDbCustomEntity.worldDraw