[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:
- Create a McDbMLine instance and set properties such as vertices, styleName, scale, etc;
- Manage segment association data through setSegmentRelation/getSegmentRelation;
- Call moveGripPointsAt() or getGripPoints() for interactive editing;
- Generate multi line effects based on style and offset using worldDraw() during rendering;
- 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
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
| Name | Type | Description |
|---|---|---|
| Val | string | Layer Name |
Returns
void
Inherited from
McDbCustomEntity.layer
layerId
• get layerId(): McObjectId
Get layer ID object
Returns
Inherited from
McDbCustomEntity.layerId
• set layerId(id): void
Set Layer Id Object
Parameters
| Name | Type |
|---|---|
id | McObjectId |
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
| Name | Type | Description |
|---|---|---|
| Val | string | Line type name |
Returns
void
Inherited from
McDbCustomEntity.linetype
linetypeId
• get linetypeId(): McObjectId
Get entity object line type ID
Returns
Inherited from
McDbCustomEntity.linetypeId
• set linetypeId(id): void
Set entity object line type ID
Parameters
| Name | Type |
|---|---|
id | McObjectId |
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
| Name | Type | Description |
|---|---|---|
| Val | number | Line 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
| Name | Type | Description |
|---|---|---|
| Val | number | line weight |
Returns
void
Inherited from
McDbCustomEntity.lineweight
normal
• get normal(): McGeVector3d
Return the normal of the object
Returns
Inherited from
McDbCustomEntity.normal
• set normal(val): void
Set the normal of the object
Parameters
| Name | Type |
|---|---|
val | McGeVector3d |
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
| Name | Type | Description |
|---|---|---|
| Val | string | Text style name |
Returns
void
Inherited from
McDbCustomEntity.textStyle
textStyleId
• get textStyleId(): McObjectId
Get entity text style
Returns
Inherited from
McDbCustomEntity.textStyleId
• set textStyleId(id): void
Set the text style of the entity
Parameters
| Name | Type |
|---|---|
id | McObjectId |
Returns
void
Example
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
| Name | Type |
|---|---|
val | number |
Returns
void
Inherited from
McDbCustomEntity.thickness
trueColor
• get trueColor(): McCmColor
Obtain the color of the object
Returns
Inherited from
McDbCustomEntity.trueColor
• set trueColor(val): void
Set object color
Parameters
| Name | Type |
|---|---|
val | McCmColor |
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
| Name | Type | Description |
|---|---|---|
| Val | boolean | Boolean value |
Returns
void
Inherited from
McDbCustomEntity.visible
Methods
IntersectWith
▸ IntersectWith(intersectObject, exOption): McGePoint3dArray
Intersection with other entities to obtain the intersection point
Parameters
| Name | Type | Description |
|---|---|---|
| IntersectObject | [McDbEntity] (2d. McDbEntity. md) | The entity object that needs to intersect is the entity object |
| ExOption | Intersection (../enums/2d. McDb. Intersect. md) | Intersection options |
Returns
Obtain all intersection points
Example
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
| Name | Type |
|---|---|
point | McGePoint3d |
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
| Name | Type | Default value | Description |
|---|---|---|---|
| AutoUndo | boolean | false | Should 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
| Name | Type | Description |
|---|---|---|
| SegmentIndex | Number | The segment index to be cleared |
relatedSegmentIndex? | number | The 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
create
▸ create(imp): McDbMLine
Factory method for creating entities
Parameters
| Name | Type |
|---|---|
imp | any |
Returns
Overrides
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
| Name | Type | Description |
|---|---|---|
| AppName | string | Extended Data Name |
Returns
boolean
Example
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
disableDisplay
▸ disableDisplay(isDisable): void
Disable automatic update display of objects
Parameters
| Name | Type | Description |
|---|---|---|
| IsDisable | boolean | Do 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
| Name | Type |
|---|---|
filter | IMcDbDwgFiler |
Returns
boolean
Overrides
dwgOutFields
▸ dwgOutFields(filter): boolean
Write entity data to a data file
Parameters
| Name | Type |
|---|---|
filter | IMcDbDwgFiler |
Returns
boolean
Overrides
erase
▸ erase(): boolean
Delete object.
Returns
boolean
Whether the deletion was successful.
Inherited from
explode
▸ explode(): MxCADResbuf
Break the object and return the linked list of the object's data after being broken
Returns
Rebuf data
Example
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
getAllAppName
▸ getAllAppName(): McGeStringArray
Get the application name (AppName) of all XData records contained in the entity
Returns
Inherited from
McDbCustomEntity.getAllAppName
getAllSegmentRelations
▸ getAllSegmentRelations(): SegmentRelationsData
Retrieve all line segment associated data
Returns
Complete line segment association data structure
getArea
▸ getArea(): Object
Calculate Area
Returns
Object
Is the val area value | ret successfully obtained
| Name | Type |
|---|---|
ret | boolean |
val | number |
Example
import { McGePoint3d, McDbCircle } from "mxcad"
const circle = new McDbCircle(0,0,0, 20);
const area = circle.getArea();
Console.log ("Circle area: ", area)Inherited from
getBoundingBox
▸ getBoundingBox(): Object
Obtain the minimum outsourcing of the object
Returns
Object
| Name | Type |
|---|---|
maxPt | McGePoint3d |
minPt | McGePoint3d |
ret | boolean |
Inherited from
McDbCustomEntity.getBoundingBox
getDatabase
▸ getDatabase(): McDbDatabase
Get the database where the object is located
Returns
Return to database
Inherited from
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
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
Overrides
McDbCustomEntity.getGripPoints
getHandle
▸ getHandle(): string
Obtain object handle
Returns
string
Return object handle
Inherited from
getImp
▸ getImp(): any
Retrieve internal implementation objects.
Returns
any
Internal implementation object.
Inherited from
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
getJustification
▸ getJustification(): number
Get alignment method
Returns
number
getName
▸ getName(): string
Get custom object name
Returns
string
Inherited from
getObjectID
▸ getObjectID(): McObjectId
Get the object ID.
Returns
Object ID.
Inherited from
getOwnerID
▸ getOwnerID(): number
Obtain the ID of the object owner
Returns
number
Inherited from
getScale
▸ getScale(): number
Obtain proportion
Returns
number
getSegmentByIndex
▸ getSegmentByIndex(segmentIndex): null | PointSegmentRelation
Retrieve line segment data based on the index
Parameters
| Name | Type | Description |
|---|---|---|
| SegmentIndex | Number | Segment 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
| Name | Type | Description |
|---|---|---|
| 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
| Name | Type | Description |
|---|---|---|
| SegmentIndex | Number | The segment index of the current polyline |
relatedSegmentIndex? | number | Line 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
getVertexAt
▸ getVertexAt(index): null | McGePoint3d
Get vertices
Parameters
| Name | Type |
|---|---|
index | number |
Returns
null | McGePoint3d
getVertexCount
▸ getVertexCount(): number
Obtain the number of vertices
Returns
number
getVertices
▸ getVertices(): McGePoint3d[]
Returns
getxData
▸ getxData(appName?): MxCADResbuf
Obtain the extended data of the object
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| AppName | string | "" | Extended Data Name |
Returns
Inherited from
getxDataDouble
▸ getxDataDouble(appName): Object
Retrieve the double value from the specified XData type of the entity
Parameters
| Name | Type | Description |
|---|---|---|
| AppName | string | Extended Data Name |
Returns
Object
Double value
| Name | Type |
|---|---|
ret | boolean |
val | number |
Inherited from
McDbCustomEntity.getxDataDouble
getxDataLong
▸ getxDataLong(appName): Object
Retrieve the long (integer) value from the specified XData type of the entity
Parameters
| Name | Type | Description |
|---|---|---|
| AppName | string | Extended Data Name |
Returns
Object
Long value
| Name | Type |
|---|---|
ret | boolean |
val | number |
Inherited from
getxDataPoint
▸ getxDataPoint(appName): Object
Retrieve point objects from the specified XData type of entity
Parameters
| Name | Type | Description |
|---|---|---|
| AppName | string | Extended Data Name |
Returns
Object
Obtain results and 3D point objects
| Name | Type |
|---|---|
ret | boolean |
val | McGePoint3d |
Inherited from
McDbCustomEntity.getxDataPoint
getxDataString
▸ getxDataString(appName): Object
Retrieve XData information associated with a specific entity and return it in string form
Parameters
| Name | Type | Description |
|---|---|---|
| AppName | string | Extended Data Name |
Returns
Object
Val XData information | whether ret returns success
| Name | Type |
|---|---|
ret | boolean |
val | string |
Inherited from
McDbCustomEntity.getxDataString
highlight
▸ highlight(isHighlight): void
Set whether the object is highlighted
Parameters
| Name | Type | Description |
|---|---|---|
| IsHighlight | boolean | Is it highlighted |
Returns
void
Inherited from
initTempObject
▸ initTempObject(imp): void
Initialize temporary objects.
Parameters
| Name | Type | Description |
|---|---|---|
| 'imp' | 'any' | Internal implementation object |
Returns
void
Inherited from
McDbCustomEntity.initTempObject
insertVertexAt
▸ insertVertexAt(index, point): boolean
Insert a vertex at the specified location
Parameters
| Name | Type | Description |
|---|---|---|
| Index | number | Index 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
isHaveExtensionDictionary
▸ isHaveExtensionDictionary(): boolean
Is there any extended dictionary data available
Returns
boolean
Inherited from
McDbCustomEntity.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
Inherited from
isNull
▸ isNull(): any
Determine if it is an empty object
Returns
any
Inherited from
mergeSegmentRelation
▸ mergeSegmentRelation(segmentIndex, relatedSegmentIndex, startPt, endPt): void
Merge the associated data of the specified area (from startPt to endPt)
Parameters
| Name | Type |
|---|---|
segmentIndex | number |
relatedSegmentIndex | number |
startPt | McGePoint3d |
endPt | McGePoint3d |
Returns
void
mirror
▸ mirror(point1, point2): boolean
Mirror oriented object
Parameters
| Name | Type | Description |
|---|---|---|
| Point1 | [McGePoint3d] (2d. McGePoint3d. md) | Mirror Base Point |
point2 | McGePoint3d | - |
Returns
boolean
Inherited from
move
▸ move(fromPoint, toPoint): boolean
move objects
Parameters
| Name | Type | Description |
|---|---|---|
| From Point | [McGePoint3d] (2d. McGePoint3d. md) | Move the starting point |
| ToPoint | [McGePoint3d] (2d. McGePoint3d. md) | Move End Point |
Returns
boolean
Inherited from
moveGripPointsAt
▸ moveGripPointsAt(index, deltaX, deltaY, deltaZ): void
Move the control point of the specified index
Parameters
| Name | Type |
|---|---|
index | number |
deltaX | number |
deltaY | number |
deltaZ | number |
Returns
void
Overrides
McDbCustomEntity.moveGripPointsAt
removeVertexAt
▸ removeVertexAt(index): void
Remove vertex
Parameters
| Name | Type |
|---|---|
index | number |
Returns
void
rotate
▸ rotate(basePoint, dRotationAngle): boolean
Rotate object
Parameters
| Name | Type | Description |
|---|---|---|
| BasePoint | [McGePoint3d] (2d. McGePoint3d. md) | Rotate the base point |
| DRotationAngle | number | Rotation angle |
Returns
boolean
Inherited from
rxInit
▸ rxInit(): void
Custom Entity Registration
Returns
void
Example
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
scaleEntity
▸ scaleEntity(basePoint, dScaleFactor): boolean
Scaling objects
Parameters
| Name | Type | Description |
|---|---|---|
| BasePoint | [McGePoint3d] (2d. McGePoint3d. md) | Scale Base Point |
| DScaleFactor | number | scaling factor (<1 zoom out;>1 zoom in) |
Returns
boolean
Inherited from
setAllSegmentRelations
▸ setAllSegmentRelations(data): void
Set all line segment associated data
Parameters
| Name | Type | Description |
|---|---|---|
data | SegmentRelationsData | Complete line segment association data structure |
Returns
void
setIsClosed
▸ setIsClosed(isClosed): void
Set closed state
Parameters
| Name | Type |
|---|---|
isClosed | boolean |
Returns
void
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.
Inherited from
setJustification
▸ setJustification(justification): void
Set alignment method
Parameters
| Name | Type |
|---|---|
justification | number |
Returns
void
setScale
▸ setScale(scale): void
Set Scale
Parameters
| Name | Type |
|---|---|
scale | number |
Returns
void
setSegmentRelation
▸ setSegmentRelation(segmentIndex, relatedSegmentIndex, pointPairs): void
Set segment association data
Parameters
| Name | Type | Description |
|---|---|---|
| SegmentIndex | Number | The segment index of the current polyline |
| Related SegmentIndex | Number | Segment Index of Related Multiple Lines |
| PointPairs | SegmentPointPair (../modules/2d. md # segmentpointpair) [] | Point Pair Array [McGePoint3d, McGePoint3d] [] |
Returns
void
setStyleName
▸ setStyleName(name): void
Set style name
Parameters
| Name | Type |
|---|---|
name | string |
Returns
void
setVertexAt
▸ setVertexAt(index, point): void
Set vertex
Parameters
| Name | Type |
|---|---|
index | number |
point | McGePoint3d |
Returns
void
setxData
▸ setxData(xdata): boolean
Set extended data for objects
Parameters
| Name | Type | Description |
|---|---|---|
| Xdata | [MxCADResbuf] (2d. MxCADResbuf. md) | Extended data linked list |
Returns
boolean
Example
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
setxDataDouble
▸ setxDataDouble(appName, val): boolean
Set the double value in the specified XData type of the entity
Parameters
| Name | Type | Description |
|---|---|---|
| AppName | string | Extended Data Name |
| Val | number | double value |
Returns
boolean
Boolean value
Example
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
| Name | Type | Description |
|---|---|---|
| AppName | string | Extended Data Name |
| Val | number | long value |
Returns
boolean
Long value
Example
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
setxDataPoint
▸ setxDataPoint(appName, val): boolean
Set the point object in the specified XData type of the entity
Parameters
| Name | Type | Description |
|---|---|---|
| AppName | string | Extended 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
| Name | Type | Description |
|---|---|---|
| AppName | string | Extended Data Name |
| Val | string | string 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
| Name | Type | Default value |
|---|---|---|
toCpp | boolean | true |
Returns
boolean
Inherited from
transformBy
▸ transformBy(_mat): boolean
Get custom object matrix coordinate transformation
Parameters
| Name | Type |
|---|---|
_mat | McGeMatrix3d |
Returns
boolean
Inherited from
unErase
▸ unErase(): boolean
Anti delete object.
Returns
boolean
Inherited from
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
| Name | Type |
|---|---|
draw | MxCADWorldDraw |
Returns
void
