[mxcad_2d API documentation] (../README. md)/[2d] (../modules/2d. md)/McDbPolyline
Class: McDbPolyline
2d.McDbPolyline
Multi segment line category
Example
import { McDbPolyline, MxCpp } from 'mxcad'
//Draw a rectangle with a line width of 10, where pt1, pt2, pt3, and pt4 are the 4 vertices of the rectangle
const pl = new McDbPolyline();
pl.constantWidth = 10;// Set the polyline width to 10
//Set polyline endpoints
pl.addVertexAt(pt1);
pl.addVertexAt(pt2);
pl.addVertexAt(pt3);
pl.addVertexAt(pt4);
pl.isClosed = true; // Set whether the polyline is closed
MxCpp.getCurrentMxCAD().drawEntity(pl); // Draw polylines
//Draw Center Rectangle: Specify the width, height, and center point of the rectangle to dynamically draw it
import { McDbPolyline, MxCpp, MxCADUiPrDist, MxCADUiPrPoint } from 'mxcad';
async function Mx_CenterRect() {
//Set rectangle width
let width = 5;
const getWidth = new MxCADUiPrDist();
GetWidth. setMessage ("\ n Please enter rectangle width<5>");
const widthVal = await getWidth.go();
if (widthVal) {
width = getWidth.value()
}
//Set the height of the rectangle
let height = 10;
const getHeight = new MxCADUiPrDist();
GetHeight. setMessage ("\ n Please enter rectangle height<10>");
const heightVal = await getHeight.go();
if (heightVal) {
height = getHeight.value()
}
//Set the center point of the rectangle
const getCenterPt = new MxCADUiPrPoint();
GetCenterPt.setMessage ("Please click to confirm the center of the rectangle");
const centerPt = await getCenterPt.go();
if (!centerPt) return;
//Calculate the four vertices of the rectangle based on its center point and width/height
let pt1 = new McGePoint3d(centerPt.x + width / 2, centerPt.y + height / 2, centerPt.z)
let pt2 = new McGePoint3d(centerPt.x - width / 2, centerPt.y + height / 2, centerPt.z)
let pt3 = new McGePoint3d(centerPt.x - width / 2, centerPt.y - height / 2, centerPt.z)
let pt4 = new McGePoint3d(centerPt.x + width / 2, centerPt.y - height / 2, centerPt.z)
let pl = new McDbPolyline;// Construct a polyline object
//Add rectangular vertices in sequence
pl.addVertexAt(pt1)
pl.addVertexAt(pt2)
pl.addVertexAt(pt3)
pl.addVertexAt(pt4)
const mxcad = MxCpp.App.getCurrentMxCAD();
pl.isClosed = true; // Set polyline closure
mxcad.drawEntity(pl); // Draw polyline objects
}
Hierarchy
↳
McDbPolyline
Table of contents
Constructors
Properties
Accessors
- colorIndex
- constantWidth
- drawOrder
- dxf0
- isClosed
- layer
- layerId
- linetype
- linetypeId
- linetypeScale
- lineweight
- normal
- objectName
- textStyle
- textStyleId
- trueColor
- visible
Methods
- IntersectWith
- addVertexAt
- assertObjectModification
- clone
- createExtensionDictionary
- deleteXData
- disableDisplay
- erase
- explode
- getAllAppName
- getArea
- getBoundingBox
- getBulgeAt
- getClosestPointTo
- getDatabase
- getDatabaseIndexId
- getDistAtParam
- getDistAtPoint
- getEndParam
- getEndPoint
- getExtensionDictionary
- getFirstDeriv
- getFirstDerivFromParam
- getGripPoints
- getHandle
- getImp
- getJson
- getLength
- getObjectID
- getOwnerID
- getParamAtDist
- getParamAtPoint
- getPointAt
- getPointAtDist
- getPointAtParam
- getSamplePoints
- getStartParam
- getStartPoint
- getType
- getWidthsAt
- getxData
- getxDataDouble
- getxDataLong
- getxDataPoint
- getxDataString
- highlight
- initTempObject
- isErased
- isHaveExtensionDictionary
- isKindOf
- isNull
- mirror
- move
- moveGripPointsAt
- numVerts
- offsetCurves
- pointInPolygon
- removeVertexAt
- rotate
- scaleEntity
- setBulgeAt
- setJson
- setPointAt
- setType
- setWidthsAt
- setxData
- setxDataDouble
- setxDataLong
- setxDataPoint
- setxDataString
- splitCurves
- splitCurvesFromParam
- syncData
- transformBy
- unErase
- updateDisplay
Constructors
constructor
• new McDbPolyline(imp?
)
Constructor function
Parameters
Name | Type | Description |
---|---|---|
imp? | ` Any | Implement object |
Example
import { McDbPolyline } from "mxcad";
const pl = new McDbPolyline();
Overrides
Properties
imp
• imp: any
= 0
Internal implementation object.
Inherited from
Accessors
colorIndex
• get
colorIndex(): number
Obtain object color index
Returns
number
Example
import { McDbEntity, ColorIndexType } from 'mxcad'
const ent = new McDbEntity();
ent.colorIndex = ColorIndexType.kByblock;
console.log(ent.colorIndex)
Inherited from
McDbCurve.colorIndex
• set
colorIndex(val
): void
Set object color index
Parameters
Name | Type | Description |
---|---|---|
Val | number | ColorIndexType |
Returns
void
Inherited from
McDbCurve.colorIndex
constantWidth
• get
constantWidth(): number
Get constant width
Returns
number
Example
//PL is a valid polyline object
const width = pl.constantWidth;
• set
constantWidth(val
): void
Set constant width
Parameters
Name | Type | Description |
---|---|---|
Val | number | Constant width |
Returns
void
Example
import { McDbPolyline } from "mxcad";
const pl = new McDbPolyline();
pl.constantWidth = 10;// Set the constant width of multiple line segments to 10
drawOrder
• get
drawOrder(): number
Display order of objects
Returns
number
Example
//Assuming ent is a valid instance object
const order = ent.drawOrder();
Inherited from
McDbCurve.drawOrder
• set
drawOrder(order
): void
Display order of objects
Parameters
Name | Type | Description |
---|---|---|
Order | number | sequential value |
Returns
void
Example
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
McDbCurve.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
McDbCurve.dxf0
isClosed
• get
isClosed(): boolean
Get whether it is closed or not
Returns
boolean
Example
import { McDbPolyline } from "mxcad";
const pl = new McDbPolyline();
pl.isClosed = true;// Set multi segment closure
const res = pl.isClosed;
console.log(res)//true
• set
isClosed(val
): void
Set whether to close or not
Parameters
Name | Type | Description |
---|---|---|
Val | boolean | Is it closed |
Returns
void
Example
import { McDbPolyline } from "mxcad";
const pl = new McDbPolyline();
pl.isClosed = true;// Set multi segment closure
layer
• get
layer(): string
Obtain the layer name of the object
Returns
string
Inherited from
McDbCurve.layer
• set
layer(val
): void
Set object layer name
Parameters
Name | Type | Description |
---|---|---|
Val | string | Layer Name |
Returns
void
Example
import { McDbEntity } from 'mxcad'
const ent = new McDbEntity();
ent.layer = "newLayerName";
console.log(ent.layer)
Inherited from
McDbCurve.layer
layerId
• get
layerId(): McObjectId
Get layer ID object
Returns
Example
//Assuming ent is a valid instance object
const layerId = ent.layerId;
Inherited from
McDbCurve.layerId
• set
layerId(id
): void
Set Layer Id Object
Parameters
Name | Type |
---|---|
id | McObjectId |
Returns
void
Example
//Assuming ent is a valid instance object
const mxcad = MxCpp.getCurrentMxCAD();
Const layerId=mxcad. addLayer (Test Layer)
ent.layerId = layerId;
Inherited from
McDbCurve.layerId
linetype
• get
linetype(): string
Obtain the object line type name
Returns
string
Inherited from
McDbCurve.linetype
• set
linetype(val
): void
Set object line type name
Parameters
Name | Type | Description |
---|---|---|
Val | string | Line type name |
Returns
void
Example
import { McDbEntity } from 'mxcad'
const ent = new McDbEntity()
ent.linetype = "MyLineType";
console.log(ent.linetype)
Inherited from
McDbCurve.linetype
linetypeId
• get
linetypeId(): McObjectId
Get entity object line type ID
Returns
Example
//Assuming ent is a valid instance object
const linetypeId = ent.linetypeId;
Inherited from
McDbCurve.linetypeId
• set
linetypeId(id
): void
Set entity object line type ID
Parameters
Name | Type |
---|---|
id | McObjectId |
Returns
void
Example
//Assuming ent is a valid instance object
const mxcad = MxCpp.getCurrentMxCAD();
const lineId = mxcad.addLinetypeEx("TestMyLine", '25,-5');
ent.linetypeId = lineId;
Inherited from
McDbCurve.linetypeId
linetypeScale
• get
linetypeScale(): number
Obtain the proportion of object line types
Returns
number
Inherited from
McDbCurve.linetypeScale
• set
linetypeScale(val
): void
Set object line type scale
Parameters
Name | Type | Description |
---|---|---|
Val | number | Line type ratio |
Returns
void
Example
import { McDbEntity } from 'mxcad'
const ent = new McDbEntity()
ent.linetypeScale = 0.8;
console.log(ent.linetypeScale)
Inherited from
McDbCurve.linetypeScale
lineweight
• get
lineweight(): number
Obtain object line weight
Returns
number
Inherited from
McDbCurve.lineweight
• set
lineweight(val
): void
Set object line weight
Parameters
Name | Type | Description |
---|---|---|
Val | number | line weight |
Returns
void
Example
import { McDbEntity } from 'mxcad'
const ent = new McDbEntity()
ent.lineweight = 20;
console.log(ent.lineweight)
Inherited from
McDbCurve.lineweight
normal
• get
normal(): McGeVector3d
Return the normal of the object
Returns
Example
Inherited from
McDbCurve.normal
• set
normal(val
): void
Set the normal of the object
Parameters
Name | Type |
---|---|
val | McGeVector3d |
Returns
void
Example
Inherited from
McDbCurve.normal
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
McDbCurve.objectName
textStyle
• get
textStyle(): string
Obtain the text style of the object
Returns
string
Inherited from
McDbCurve.textStyle
• set
textStyle(val
): void
Set object text style
Parameters
Name | Type | Description |
---|---|---|
Val | string | Text style name |
Returns
void
Example
import { McDbEntity } from 'mxcad'
const ent = new McDbEntity()
ent.textStyle = "st_style";
Inherited from
McDbCurve.textStyle
textStyleId
• get
textStyleId(): McObjectId
Get entity text style
Returns
Example
//Assuming ent is a valid instance object
const textStyleId = ent.textStyleId;
Inherited from
McDbCurve.textStyleId
• set
textStyleId(id
): void
Set the text style of the entity
Parameters
Name | Type |
---|---|
id | McObjectId |
Returns
void
Example
//Assuming ent is a valid instance object
const mxcad = MxCpp.getCurrentMxCAD();
const textStyleId = mxcad.addTextStyle("MyLineTypeTextStyle", "txt.shx", "hztxt.shx", 1);
ent.textStyleId = textStyleId;
Inherited from
McDbCurve.textStyleId
trueColor
• get
trueColor(): McCmColor
Obtain the color of the object
Returns
Example
import { McDbEntity, McCmColor} from 'mxcad'
const ent = new McDbEntity();
ent.trueColor = new McCmColor(255, 0, 0);
console.log(ent.trueColor)
Inherited from
McDbCurve.trueColor
• set
trueColor(val
): void
Set object color
Parameters
Name | Type |
---|---|
val | McCmColor |
Returns
void
Inherited from
McDbCurve.trueColor
visible
• get
visible(): boolean
Is the object visible
Returns
boolean
Inherited from
McDbCurve.visible
• set
visible(val
): void
Set whether it is visible
Parameters
Name | Type | Description |
---|---|---|
Val | boolean | Boolean value |
Returns
void
Example
import { McDbEntity } from 'mxcad'
const ent = new McDbEntity()
ent.visible = true;
console.log(ent.visible)
Inherited from
McDbCurve.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
addVertexAt
▸ addVertexAt(pt
, bulge?
, startWidth?
, endWidth?
, index?
): boolean
Add vertices at the specified location
Parameters
Name | Type | Default value | Description |
---|---|---|---|
Pt | Vector3 | [McGePoint3d] (2d. McGePoint3d. md) | undefined |
Bulge | number | 0 | convexity |
StartWidth | number | 0 | starting width |
EndWidth | number | 0 | End width |
Index | number | 0 | position |
Returns
boolean
Example
import { McDbPolyline, MxCpp } from "mxcad";
const pl = new McDbPolyline();
pl.isClosed = true;
pl.addVertexAt(new McGePoint3d(800, 300, 0),0,10,10);
pl.addVertexAt(new McGePoint3d(900, 300, 0),0,10,10);
pl.addVertexAt(new McGePoint3d(900, 400, 0),0,10,10);
MxCpp.getCurrentMxCAD().drawEntity(pl);
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
McDbCurve.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
McDbCurve.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
Example
import { McDbLine } from 'mxcad'
const line1 = new McDbLine(new McGePoint3d(0,0,0), new McGePoint3d(20,1,0));
line1.disableDisplay(true)
Inherited from
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
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
Example
//Assuming ent is a valid instance object
const appNames = ent.getAllAppName();
console.log(appNames);
Inherited from
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 center = new McGePoint3d(0,0,0);
const circle = new McDbCircle(center, 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 |
Example
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()
Inherited from
getBulgeAt
▸ getBulgeAt(index
): number
Obtain the convexity of the specified position
Parameters
Name | Type | Description |
---|---|---|
Index | number | position |
Returns
number
Example
//PL is a valid polyline object
const bulge = pl.getBulgeAt(2);
getClosestPointTo
▸ getClosestPointTo(givenPnt
, isExtend
): Object
Obtain the closest point from a point to the curve
Parameters
Name | Type | Description |
---|---|---|
GivenPnt | [McGePoint3d] (2d. McGePoint3d. md) | Reference Point |
IsExtend | boolean | Whether to extend entity |
Returns
Object
Point objects and execution results.
Name | Type |
---|---|
ret | boolean |
val | McGePoint3d |
Example
import { McGePoint3d, McDbCircle, MxCADUiPrPoint, MxCpp } from "mxcad"
const center = new McGePoint3d(0,0,0);
const circle = new McDbCircle(center, 20);
const mxcad = MxCpp.getCurrentMxCAD();
mxcad.drawEntity(circle);
const getPoint = new MxCADUiPrPoint();
getPoint.setUserDraw((pt,pw)=>{
//Get pt to the nearest point on the circle
const point = circle.getClosestPointTo(pt);
console.log(point)
})
const point = await getPoint.go();
Inherited from
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
getDistAtParam
▸ getDistAtParam(param
): Object
Get the distance at the parameter location.
Parameters
Name | Type | Description |
---|---|---|
Parameter position: |
Returns
Object
Distance and execution results.
Name | Type |
---|---|
ret | boolean |
val | number |
Example
//Assuming curve is an effective curve instance object
const res = curve.getDistAtParam(2);
if(res.ret){
console.log(res.val)
}
Inherited from
getDistAtPoint
▸ getDistAtPoint(pt
): Object
Obtain the distance and position of points on the curve.
Parameters
Name | Type | Description |
---|---|---|
Pt | [McGePoint3d] (2d. McGePoint3d. md) | Distance position |
Returns
Object
Points and execution results.
Name | Type |
---|---|
ret | boolean |
val | number |
Example
import { McGePoint3d, McDbLine } from "mxcad"
const pt1 = new McGePoint3d(0,0,0);
const pt2 = new McGePoint3d(20,0,0);
const line = new McDbLine(pt1, pt2)
const res = line.getDistAtPoint(pt2);
if(res.ret){
const dist = res.val;
console.log(dist);//20
}
Inherited from
getEndParam
▸ getEndParam(): Object
Get the end parameter.
Returns
Object
End parameters and execution results.
Name | Type |
---|---|
ret | boolean |
val | number |
Example
//Assuming curve is an effective curve instance object
const endPa = curve.getEndParam();
if(endPa.ret){
console.log(endPa.val)
}
Inherited from
getEndPoint
▸ getEndPoint(): Object
Obtain the endpoint of the curve
Returns
Object
The endpoint and execution result of the curve.
Name | Type |
---|---|
ret | boolean |
val | McGePoint3d |
Example
import { McGePoint3d, McDbLine } from "mxcad"
const pt1 = new McGePoint3d(0,0,0);
const pt2 = new McGePoint3d(20,0,0);
const line = new McDbLine(pt1, pt2)
const res = line.getEndPoint();
if(res.ret){
const point = res.val;
console.log(point);//(20, 0, 0)
}
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
McDbCurve.getExtensionDictionary
getFirstDeriv
▸ getFirstDeriv(pt
): Object
Obtain the first derivative of the curve through a certain point on the curve
Parameters
Name | Type | Description |
---|---|---|
Pt | [McGePoint3d] (2d. McGePoint3d. md) | Points on the curve |
Returns
Object
The first derivative of the curve and its execution result.
Name | Type |
---|---|
ret | boolean |
val | McGeVector3d |
Example
import { McGePoint3d, McDbCircle } from "mxcad"
const center = new McGePoint3d(0,0,0);
const circle = new McDbCircle(center, 20);
const vec = circle.getFirstDeriv(new McGePoint3d(20,0,0));// Target point tangent vector
if(vec.ret){
const val = vec.val;
}
Inherited from
getFirstDerivFromParam
▸ getFirstDerivFromParam(param
): Object
Obtain the first derivative of the curve through curve parameters
Parameters
Name | Type | Description |
---|---|---|
Param | number | curve parameters |
Returns
Object
The first derivative of the curve and its execution result.
Name | Type |
---|---|
ret | boolean |
val | McGeVector3d |
Example
//Assuming curve is an effective curve instance object
const res = curve.getFirstDerivFromParam(5);
if(res.ret){
console.log(res.val)
}
Inherited from
McDbCurve.getFirstDerivFromParam
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
getLength
▸ getLength(): Object
Obtain the length of the curve
Returns
Object
Name | Type |
---|---|
ret | boolean |
val | number |
Example
import { MxCpp, MxCADResbuf, MxCADUtility, MxCADUiPrPoint} from "mxcad"
const mxcad = MxCpp.App.getCurrentMxCAD();
let filter = new MxCADResbuf();
filter.AddMcDbEntityTypes("CIRCLE,ARC,LINE,LWPOLYLINE,ELLIPSE");
Let aryId=await MxCADUtility. userSelect ("Select target curve", filter);
if (aryId.length == 0) return;
aryId.forEach(async (id) => {
let event = id.getMcDbEntity() as McDbCurve;
let length = event.getLength().val;
console.log(length)
});
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
getParamAtDist
▸ getParamAtDist(dist
): Object
Obtain parameters at the distance position.
Parameters
Name | Type | Description |
---|---|---|
Dist | Number | Distance Position |
Returns
Object
Parameters and execution results.
Name | Type |
---|---|
ret | boolean |
val | number |
Example
//Assuming curve is an effective curve instance object
const res = curve.getParamAtDist(0);
if(res.ret){
console.log(res.val)
}
Inherited from
getParamAtPoint
▸ getParamAtPoint(pt
): Object
Obtain the curve parameters at a certain point on the curve
Parameters
Name | Type | Description |
---|---|---|
Pt | [McGePoint3d] (2d. McGePoint3d. md) | Points on the curve |
Returns
Object
Curve parameters and execution results.
Name | Type |
---|---|
ret | boolean |
val | number |
Example
import { McGePoint3d, McDbLine } from "mxcad"
const pt1 = new McGePoint3d(0,0,0);
const pt2 = new McGePoint3d(20,0,0);
const line = new McDbLine(pt1, pt2)
const res = line.getParamAtPoint(pt1);
if(res.ret){
const val = res.val;
console.log(val);
}
Inherited from
getPointAt
▸ getPointAt(index
): Object
Get the point at the specified location
Parameters
Name | Type | Description |
---|---|---|
Index | number | position |
Returns
Object
val: Point, ret: Return value
Name | Type |
---|---|
ret | number |
val | McGePoint3d |
Example
//PL is a valid polyline object
const res = pl.getPointAt(2);
const point = res.val;
getPointAtDist
▸ getPointAtDist(dist
): Object
Obtain the point at the distance position.
Parameters
Name | Type | Description |
---|---|---|
Dist | Number | Distance Position |
Returns
Object
Points and execution results.
Name | Type |
---|---|
ret | boolean |
val | McGePoint3d |
Example
import { McGePoint3d, McDbLine } from "mxcad"
const pt1 = new McGePoint3d(0,0,0);
const pt2 = new McGePoint3d(20,0,0);
const line = new McDbLine(pt1, pt2)
const res = line.getPointAtDist(10);
if(res.ret){
const point = res.val;
console.log(point);//(10, 0, 0)
}
Inherited from
getPointAtParam
▸ getPointAtParam(param
): Object
Obtain the coordinates of the point where the curve parameters are located
Parameters
Name | Type | Description |
---|---|---|
Param | number | curve parameters |
Returns
Object
Point objects and execution results.
Name | Type |
---|---|
ret | boolean |
val | McGePoint3d |
Example
//Assuming curve is an effective curve instance object
const res = curve.getPointAtParam(5);
if(res.ret){
console.log(res.val)
}
Inherited from
getSamplePoints
▸ getSamplePoints(dApproxEps?
): MxCADResbuf
Discretize the curve into a pile of points
Parameters
Name | Type | Default value | Description |
---|---|---|---|
DApproxEps | number | 0.0001 | sampling interval |
Returns
Rebuf data
Example
import { McGePoint3d, McDbLine } from "mxcad"
const pt1 = new McGePoint3d(0,0,0);
const pt2 = new McGePoint3d(20,0,0);
const line = new McDbLine(pt1, pt2);
const resBuf = line.getSamplePoints(0.1);
Inherited from
getStartParam
▸ getStartParam(): Object
Get the starting parameters.
Returns
Object
Initial parameters and execution results.
Name | Type |
---|---|
ret | boolean |
val | number |
Example
//Assuming curve is an effective curve instance object
const startPa = curve.getStartParam();
if(startPa.ret){
console.log(startPa.val)
}
Inherited from
getStartPoint
▸ getStartPoint(): Object
Obtain the starting point of the curve
Returns
Object
The starting point and execution result of the curve.
Name | Type |
---|---|
ret | boolean |
val | McGePoint3d |
Example
import { McGePoint3d, McDbLine } from "mxcad"
const pt1 = new McGePoint3d(0,0,0);
const pt2 = new McGePoint3d(20,0,0);
const line = new McDbLine(pt1, pt2)
const res = line.getStartPoint();
if(res.ret){
const point = res.val;
console.log(point);//(0, 0, 0)
}
Inherited from
getType
▸ getType(): PolylineType
Set multiple line segment types
Returns
Example
//PL is a valid polyline object
const type = pl.getType();
getWidthsAt
▸ getWidthsAt(index
): Object
Get the starting and ending width of the specified location
Parameters
Name | Type | Description |
---|---|---|
Index | number | position |
Returns
Object
val1: Starting width, val2: End width, ret: Return value
Name | Type |
---|---|
ret | boolean |
val1 | number |
val2 | number |
Example
//PL is a valid polyline object
const width = pl.getWidthsAt(2);
if(width.ret){
const startWidth = width.val1;
const endWidth = width.val2
}else{
//Acquisition failed
}
getxData
▸ getxData(appName?
): MxCADResbuf
Obtain the extended data of the object
Parameters
Name | Type | Default value | Description |
---|---|---|---|
AppName | string | "" | Extended Data Name |
Returns
Example
//Assuming ent is a valid instance object
const xData = ent.getXData();
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 |
Example
//Assuming ent is a valid instance object
let data = ent.getxDataDouble("DataName");
if(data.ret){
console.log(data.val)
}
Inherited from
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 |
Example
//Assuming ent is a valid instance object
let data = ent.getxDataLong("DataName");
if(data.ret){
console.log(data.val)
}
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
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 |
Example
//Assuming ent is a valid instance object
let data = ent.getxDataString("DataName");
if(data.ret){
console.log(data.val)
}
Inherited from
highlight
▸ highlight(isHighlight
): void
Set whether the object is highlighted
Parameters
Name | Type | Description |
---|---|---|
IsHighlight | boolean | Is it highlighted |
Returns
void
Example
import { McDbEntity } from 'mxcad'
const ent = new McDbEntity()
ent.highlight(true);
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
McDbCurve.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
mirror
▸ mirror(point1
, point2
): boolean
Mirror oriented object
Parameters
Name | Type | Description |
---|---|---|
Point1 | [McGePoint3d] (2d. McGePoint3d. md) | Mirror Base Point |
point2 | McGePoint3d | - |
Returns
boolean
Example
import { McDbEntity, McGePoint3d } from 'mxcad'
const ent = new McDbEntity()
ent.mirror(new McGePoint3d(0,0,0), new McGePoint3d(20,10,0))
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
Example
import { McDbEntity, McGePoint3d } from 'mxcad'
const ent = new McDbEntity()
ent.move(new McGePoint3d(0,0,0), new McGePoint3d(20,0,0))
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
numVerts
▸ numVerts(): number
Obtain the number of vertices
Returns
number
Example
//PL is a valid polyline object
const num = pl.numVerts();
offsetCurves
▸ offsetCurves(dOffsetDist
, ptOffsetRef
): McDbObjectArray
Obtain offset curve
Parameters
Name | Type | Description |
---|---|---|
DOffsetDist | number | offset distance |
PtOffsetRef | [McGePoint3d] (2d. McGePoint3d. md) | Offset point |
Returns
Offset object array.
Example
import { MxCADUiPrPoint, MxCpp } from 'mxcad'
let getFristPoint = new MxCADUiPrPoint();
let offsetDist = 10 ;
let getEvent = new MxCADUiPrEntity();
GetEvent.setMessage ('Specify offset object ');
let event_id = await getEvent.go();
if (!event_id) return;
let event = (await event_id.getMcDbEntity()) as McDbCurve;
let getoOffPt = new MxCADUiPrPoint();
GetoOffPt.setMessage ('specify offset point ');
let offPt = await getoOffPt.go();
if (!offPt) return;
let objArr = event.offsetCurves(offsetDist, offPt);
if (objArr.length() === 0) return;
objArr.forEach((obj: McDbObject) => {
MxCpp.getCurrentCAD().drawEntity(obj as McDbEntity);
});
Inherited from
pointInPolygon
▸ pointInPolygon(x
, y
): boolean
Determine whether a point is within a closed area composed of multiple line segments
Parameters
Name | Type |
---|---|
x | number |
y | number |
Returns
boolean
Example
removeVertexAt
▸ removeVertexAt(index
): boolean
Remove vertices from the specified location
Parameters
Name | Type | Description |
---|---|---|
Index | number | position |
Returns
boolean
Example
//PL is a valid polyline object
const res = pl.removeVertexAt(2);
if(res){
//Removal successful
}else{
//Removal failed
}
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
Example
import { McDbEntity, McGePoint3d } from 'mxcad'
const ent = new McDbEntity()
ent.rotate(new McGePoint3d(0,0,0), Math.PI)
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
Example
import { McDbEntity, McGePoint3d } from 'mxcad'
const ent = new McDbEntity()
ent.scaleEntity(new McGePoint3d(0,0,0), 0.5)
Inherited from
setBulgeAt
▸ setBulgeAt(index
, bulge
): boolean
Set the convexity of the specified position
Parameters
Name | Type | Description |
---|---|---|
Index | number | position |
Bulge | number | convexity |
Returns
boolean
Example
import { McDbPolyline, McGePoint3d } from "mxcad";
const pl = new McDbPolyline();
pl.addVertexAt(new McGePoint3d(800, 300, 0));
const res = pl.setBulgeAt(0, 10);
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
setPointAt
▸ setPointAt(index
, pt
): boolean
Set the point at the specified location
Parameters
Name | Type | Description |
---|---|---|
Index | number | position |
Pt | McGePoint3d (2d. McGePoint3d. md) | Point |
Returns
boolean
Example
import { McDbPolyline, McGePoint3d } from "mxcad";
const pl = new McDbPolyline();
pl.setPointAt(0,new McGePoint3d(0,0,0));
pl.setPointAt(1,new McGePoint3d(10,10,0));
setType
▸ setType(type
): boolean
Return multiple line segment types
Parameters
Name | Type | Description |
---|---|---|
Type | PolylineType (../enums/2d. McDb. PolylineType. md) | Multi line segment type |
Returns
boolean
Example
//PL is a valid polyline object
pl.setType(McDb.PolylineType.kLwPolyline);
setWidthsAt
▸ setWidthsAt(index
, dStartWdith
, dEntWdith
): boolean
Modify the starting and ending width of the line segment
Parameters
Name | Type | Description |
---|---|---|
Index | number | position |
dStartWdith | number | - |
dEntWdith | number | - |
Returns
boolean
Example
import { McDbPolyline, McGePoint3d } from "mxcad";
const pl = new McDbPolyline();
pl.addVertexAt(new McGePoint3d(800, 300, 0));
const res = pl.setWidthsAt(0, 10, 10);
if(res){
//Setting successful
}else{
//Setting failed
}
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
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
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
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.setxDataString("DataName", "xxxxx");
if(res){
//Setting successful
}else{
//Setting failed
}
Inherited from
splitCurves
▸ splitCurves(pts
): McDbObjectArray
Detach Curves
Parameters
Name | Type | Description |
---|---|---|
Pts | McGePoint3d (2d. McGePoint3d. md) | breakpoint array |
Returns
Interrupted curve array.
Example
import { MxCpp } from "mxcad"
//PointsArr: breakpoint array event: McDbCurve
event.splitCurves(PointsArr).forEach((e:McDbCurve, index:number) => {
if(index % 2 === 0){
MxCpp.getCurrentCAD().drawEntity(e as McDbEntity)
}
})
Inherited from
splitCurvesFromParam
▸ splitCurvesFromParam(params
): McDbObjectArray
Break the curve based on the curve parameters
Parameters
Name | Type | Description |
---|---|---|
Params | number [] | curve parameter array |
Returns
Interrupted curve array.
Inherited from
McDbCurve.splitCurvesFromParam
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
Name | Type | Default value | Description |
---|---|---|---|
_toCpp | boolean | true | Whether to synchronize data |
Returns
boolean
Example
//Assuming ent is a valid instance object
const res = ent.syncData(true);
if(res){
//Synchronization successful
}else{
//Synchronization failed
}
Inherited from
transformBy
▸ transformBy(transformationMatrix
): boolean
Transform object
Parameters
Name | Type | Description |
---|---|---|
TransformationMatrix | [McGeMatrix3d] (2d. McGeMatrix3d. md) | Transformation Matrix |
Returns
boolean
Example
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);
Inherited from
unErase
▸ unErase(): boolean
Anti delete object.
Returns
boolean
Example
//Assuming obj is a database object
const res = obj.unErase();
console.log(res);
Inherited from
updateDisplay
▸ updateDisplay(): void
Display the updated display of the calling object
Returns
void
Example
//Assuming ent is a valid instance object
ent.updateDisplay()