Skip to content

mxcad_2d API 文档 / 2d / McDbPolyline

Class: McDbPolyline ​

2d.McDbPolyline

McDbPolyline 是多段线实体类,用于创建和管理多段线对象。

Description

该类用于绘制由多段线段组成的复杂图形,支持设置顶点、闭合状态、宽度和显示属性。

使用方法总结:

  1. 先创建 McDbPolyline 实例。
  2. 再依次添加顶点并设置闭合状态、常量宽度和凸度等样式参数。
  3. 最后将其加入当前空间并显示。

Example

ts
import { McDbPolyline, MxCpp } from 'mxcad'
//绘制线宽为10的矩形,pt1,pt2,pt3,pt4为矩形的4点个顶点
const pl = new McDbPolyline();
pl.constantWidth = 10;// 设置多段线线宽为10
// 设置多段线端点
pl.addVertexAt(pt1);
pl.addVertexAt(pt2);
pl.addVertexAt(pt3);
pl.addVertexAt(pt4);
pl.isClosed = true; // 设置多段线是否闭合
MxCpp.getCurrentMxCAD().drawEntity(pl); // 绘制多段线
ts
 // 绘制中心矩形:指定矩形宽高与中心点,动态绘制矩形
 import { McDbPolyline, MxCpp, MxCADUiPrDist, MxCADUiPrPoint } from 'mxcad';

 async function Mx_CenterRect() {
   // 设置矩形宽度
   let width = 5;
   const getWidth = new MxCADUiPrDist();
   getWidth.setMessage("\n请输入矩形宽度<5>");
   const widthVal = await getWidth.go();
   if (widthVal) {
       width = getWidth.value()
   }
   // 设置矩形高度
   let height = 10;
   const getHeight = new MxCADUiPrDist();
   getHeight.setMessage("\n请输入矩形高度<10>");
   const heightVal = await getHeight.go();
   if (heightVal) {
       height = getHeight.value()
   }
   // 设置矩形的中心点
   const getCenterPt = new MxCADUiPrPoint();
   getCenterPt.setMessage("请点击确定矩形中心");
   const centerPt = await getCenterPt.go();
   if (!centerPt) return;
   // 根据矩形的中心点和宽高计算矩形的四个顶点
   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;// 构造一个多段线对象
   // 依次添加矩形顶点
   pl.addVertexAt(pt1)
   pl.addVertexAt(pt2)
   pl.addVertexAt(pt3)
   pl.addVertexAt(pt4)
   const mxcad = MxCpp.App.getCurrentMxCAD();
   pl.isClosed = true; // 设置多段线闭合
   mxcad.drawEntity(pl); // 绘制多段线对象
 }

Hierarchy ​

Table of contents ​

Constructors ​

Properties ​

Accessors ​

Methods ​

Constructors ​

constructor ​

• new McDbPolyline(imp?)

构造函数

Parameters ​

NameTypeDescription
imp?any实现对象

Overrides ​

McDbCurve.constructor

Properties ​

imp ​

• imp: any = 0

内部实现对象。

Inherited from ​

McDbCurve.imp

Accessors ​

colorIndex ​

• get colorIndex(): number

得到对象颜色索引

Returns ​

number

Inherited from ​

McDbCurve.colorIndex

• set colorIndex(val): void

设置对象颜色索引

Parameters ​

NameTypeDescription
valnumber颜色索引(ColorIndexType)

Returns ​

void

Inherited from ​

McDbCurve.colorIndex


constantWidth ​

• get constantWidth(): number

获取常量宽度

Returns ​

number

• set constantWidth(val): void

设置常量宽度

Parameters ​

NameTypeDescription
valnumber常量宽度

Returns ​

void


drawOrder ​

• get drawOrder(): number

对象的显示顺序

Returns ​

number

Inherited from ​

McDbCurve.drawOrder

• set drawOrder(order): void

对象的显示顺序

Parameters ​

NameTypeDescription
ordernumber顺序值

Returns ​

void

Example

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

let ss = new MxCADSelectionSet();
if (!await ss.userSelect("\n选择对象")) return;
//得到当前图上对象的最大,小最显示顺序.
let minmaxOrder = MxCpp.getCurrentDatabase().currentSpace.getMinMaxDrawOrder();
// 把对象放到最上面。
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

得到对象的DXF组码的类型名,这个和AutoCAD中的DXF组码是一样。 比如直线的类型名为:McDbLine,DXF0组码值: LINE,DXF0组码值可以用来构造集时的类型过滤。

Returns ​

string

Inherited from ​

McDbCurve.dxf0


isClosed ​

• get isClosed(): boolean

获取是否闭合

Returns ​

boolean

• set isClosed(val): void

设置是否闭合

Parameters ​

NameTypeDescription
valboolean是否闭合

Returns ​

void


layer ​

• get layer(): string

得到对象图层名

Returns ​

string

Inherited from ​

McDbCurve.layer

• set layer(val): void

设置对象图层名

Parameters ​

NameTypeDescription
valstring图层名

Returns ​

void

Inherited from ​

McDbCurve.layer


layerId ​

• get layerId(): McObjectId

获取图层ID对象

Returns ​

McObjectId

Inherited from ​

McDbCurve.layerId

• set layerId(id): void

设置图层Id对象

Parameters ​

NameType
idMcObjectId

Returns ​

void

Inherited from ​

McDbCurve.layerId


linetype ​

• get linetype(): string

得到对象线型名

Returns ​

string

Inherited from ​

McDbCurve.linetype

• set linetype(val): void

设置对象线型名

Parameters ​

NameTypeDescription
valstring线型名

Returns ​

void

Inherited from ​

McDbCurve.linetype


linetypeId ​

• get linetypeId(): McObjectId

获取实体对象线型ID

Returns ​

McObjectId

Inherited from ​

McDbCurve.linetypeId

• set linetypeId(id): void

设置实体对象线型ID

Parameters ​

NameType
idMcObjectId

Returns ​

void

Inherited from ​

McDbCurve.linetypeId


linetypeScale ​

• get linetypeScale(): number

得到对象线型比例

Returns ​

number

Inherited from ​

McDbCurve.linetypeScale

• set linetypeScale(val): void

设置对象线型比例

Parameters ​

NameTypeDescription
valnumber线型比例

Returns ​

void

Inherited from ​

McDbCurve.linetypeScale


lineweight ​

• get lineweight(): number

得到对象线重

Returns ​

number

Inherited from ​

McDbCurve.lineweight

• set lineweight(val): void

设置对象线重

Parameters ​

NameTypeDescription
valnumber线重

Returns ​

void

Inherited from ​

McDbCurve.lineweight


normal ​

• get normal(): McGeVector3d

返回对象的normal

Returns ​

McGeVector3d

Inherited from ​

McDbCurve.normal

• set normal(val): void

设置对象的normal

Parameters ​

NameType
valMcGeVector3d

Returns ​

void

Inherited from ​

McDbCurve.normal


objectName ​

• get objectName(): string

获取对象名称。

Returns ​

string

返回对象名

Inherited from ​

McDbCurve.objectName


textStyle ​

• get textStyle(): string

得到对象文字样式

Returns ​

string

Inherited from ​

McDbCurve.textStyle

• set textStyle(val): void

设置对象文字样式

Parameters ​

NameTypeDescription
valstring文字样式名

Returns ​

void

Inherited from ​

McDbCurve.textStyle


textStyleId ​

• get textStyleId(): McObjectId

获取实体文字样式

Returns ​

McObjectId

Inherited from ​

McDbCurve.textStyleId

• set textStyleId(id): void

设置实体的文字样式

Parameters ​

NameType
idMcObjectId

Returns ​

void

Example

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

let selEntity = new MxCADUiPrEntity();
selEntity.setMessage("选择对象");
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 ​

McDbCurve.textStyleId


thickness ​

• get thickness(): number

得到对象厚度

Returns ​

number

Inherited from ​

McDbCurve.thickness

• set thickness(val): void

设置对象厚度

Parameters ​

NameType
valnumber

Returns ​

void

Inherited from ​

McDbCurve.thickness


trueColor ​

• get trueColor(): McCmColor

得到对象颜色

Returns ​

McCmColor

Inherited from ​

McDbCurve.trueColor

• set trueColor(val): void

设置对象颜色

Parameters ​

NameType
valMcCmColor

Returns ​

void

Inherited from ​

McDbCurve.trueColor


visible ​

• get visible(): boolean

对象是否可见

Returns ​

boolean

Inherited from ​

McDbCurve.visible

• set visible(val): void

设置是否可见

Parameters ​

NameTypeDescription
valboolean布尔值

Returns ​

void

Inherited from ​

McDbCurve.visible

Methods ​

IntersectWith ​

▸ IntersectWith(intersectObject, exOption): McGePoint3dArray

与其他实体相交, 得到交点

Parameters ​

NameTypeDescription
intersectObjectMcDbEntity需要相交的是实体对象
exOptionIntersect相交的选项

Returns ​

McGePoint3dArray

得到所有交点

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 ​

McDbCurve.IntersectWith


addVertexAt ​

▸ addVertexAt(pt, bulge?, startWidth?, endWidth?, index?): boolean

在指定位置添加顶点

Parameters ​

NameTypeDefault valueDescription
ptVector3 | McGePoint3dundefined点
bulgenumber0凸度
startWidthnumber0起始宽度
endWidthnumber0结束宽度
indexnumber0位置

Returns ​

boolean

Example

ts
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

设置对象被改变的状态,可自动触发更新显示函数,更新显示。 比如块表记录更新了,需要通知块引用更新显示,可以调用该函数。

Parameters ​

NameTypeDefault valueDescription
autoUndobooleanfalse这次修改是否要自动支持撤销,默认为false

Returns ​

number

Inherited from ​

McDbCurve.assertObjectModification


clone ​

▸ clone(): null | McDbObject

克隆对象。

Returns ​

null | McDbObject

克隆出的对象。

Inherited from ​

McDbCurve.clone


createExtensionDictionary ​

▸ createExtensionDictionary(): boolean

创建对象的扩展字典数据.

Returns ​

boolean

Inherited from ​

McDbCurve.createExtensionDictionary


deleteXData ​

▸ deleteXData(appName): boolean

删除实体指定应用程序名称相关的数据

Parameters ​

NameTypeDescription
appNamestring扩展数据名称

Returns ​

boolean

Example

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

let selEntity = new MxCADUiPrEntity();
selEntity.setMessage("选择对象");
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){
  //删除成功
}else
  //删除失败
}

Inherited from ​

McDbCurve.deleteXData


disableDisplay ​

▸ disableDisplay(isDisable): void

禁用对象的自动更新显示.

Parameters ​

NameTypeDescription
isDisableboolean是否禁用对象自动更新显示

Returns ​

void

Inherited from ​

McDbCurve.disableDisplay


erase ​

▸ erase(): boolean

删除对象。

Returns ​

boolean

是否删除成功。

Inherited from ​

McDbCurve.erase


explode ​

▸ explode(): MxCADResbuf

打碎对象,返回打后对象数据链表

Returns ​

MxCADResbuf

resbuf 数据

Example

ts
import { McDbEntity, MxCADResbuf } from "mxcad";
// 获取目标对象
let getEnt = new MxCADUiPrEntity();
getEnt.setMessage("选择打碎对象:");
let id = await getEnt.go();
let ent:McDbEntity = id.getMcDbEntity();
if (ent === null) return;
// 打碎对象
      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 ​

McDbCurve.explode


getAllAppName ​

▸ getAllAppName(): McGeStringArray

获取实体中包含的所有 XData 记录的应用程序名(AppName)

Returns ​

McGeStringArray

Inherited from ​

McDbCurve.getAllAppName


getArea ​

▸ getArea(): Object

计算面积

Returns ​

Object

val 面积值 | ret 是否获取成功

NameType
retboolean
valnumber

Example

ts
import { McGePoint3d, McDbCircle } from "mxcad"

const circle = new McDbCircle(0,0,0, 20);
const area = circle.getArea();
console.log("圆面积:", area)

Inherited from ​

McDbCurve.getArea


getBoundingBox ​

▸ getBoundingBox(): Object

得到对象的最小外包

Returns ​

Object

NameType
maxPtMcGePoint3d
minPtMcGePoint3d
retboolean

Inherited from ​

McDbCurve.getBoundingBox


getBulgeAt ​

▸ getBulgeAt(index): number

获取指定位置的凸度

Parameters ​

NameTypeDescription
indexnumber位置

Returns ​

number


getClosestPointTo ​

▸ getClosestPointTo(givenPnt, isExtend): Object

得到一个点到曲线的最近点

Parameters ​

NameTypeDescription
givenPntMcGePoint3d参考点
isExtendboolean是否延展实体

Returns ​

Object

点对象及执行结果。

NameType
retboolean
valMcGePoint3d

Example

ts
import { McGePoint3d, McDbCircle, MxCADUiPrPoint, MxCpp } from "mxcad"

const circle = new McDbCircle(0,0,0, 20);
const mxcad = MxCpp.getCurrentMxCAD();
mxcad.drawEntity(circle);

const getPoint = new MxCADUiPrPoint();
getPoint.setUserDraw((pt,pw)=>{
  //获取pt到circle上最近的点
  const point = circle.getClosestPointTo(pt);
  console.log(point)
})
const point = await getPoint.go();

Inherited from ​

McDbCurve.getClosestPointTo


getDatabase ​

▸ getDatabase(): McDbDatabase

得到对象所在的数据库

Returns ​

McDbDatabase

返回数据库

Inherited from ​

McDbCurve.getDatabase


getDatabaseIndexId ​

▸ getDatabaseIndexId(): number

获取对象的索引ID

Returns ​

number

Inherited from ​

McDbCurve.getDatabaseIndexId


getDistAtParam ​

▸ getDistAtParam(param): Object

获取参数位置上的距离。

Parameters ​

NameTypeDescription
paramnumber参数位置。

Returns ​

Object

距离及执行结果。

NameType
retboolean
valnumber

Inherited from ​

McDbCurve.getDistAtParam


getDistAtPoint ​

▸ getDistAtPoint(pt): Object

获取曲线上点的距离位置。

Parameters ​

NameTypeDescription
ptMcGePoint3d距离位置。

Returns ​

Object

点及执行结果。

NameType
retboolean
valnumber

Example

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

McDbCurve.getDistAtPoint


getEndParam ​

▸ getEndParam(): Object

获取结束参数。

Returns ​

Object

结束参数及执行结果。

NameType
retboolean
valnumber

Inherited from ​

McDbCurve.getEndParam


getEndPoint ​

▸ getEndPoint(): Object

得到曲线的结束点

Returns ​

Object

曲线的结束点及执行结果。

NameType
retboolean
valMcGePoint3d

Example

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

McDbCurve.getEndPoint


getExtensionDictionary ​

▸ getExtensionDictionary(): McDbDictionary

得到对象的扩展字典数据.

Returns ​

McDbDictionary

扩展字典数据

Inherited from ​

McDbCurve.getExtensionDictionary


getFirstDeriv ​

▸ getFirstDeriv(pt): Object

通过曲线上某点得到曲线的一阶导数

Parameters ​

NameTypeDescription
ptMcGePoint3d曲线上的点

Returns ​

Object

曲线一阶导数及执行结果。

NameType
retboolean
valMcGeVector3d

Example

ts
import { McGePoint3d, McDbCircle } from "mxcad"

const circle = new McDbCircle(0,0,0, 20);
const vec = circle.getFirstDeriv(new McGePoint3d(20,0,0));//目标点切向量
if(vec.ret){
 const val = vec.val;
}

Inherited from ​

McDbCurve.getFirstDeriv


getFirstDerivFromParam ​

▸ getFirstDerivFromParam(param): Object

通过曲线参数得到曲线的一阶导数

Parameters ​

NameTypeDescription
paramnumber曲线参数

Returns ​

Object

曲线一阶导数及执行结果。

NameType
retboolean
valMcGeVector3d

Inherited from ​

McDbCurve.getFirstDerivFromParam


getGripEditBasePointsIndex ​

▸ getGripEditBasePointsIndex(): number[]

获取对象的夹点对应的编辑基点索引。

Returns ​

number[]

Inherited from ​

McDbCurve.getGripEditBasePointsIndex


getGripPoints ​

▸ getGripPoints(): McGePoint3dArray

获取对象的夹点数组

Returns ​

McGePoint3dArray

Inherited from ​

McDbCurve.getGripPoints


getHandle ​

▸ getHandle(): string

得到对象句柄

Returns ​

string

返回对象句柄

Inherited from ​

McDbCurve.getHandle


getImp ​

▸ getImp(): any

获取内部实现对象。

Returns ​

any

内部实现对象。

Inherited from ​

McDbCurve.getImp


getJson ​

▸ getJson(): string

获取 JSON 格式的字符串。

Returns ​

string

JSON 格式的字符串。

Inherited from ​

McDbCurve.getJson


getLength ​

▸ getLength(): Object

得到曲线长度

Returns ​

Object

NameType
retboolean
valnumber

Example

ts
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("选择目标曲线", 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 ​

McDbCurve.getLength


getObjectID ​

▸ getObjectID(): McObjectId

获取对象 ID。

Returns ​

McObjectId

对象 ID。

Inherited from ​

McDbCurve.getObjectID


getOwnerID ​

▸ getOwnerID(): number

得到对象拥用者的id

Returns ​

number

Inherited from ​

McDbCurve.getOwnerID


getParamAtDist ​

▸ getParamAtDist(dist): Object

获取距离位置上的参数。

Parameters ​

NameTypeDescription
distnumber距离位置。

Returns ​

Object

参数及执行结果。

NameType
retboolean
valnumber

Inherited from ​

McDbCurve.getParamAtDist


getParamAtPoint ​

▸ getParamAtPoint(pt): Object

得到曲线某点位置的曲线参数

Parameters ​

NameTypeDescription
ptMcGePoint3d曲线上的点

Returns ​

Object

曲线参数及执行结果。

NameType
retboolean
valnumber

Inherited from ​

McDbCurve.getParamAtPoint


getPointAt ​

▸ getPointAt(index): Object

获取指定位置的点

Parameters ​

NameTypeDescription
indexnumber位置

Returns ​

Object

val: 点, ret: 返回值

NameType
retnumber
valMcGePoint3d

getPointAtDist ​

▸ getPointAtDist(dist): Object

获取距离位置上的点。

Parameters ​

NameTypeDescription
distnumber距离位置。

Returns ​

Object

点及执行结果。

NameType
retboolean
valMcGePoint3d

Example

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

McDbCurve.getPointAtDist


getPointAtParam ​

▸ getPointAtParam(param): Object

得到曲线参数所在的点坐标

Parameters ​

NameTypeDescription
paramnumber曲线参数

Returns ​

Object

点对象及执行结果。

NameType
retboolean
valMcGePoint3d

Inherited from ​

McDbCurve.getPointAtParam


getSamplePoints ​

▸ getSamplePoints(dApproxEps?): MxCADResbuf

把曲线离散成一堆点

Parameters ​

NameTypeDefault valueDescription
dApproxEpsnumber0.0001采样间隔

Returns ​

MxCADResbuf

resbuf 数据

Inherited from ​

McDbCurve.getSamplePoints


getStartParam ​

▸ getStartParam(): Object

获取起始参数。

Returns ​

Object

起始参数及执行结果。

NameType
retboolean
valnumber

Inherited from ​

McDbCurve.getStartParam


getStartPoint ​

▸ getStartPoint(): Object

得到曲线的开始点

Returns ​

Object

曲线的开始点及执行结果。

NameType
retboolean
valMcGePoint3d

Example

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

McDbCurve.getStartPoint


getType ​

▸ getType(): PolylineType

设置多线段类型

Returns ​

PolylineType


getWidthsAt ​

▸ getWidthsAt(index): Object

获取指定位置的起始和结束宽度

Parameters ​

NameTypeDescription
indexnumber位置

Returns ​

Object

val1: 起始宽度, val2: 结束宽度, ret: 返回值

NameType
retboolean
val1number
val2number

getxData ​

▸ getxData(appName?): MxCADResbuf

得到对象的扩展数据

Parameters ​

NameTypeDefault valueDescription
appNamestring""扩展数据名

Returns ​

MxCADResbuf

Inherited from ​

McDbCurve.getxData


getxDataDouble ​

▸ getxDataDouble(appName): Object

获取实体的指定 XData 类型中的 double 值

Parameters ​

NameTypeDescription
appNamestring扩展数据名称

Returns ​

Object

double 值

NameType
retboolean
valnumber

Inherited from ​

McDbCurve.getxDataDouble


getxDataLong ​

▸ getxDataLong(appName): Object

获取实体的指定 XData 类型中的 long(整数)值

Parameters ​

NameTypeDescription
appNamestring扩展数据名称

Returns ​

Object

long 值

NameType
retboolean
valnumber

Inherited from ​

McDbCurve.getxDataLong


getxDataPoint ​

▸ getxDataPoint(appName): Object

获取实体的指定 XData 类型中的点对象

Parameters ​

NameTypeDescription
appNamestring扩展数据名称

Returns ​

Object

获取结果及三维点对象

NameType
retboolean
valMcGePoint3d

Inherited from ​

McDbCurve.getxDataPoint


getxDataString ​

▸ getxDataString(appName): Object

获取与特定实体关联的 XData 信息,并以字符串形式返回

Parameters ​

NameTypeDescription
appNamestring扩展数据名称

Returns ​

Object

val XData信息 | ret 是否返回成功

NameType
retboolean
valstring

Inherited from ​

McDbCurve.getxDataString


highlight ​

▸ highlight(isHighlight): void

设置对象是否高亮

Parameters ​

NameTypeDescription
isHighlightboolean是否高亮

Returns ​

void

Inherited from ​

McDbCurve.highlight


initTempObject ​

▸ initTempObject(imp): void

初始化临时对象。

Parameters ​

NameTypeDescription
impany内部实现对象。

Returns ​

void

Inherited from ​

McDbCurve.initTempObject


isErased ​

▸ isErased(): boolean

对象是否已经删除

Returns ​

boolean

Inherited from ​

McDbCurve.isErased


isHaveExtensionDictionary ​

▸ isHaveExtensionDictionary(): boolean

是否有扩展字典数据.

Returns ​

boolean

Inherited from ​

McDbCurve.isHaveExtensionDictionary


isKindOf ​

▸ isKindOf(sObjectName): boolean

判断对象类型

Parameters ​

NameTypeDescription
sObjectNamestring类型名

Returns ​

boolean

返回对象是否是目标类型

Inherited from ​

McDbCurve.isKindOf


isNull ​

▸ isNull(): any

判断是否为空对象

Returns ​

any

Inherited from ​

McDbCurve.isNull


mirror ​

▸ mirror(point1, point2): boolean

镜向对象

Parameters ​

NameTypeDescription
point1McGePoint3d镜像基点
point2McGePoint3d-

Returns ​

boolean

Inherited from ​

McDbCurve.mirror


move ​

▸ move(fromPoint, toPoint): boolean

移动对象

Parameters ​

NameTypeDescription
fromPointMcGePoint3d移动开始点
toPointMcGePoint3d移动结束点

Returns ​

boolean

Inherited from ​

McDbCurve.move


moveGripPointsAt ​

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

移动对象的夹点

Parameters ​

NameTypeDescription
iIndexnumber索引
dXOffsetnumberX轴偏移量
dYOffsetnumberY轴偏移量
dZOffsetnumberZ轴偏移量

Returns ​

any

Inherited from ​

McDbCurve.moveGripPointsAt


numVerts ​

▸ numVerts(): number

获取顶点数量

Returns ​

number


offsetCurves ​

▸ offsetCurves(dOffsetDist, ptOffsetRef): McDbObjectArray

得到偏移曲线

Parameters ​

NameTypeDescription
dOffsetDistnumber偏移距离
ptOffsetRefMcGePoint3d偏移点

Returns ​

McDbObjectArray

偏移后的对象数组。

Example

ts
import { MxCADUiPrPoint, MxCpp } from 'mxcad'
   let getFristPoint = new MxCADUiPrPoint();
   let offsetDist = 10 ;
   let getEvent = new MxCADUiPrEntity();
   getEvent.setMessage('指定偏移对象');
   let event_id = await getEvent.go();
   if (!event_id) return;
   let event = (await event_id.getMcDbEntity()) as McDbCurve;
   let getoOffPt = new MxCADUiPrPoint();
   getoOffPt.setMessage('指定偏移点');
   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 ​

McDbCurve.offsetCurves


pointInPolygon ​

▸ pointInPolygon(x, y): boolean

判断一个点是否在多线段组成闭合区域内

Parameters ​

NameType
xnumber
ynumber

Returns ​

boolean


removeVertexAt ​

▸ removeVertexAt(index): boolean

移除指定位置的顶点

Parameters ​

NameTypeDescription
indexnumber位置

Returns ​

boolean


reverse ​

▸ reverse(): boolean

多线段坐标点反向

Returns ​

boolean


rotate ​

▸ rotate(basePoint, dRotationAngle): boolean

旋转对象

Parameters ​

NameTypeDescription
basePointMcGePoint3d旋转基点
dRotationAnglenumber旋转角度

Returns ​

boolean

Inherited from ​

McDbCurve.rotate


scaleEntity ​

▸ scaleEntity(basePoint, dScaleFactor): boolean

缩放对象

Parameters ​

NameTypeDescription
basePointMcGePoint3d缩放基点
dScaleFactornumber缩放因子(<1 缩小; >1 放大)

Returns ​

boolean

Inherited from ​

McDbCurve.scaleEntity


sclaeWidth ​

▸ sclaeWidth(scale): boolean

缩放多线段的宽度

Parameters ​

NameType
scalenumber

Returns ​

boolean


setBulgeAt ​

▸ setBulgeAt(index, bulge): boolean

设置指定位置的凸度

Parameters ​

NameTypeDescription
indexnumber位置
bulgenumber凸度

Returns ​

boolean


setJson ​

▸ setJson(str): boolean

设置 JSON 格式的字符串。

Parameters ​

NameTypeDescription
strstringJSON 格式的字符串。

Returns ​

boolean

是否设置成功。

Inherited from ​

McDbCurve.setJson


setPointAt ​

▸ setPointAt(index, pt): boolean

设置指定位置的点

Parameters ​

NameTypeDescription
indexnumber位置
ptMcGePoint3d点

Returns ​

boolean


setType ​

▸ setType(type): boolean

返回多线段类型

Parameters ​

NameTypeDescription
typePolylineType多线段类型

Returns ​

boolean


setWidthsAt ​

▸ setWidthsAt(index, dStartWdith, dEntWdith): boolean

修改线段的开始宽度,和结束宽度

Parameters ​

NameTypeDescription
indexnumber位置
dStartWdithnumber-
dEntWdithnumber-

Returns ​

boolean


setxData ​

▸ setxData(xdata): boolean

设置对象的扩展数据

Parameters ​

NameTypeDescription
xdataMxCADResbuf扩展数据链表

Returns ​

boolean

Example

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

//设置扩展数据
let selEntity = new MxCADUiPrEntity();
selEntity.setMessage("选择对象");
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 ​

McDbCurve.setxData


setxDataDouble ​

▸ setxDataDouble(appName, val): boolean

设置实体的指定 XData 类型中的 double 值

Parameters ​

NameTypeDescription
appNamestring扩展数据名称
valnumberdouble 值

Returns ​

boolean

布尔值

Example

ts
import { MxCADUiPrEntity, McDbEntity } from "mxcad";
let selEntity = new MxCADUiPrEntity();
selEntity.setMessage("选择对象");
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){
  //设置成功
}else{
  //设置失败
}

Inherited from ​

McDbCurve.setxDataDouble


setxDataLong ​

▸ setxDataLong(appName, val): boolean

设置实体的指定 XData 类型中的 long(整数)值

Parameters ​

NameTypeDescription
appNamestring扩展数据名称
valnumberlong 值

Returns ​

boolean

long 值

Example

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

let selEntity = new MxCADUiPrEntity();
selEntity.setMessage("选择对象");
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){
  //设置成功
}else{
  //设置失败
}

Inherited from ​

McDbCurve.setxDataLong


setxDataPoint ​

▸ setxDataPoint(appName, val): boolean

设置实体的指定 XData 类型中的点对象

Parameters ​

NameTypeDescription
appNamestring扩展数据名称
valMcGePoint3d点对象

Returns ​

boolean

获取结果及三维点对象

Inherited from ​

McDbCurve.setxDataPoint


setxDataString ​

▸ setxDataString(appName, val): boolean

设置与特定实体关联的 XData 信息,并以字符串形式设置

Parameters ​

NameTypeDescription
appNamestring扩展数据名称
valstring字符串值

Returns ​

boolean

是否设置成功

Inherited from ​

McDbCurve.setxDataString


splitCurves ​

▸ splitCurves(pts): McDbObjectArray

打断曲线

Parameters ​

NameTypeDescription
ptsMcGePoint3d[]断点数组

Returns ​

McDbObjectArray

打断后的曲线数组。

Inherited from ​

McDbCurve.splitCurves


splitCurvesFromParam ​

▸ splitCurvesFromParam(params): McDbObjectArray

根据曲线参数打断曲线

Parameters ​

NameTypeDescription
paramsnumber[]曲线参数数组

Returns ​

McDbObjectArray

打断后的曲线数组。

Inherited from ​

McDbCurve.splitCurvesFromParam


syncData ​

▸ syncData(_toCpp?): boolean

同步实体的数据。这个方法可能是在修改了实体的属性或者附加了新的数据之后调用的,以确保所有的改变都被正确地保存到实体的数据库记录中。

Parameters ​

NameTypeDefault valueDescription
_toCppbooleantrue是否同步数据

Returns ​

boolean

Inherited from ​

McDbCurve.syncData


transformBy ​

▸ transformBy(transformationMatrix): boolean

变换对象

Parameters ​

NameTypeDescription
transformationMatrixMcGeMatrix3d变换矩阵

Returns ​

boolean

Inherited from ​

McDbCurve.transformBy


unErase ​

▸ unErase(): boolean

反删除对象。

Returns ​

boolean

Inherited from ​

McDbCurve.unErase


updateDisplay ​

▸ updateDisplay(): void

显示调用对象更新显示.

Returns ​

void

Inherited from ​

McDbCurve.updateDisplay