Skip to content

mxcad_2d API 文档 / 2d / McDbXlsxTable

Class: McDbXlsxTable

2d.McDbXlsxTable

XLSX 表格实体类,用于在 CAD 中展示和管理表格型数据内容。

Description

McDbXlsxTable 是一个自定义表格实体,适合把 Excel/XLSX 数据结构映射到 CAD 图形对象中进行展示。 这个类可以完成:

  • 解析和保存表格原始 XLSX 数据;
  • 设置行高、列宽、样式、位置和渲染方向;
  • 处理单元格合并、样式和文本尺寸计算;
  • 在 worldDraw 阶段把表格渲染到绘图环境中;
  • 适配 CAD 中的交互编辑和对象变换逻辑。

使用方式:

  1. 创建 McDbXlsxTable 实例;
  2. 设置 position、rowHeight、colWidth、renderDirection 等核心属性;
  3. 通过 xlsxData 传入 Base64 表格数据,或直接设置表格内容与样式;
  4. 调用 worldDraw() 或绘制流程把表格显示在 CAD 中;
  5. 如需编辑,可同步更新样式、单元格数据和位置后重绘。

总结:McDbXlsxTable 是 MxCAD 表格展示的自定义实体,适合把结构化表格内容以可视化方式嵌入到工程图中。

Example

ts
   import { MxCpp, McDbXlsxTable, MxCADUiPrPoint } from "mxcad";

   //绘制表格
   async function Mx_drawTable() {
   const table: McDbXlsxTable = new McDbXlsxTable();

   // 设置基本属性
   table.colWidth = 5; // 默认列宽
   table.rowHeight = 5; // 默认行高
   table.styleName = "STANDARD"; // 设置表格样式
   // 方法1:从数组创建表格
   const data = [
       ["标题1", "标题2", "标题3", "标题4"],
       ["数据1", "数据2", "数据3", "数据4"],
       ["数据5", "数据6", "数据7", "数据8"],
       [
       "数据9",
       "数据10",
       "数据11",
       [
           {
           type: "paragraph",
           children: [
               {
               text: "ssss",
               },
           ],
           },
           {
           type: "paragraph",
           children: [
               {
               text: "666",
               },
           ],
           },
       ],
       ],
   ];
   table.setFromArray(data);

   // 合并单元格
   table.setMergeCells([
       {
       row: 0,
       col: 0,
       rowspan: 1,
       colspan: 4, // 合并第一行的所有单元格作为标题
       },
   ]);

   // 设置第一行的值为标题
   table.setCellValue(0, 0, "表格标题");

   // 设置表格位置
   const mxcad = MxCpp.getCurrentMxCAD();
   const getPoint = new MxCADUiPrPoint();
   getPoint.setMessage("\n指定表格插入点");
   const pt = await getPoint.go();
   table.position = pt;

   // 绘制表格
   mxcad.drawEntity(table); 
   }

Hierarchy

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new McDbXlsxTable(imp?)

Parameters

NameType
imp?any

Overrides

McDbCustomEntity.constructor

Properties

imp

imp: any = 0

内部实现对象。

Inherited from

McDbCustomEntity.imp


matrix

matrix: McGeMatrix3d

Accessors

colCount

get colCount(): number

表格列数

Returns

number


colWidth

get colWidth(): number

表格整体列宽

Returns

number

set colWidth(val): void

Parameters

NameType
valnumber

Returns

void


colorIndex

get colorIndex(): number

得到对象颜色索引

Returns

number

Inherited from

McDbCustomEntity.colorIndex

set colorIndex(val): void

设置对象颜色索引

Parameters

NameTypeDescription
valnumber颜色索引(ColorIndexType)

Returns

void

Inherited from

McDbCustomEntity.colorIndex


drawOrder

get drawOrder(): number

对象的显示顺序

Returns

number

Inherited from

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

McDbCustomEntity.drawOrder


dxf0

get dxf0(): string

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

Returns

string

Inherited from

McDbCustomEntity.dxf0


layer

get layer(): string

得到对象图层名

Returns

string

Inherited from

McDbCustomEntity.layer

set layer(val): void

设置对象图层名

Parameters

NameTypeDescription
valstring图层名

Returns

void

Inherited from

McDbCustomEntity.layer


layerId

get layerId(): McObjectId

获取图层ID对象

Returns

McObjectId

Inherited from

McDbCustomEntity.layerId

set layerId(id): void

设置图层Id对象

Parameters

NameType
idMcObjectId

Returns

void

Inherited from

McDbCustomEntity.layerId


linetype

get linetype(): string

得到对象线型名

Returns

string

Inherited from

McDbCustomEntity.linetype

set linetype(val): void

设置对象线型名

Parameters

NameTypeDescription
valstring线型名

Returns

void

Inherited from

McDbCustomEntity.linetype


linetypeId

get linetypeId(): McObjectId

获取实体对象线型ID

Returns

McObjectId

Inherited from

McDbCustomEntity.linetypeId

set linetypeId(id): void

设置实体对象线型ID

Parameters

NameType
idMcObjectId

Returns

void

Inherited from

McDbCustomEntity.linetypeId


linetypeScale

get linetypeScale(): number

得到对象线型比例

Returns

number

Inherited from

McDbCustomEntity.linetypeScale

set linetypeScale(val): void

设置对象线型比例

Parameters

NameTypeDescription
valnumber线型比例

Returns

void

Inherited from

McDbCustomEntity.linetypeScale


lineweight

get lineweight(): number

得到对象线重

Returns

number

Inherited from

McDbCustomEntity.lineweight

set lineweight(val): void

设置对象线重

Parameters

NameTypeDescription
valnumber线重

Returns

void

Inherited from

McDbCustomEntity.lineweight


normal

get normal(): McGeVector3d

返回对象的normal

Returns

McGeVector3d

Inherited from

McDbCustomEntity.normal

set normal(val): void

设置对象的normal

Parameters

NameType
valMcGeVector3d

Returns

void

Inherited from

McDbCustomEntity.normal


objectName

get objectName(): string

获取对象名称。

Returns

string

返回对象名

Inherited from

McDbCustomEntity.objectName


position

get position(): McGePoint3d

表格位置和尺寸 - 渲染必需

Returns

McGePoint3d

set position(val): void

Parameters

NameType
valMcGePoint3d

Returns

void


renderDirection

get renderDirection(): TableRenderDirection

表格渲染方向

Returns

TableRenderDirection

set renderDirection(val): void

Parameters

NameType
valTableRenderDirection

Returns

void


rowCount

get rowCount(): number

表格行数

Returns

number


rowHeight

get rowHeight(): number

表格整体行高

Returns

number

set rowHeight(val): void

Parameters

NameType
valnumber

Returns

void


style

get style(): null | Partial<Omit<ITableStyle, "name">>

Returns

null | Partial<Omit<ITableStyle, "name">>


styleName

get styleName(): string

表格样式名称

Returns

string

set styleName(val): void

Parameters

NameType
valstring

Returns

void


textStyle

get textStyle(): string

得到对象文字样式

Returns

string

Inherited from

McDbCustomEntity.textStyle

set textStyle(val): void

设置对象文字样式

Parameters

NameTypeDescription
valstring文字样式名

Returns

void

Inherited from

McDbCustomEntity.textStyle


textStyleId

get textStyleId(): McObjectId

获取实体文字样式

Returns

McObjectId

Inherited from

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

McDbCustomEntity.textStyleId


thickness

get thickness(): number

得到对象厚度

Returns

number

Inherited from

McDbCustomEntity.thickness

set thickness(val): void

设置对象厚度

Parameters

NameType
valnumber

Returns

void

Inherited from

McDbCustomEntity.thickness


trueColor

get trueColor(): McCmColor

得到对象颜色

Returns

McCmColor

Inherited from

McDbCustomEntity.trueColor

set trueColor(val): void

设置对象颜色

Parameters

NameType
valMcCmColor

Returns

void

Inherited from

McDbCustomEntity.trueColor


visible

get visible(): boolean

对象是否可见

Returns

boolean

Inherited from

McDbCustomEntity.visible

set visible(val): void

设置是否可见

Parameters

NameTypeDescription
valboolean布尔值

Returns

void

Inherited from

McDbCustomEntity.visible


xlsxData

get xlsxData(): string

Returns

string

set xlsxData(data): void

Parameters

NameType
datastring

Returns

void

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

McDbCustomEntity.IntersectWith


addSelectedCell

addSelectedCell(row, col): void

添加一个单元格到选中集合

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

void


assertObjectModification

assertObjectModification(autoUndo?): number

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

Parameters

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

Returns

number

Inherited from

McDbCustomEntity.assertObjectModification


calculateTableDimensions

calculateTableDimensions(): Object

计算表格尺寸

Returns

Object

NameType
heightnumber
widthnumber

clearSelectedCell

clearSelectedCell(): void

清除当前选中的单元格

Returns

void


clone

clone(): null | McDbObject

复制实体

Returns

null | McDbObject

Inherited from

McDbCustomEntity.clone


create

create(imp): McDbXlsxTable

新创建一个自定义对象 (默认调用该对象的构造函数来创建新的对象)

Parameters

NameType
impany

Returns

McDbXlsxTable

Overrides

McDbCustomEntity.create


createExtensionDictionary

createExtensionDictionary(): boolean

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

Returns

boolean

Inherited from

McDbCustomEntity.createExtensionDictionary


deleteColumn

deleteColumn(onSelectionChange?): void

删除选中的列

Parameters

NameTypeDescription
onSelectionChange?(cells: { col: number ; row: number }[]) => void可选的选择变更回调

Returns

void


deleteRow

deleteRow(onSelectionChange?): void

删除选中的行

Parameters

NameTypeDescription
onSelectionChange?(cells: { col: number ; row: number }[]) => void可选的选择变更回调

Returns

void


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

McDbCustomEntity.deleteXData


disableDisplay

disableDisplay(isDisable): void

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

Parameters

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

Returns

void

Inherited from

McDbCustomEntity.disableDisplay


dwgInFields

dwgInFields(filter): boolean

从 DWG 文件中读取自定义实体的数据字段

Parameters

NameType
filterIMcDbDwgFiler

Returns

boolean

Overrides

McDbCustomEntity.dwgInFields


dwgOutFields

dwgOutFields(filter): boolean

将自定义实体的数据字段写入到 DWG 文件中

Parameters

NameType
filterIMcDbDwgFiler

Returns

boolean

Overrides

McDbCustomEntity.dwgOutFields


erase

erase(): boolean

删除对象。

Returns

boolean

是否删除成功。

Inherited from

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

McDbCustomEntity.explode


getAllAppName

getAllAppName(): McGeStringArray

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

Returns

McGeStringArray

Inherited from

McDbCustomEntity.getAllAppName


getAllColumnWidths

getAllColumnWidths(): IColumnWidth[]

获取所有列宽设置

Returns

IColumnWidth[]


getAllRowHeights

getAllRowHeights(): IRowHeight[]

获取所有行高设置

Returns

IRowHeight[]


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

McDbCustomEntity.getArea


getBoundingBox

getBoundingBox(): Object

得到对象的最小外包

Returns

Object

NameType
maxPtMcGePoint3d
minPtMcGePoint3d
retboolean

Overrides

McDbCustomEntity.getBoundingBox


getCellAlignment

getCellAlignment(row, col): undefined | "center" | "left" | "right"

获取单元格水平对齐方式

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

undefined | "center" | "left" | "right"

水平对齐方式,如果未设置则返回'left'


getCellAtPoint

getCellAtPoint(point): null | { col: number ; row: number }

将CAD坐标点转换为表格中的单元格位置

Parameters

NameTypeDescription
pointMcGePoint3dCAD空间中的三维点

Returns

null | { col: number ; row: number }

单元格位置 {row, col} 或 null (当点不在表格内时)


getCellBackgroundColor

getCellBackgroundColor(row, col): undefined | null | number

获取单元格背景颜色

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

undefined | null | number

单元格背景颜色,如果未设置则返回null


getCellBorderLineType

getCellBorderLineType(row, col): undefined | string

获取单元格边框线型

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

undefined | string

单元格边框线型,如果未设置则返回undefined


getCellBorderLineWeight

getCellBorderLineWeight(row, col): undefined | number

获取单元格边框线宽

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

undefined | number

单元格边框线宽,如果未设置则返回undefined


getCellFromReference

getCellFromReference(cellRef): null | { col: number ; row: number }

从A1格式引用获取单元格索引

Parameters

NameTypeDescription
cellRefstringA1格式的单元格引用 (例如 "A1", "B2")

Returns

null | { col: number ; row: number }

单元格索引 {row, col} 或 null (当引用无效时)


getCellGeometry

getCellGeometry(row, col): null | { max: McGePoint3d ; min: McGePoint3d }

获取指定单元格的几何范围

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

null | { max: McGePoint3d ; min: McGePoint3d }

单元格的几何范围 { min: McGePoint3d, max: McGePoint3d } 或 null (当单元格不存在时)


getCellReference

getCellReference(row, col): string

获取指定单元格的A1格式引用

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

string

A1格式的单元格引用 (例如 "A1", "B2")


getCellStyles

getCellStyles(): CellStyleInfo

获取单元格的样式

Returns

CellStyleInfo


getCellTextAngle

getCellTextAngle(row, col): undefined | number

获取单元格文本角度

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

undefined | number

单元格文本角度,如果未设置则返回undefined


getCellTextColor

getCellTextColor(row, col): undefined | null | number

获取单元格文本颜色

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

undefined | null | number

单元格文本颜色,如果未设置则返回null


getCellTextStyle

getCellTextStyle(row, col): undefined | string

获取单元格文本样式

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

undefined | string

单元格文本样式,如果未设置则返回undefined


getCellTextValue

getCellTextValue(row, col): string

获取单元格的纯文本值(如果是Slate格式则提取文本)

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

string

单元格的纯文本值


getCellValue

getCellValue(row, col): any

获取指定单元格的值

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

any

单元格值


getCellVerticalAlignment

getCellVerticalAlignment(row, col): undefined | "top" | "bottom" | "middle"

获取单元格垂直对齐方式

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

undefined | "top" | "bottom" | "middle"

垂直对齐方式,如果未设置则返回'top'


getCellWorldCorners

getCellWorldCorners(row, col): null | McGePoint3d[]

获取指定单元格(考虑合并)在世界坐标系下的四个角点

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

null | McGePoint3d[]

McGePoint3d[] 顺序: [左上, 右上, 右下, 左下]


getColumnWidth

getColumnWidth(col): number

获取指定列的宽度

Parameters

NameTypeDescription
colnumber列索引 (0-based)

Returns

number

列宽度,如果未设置则返回默认列宽


getDatabase

getDatabase(): McDbDatabase

得到对象所在的数据库

Returns

McDbDatabase

返回数据库

Inherited from

McDbCustomEntity.getDatabase


getDatabaseIndexId

getDatabaseIndexId(): number

获取对象的索引ID

Returns

number

Inherited from

McDbCustomEntity.getDatabaseIndexId


getExtensionDictionary

getExtensionDictionary(): McDbDictionary

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

Returns

McDbDictionary

扩展字典数据

Inherited from

McDbCustomEntity.getExtensionDictionary


getGripEditBasePointsIndex

getGripEditBasePointsIndex(): number[]

获取自定义对象的夹点。

Returns

number[]

夹点对象数组

Inherited from

McDbCustomEntity.getGripEditBasePointsIndex


getGripPoints

getGripPoints(): McGePoint3dArray

获取自定义对象的夹点。

Returns

McGePoint3dArray

夹点对象数组

Overrides

McDbCustomEntity.getGripPoints


getHandle

getHandle(): string

得到对象句柄

Returns

string

返回对象句柄

Inherited from

McDbCustomEntity.getHandle


getImp

getImp(): any

获取内部实现对象。

Returns

any

内部实现对象。

Inherited from

McDbCustomEntity.getImp


getJson

getJson(): string

获取 JSON 格式的字符串。

Returns

string

JSON 格式的字符串。

Inherited from

McDbCustomEntity.getJson


getMergeCells

getMergeCells(): IMergeCellInfo[]

获取合并单元格信息

Returns

IMergeCellInfo[]


getName

getName(): string

获取自定义对象名称

Returns

string

Inherited from

McDbCustomEntity.getName


getObjectID

getObjectID(): McObjectId

获取对象 ID。

Returns

McObjectId

对象 ID。

Inherited from

McDbCustomEntity.getObjectID


getOwnerID

getOwnerID(): number

得到对象拥用者的id

Returns

number

Inherited from

McDbCustomEntity.getOwnerID


getRowHeight

getRowHeight(row): number

获取指定行的高度

Parameters

NameTypeDescription
rownumber行索引 (0-based)

Returns

number

行高度,如果未设置则返回默认行高


getSelectCellBackgroundColor

getSelectCellBackgroundColor(): undefined | null | number

获取选中单元格的背景颜色

Returns

undefined | null | number


getSelectCellTextColor

getSelectCellTextColor(): undefined | null | number

获取选中单元格的文本颜色

Returns

undefined | null | number


getSelectedCell

getSelectedCell(): null | { col: number ; row: number }

获取当前选中的单元格

Returns

null | { col: number ; row: number }

第一个选中的单元格,如果没有选中则返回null


getSelectedCellCount

getSelectedCellCount(): number

获取选中单元格的数量

Returns

number

选中的单元格数量


getSelectedCells

getSelectedCells(): { col: number ; row: number }[]

获取所有选中的单元格

Returns

{ col: number ; row: number }[]

所有选中的单元格数组


getSelectionRange

getSelectionRange(): null | { maxCol: number ; maxRow: number ; minCol: number ; minRow: number }

获取选中单元格的范围

Returns

null | { maxCol: number ; maxRow: number ; minCol: number ; minRow: number }

包含选中范围的最小和最大行列索引


getTypeName

getTypeName(): string

获取自定义实体的类型名称。

Returns

string

自定义实体的类型名称

Overrides

McDbCustomEntity.getTypeName


getxData

getxData(appName?): MxCADResbuf

得到对象的扩展数据

Parameters

NameTypeDefault valueDescription
appNamestring""扩展数据名

Returns

MxCADResbuf

Inherited from

McDbCustomEntity.getxData


getxDataDouble

getxDataDouble(appName): Object

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

Parameters

NameTypeDescription
appNamestring扩展数据名称

Returns

Object

double 值

NameType
retboolean
valnumber

Inherited from

McDbCustomEntity.getxDataDouble


getxDataLong

getxDataLong(appName): Object

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

Parameters

NameTypeDescription
appNamestring扩展数据名称

Returns

Object

long 值

NameType
retboolean
valnumber

Inherited from

McDbCustomEntity.getxDataLong


getxDataPoint

getxDataPoint(appName): Object

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

Parameters

NameTypeDescription
appNamestring扩展数据名称

Returns

Object

获取结果及三维点对象

NameType
retboolean
valMcGePoint3d

Inherited from

McDbCustomEntity.getxDataPoint


getxDataString

getxDataString(appName): Object

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

Parameters

NameTypeDescription
appNamestring扩展数据名称

Returns

Object

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

NameType
retboolean
valstring

Inherited from

McDbCustomEntity.getxDataString


hasUnmergedCellsSelected

hasUnmergedCellsSelected(): boolean

检查是否选中了未合并的单元格

Returns

boolean


highlight

highlight(isHighlight): void

设置对象是否高亮

Parameters

NameTypeDescription
isHighlightboolean是否高亮

Returns

void

Inherited from

McDbCustomEntity.highlight


initTempObject

initTempObject(imp): void

初始化临时对象。

Parameters

NameTypeDescription
impany内部实现对象。

Returns

void

Inherited from

McDbCustomEntity.initTempObject


insertColumn

insertColumn(position, onSelectionChange?): void

在指定位置插入列

Parameters

NameTypeDescription
position"left" | "right"插入位置,'left' 为左侧插入,'right' 为右侧插入
onSelectionChange?(cells: { col: number ; row: number }[]) => void可选的选择变更回调

Returns

void


insertRow

insertRow(position, onSelectionChange?): void

在指定位置插入行

Parameters

NameTypeDescription
position"above" | "below"插入位置,'above' 为上方插入,'below' 为下方插入
onSelectionChange?(cells: { col: number ; row: number }[]) => void可选的选择变更回调

Returns

void


isCellSelected

isCellSelected(row, col): boolean

检查指定单元格是否被选中

Parameters

NameTypeDescription
rownumber行索引
colnumber列索引

Returns

boolean

是否被选中


isErased

isErased(): boolean

对象是否已经删除

Returns

boolean

Inherited from

McDbCustomEntity.isErased


isHaveExtensionDictionary

isHaveExtensionDictionary(): boolean

是否有扩展字典数据.

Returns

boolean

Inherited from

McDbCustomEntity.isHaveExtensionDictionary


isKindOf

isKindOf(sObjectName): boolean

判断对象类型

Parameters

NameTypeDescription
sObjectNamestring类型名

Returns

boolean

返回对象是否是目标类型

Inherited from

McDbCustomEntity.isKindOf


isMergedCellSelected

isMergedCellSelected(): boolean

检查是否选中了合并的单元格

Returns

boolean


isNull

isNull(): any

判断是否为空对象

Returns

any

Inherited from

McDbCustomEntity.isNull


mergeCells

mergeCells(onSelectionChange?): void

合并选中的单元格

Parameters

NameTypeDescription
onSelectionChange?(cells: { col: number ; row: number }[]) => void可选的选择变更回调

Returns

void


mirror

mirror(point1, point2): boolean

镜向对象

Parameters

NameTypeDescription
point1McGePoint3d镜像基点
point2McGePoint3d-

Returns

boolean

Inherited from

McDbCustomEntity.mirror


move

move(fromPoint, toPoint): boolean

移动对象

Parameters

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

Returns

boolean

Inherited from

McDbCustomEntity.move


moveGripPointsAt

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

移动自定义对象的夹点。

Parameters

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

Returns

void

Example

ts
  import { McDbCustomEntity, MxCADWorldDraw, McDbLine } from 'mxcad';
  // 新创建 McDbTestLineCustomEntity 类继承 McDbCustomEntity
  class McDbTestLineCustomEntity extends McDbCustomEntity {
       // 定义McDbTestLineCustomEntity内部的点对象 pt1、pt2
       private pt1: McGePoint3d = new McGePoint3d();
       private pt2: McGePoint3d = new McGePoint3d();
       // 移动自定义对象的夹点。
       public moveGripPointsAt(iIndex: number, dXOffset: number, dYOffset: number, dZOffset: number) {
           this.assertWrite();
           if (iIndex == 0) {
           this.pt1.x += dXOffset;
           this.pt1.y += dYOffset;
           this.pt1.z += dZOffset;
           }
           else if (iIndex == 1) {
           this.pt2.x += dXOffset;
           this.pt2.y += dYOffset;
           this.pt2.z += dZOffset;
           }
       };
   }

Overrides

McDbCustomEntity.moveGripPointsAt


resetColumnWidth

resetColumnWidth(col): void

重置指定列的宽度为默认值

Parameters

NameTypeDescription
colnumber列索引 (0-based)

Returns

void


resetRowHeight

resetRowHeight(row): void

重置指定行的高度为默认值

Parameters

NameTypeDescription
rownumber行索引 (0-based)

Returns

void


rotate

rotate(basePoint, dRotationAngle): boolean

旋转对象

Parameters

NameTypeDescription
basePointMcGePoint3d旋转基点
dRotationAnglenumber旋转角度

Returns

boolean

Inherited from

McDbCustomEntity.rotate


rxInit

rxInit(): void

自定义实体注册

Returns

void

Example

ts
import { MxFun } from 'mxdraw
// MxCAD创建成功
MxFun.on("mxcadApplicationCreatedMxCADObject", (param) => {
// McDbTestLineCustomEntity 自定义实体
  new McDbTestLineCustomEntity().rxInit();// 自定义实体注册
  MxFun.addCommand("MxTest_DrawCustomEntity");// 注册绘制实体命令
})

Inherited from

McDbCustomEntity.rxInit


scaleEntity

scaleEntity(basePoint, dScaleFactor): boolean

缩放对象

Parameters

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

Returns

boolean

Inherited from

McDbCustomEntity.scaleEntity


setAlignment

setAlignment(alignment, onSelectionChange?): void

设置选中单元格的水平对齐方式

Parameters

NameTypeDescription
alignment"center" | "left" | "right"对齐方式
onSelectionChange?(cells: { col: number ; row: number }[]) => void可选的选择变更回调

Returns

void


setBatchCellAlignment

setBatchCellAlignment(cells, alignment): void

批量设置单元格水平对齐方式

Parameters

NameTypeDescription
cells(string | { col: number ; row: number })[]单元格位置数组 { row, col } 或 A1引用字符串数组
alignment"center" | "left" | "right"水平对齐方式

Returns

void


setBatchCellBackgroundColor

setBatchCellBackgroundColor(cells, color): void

批量设置单元格背景颜色

Parameters

NameTypeDescription
cells(string | { col: number ; row: number })[]单元格位置数组 { row, col } 或 A1引用字符串数组
colorundefined | null | number背景颜色值,null表示删除背景色

Returns

void


setBatchCellBorderLineType

setBatchCellBorderLineType(cells, lineType): void

批量设置单元格边框线型

Parameters

NameTypeDescription
cells(string | { col: number ; row: number })[]单元格位置数组 { row, col } 或 A1引用字符串数组
lineTypestring边框线型(如 "Continuous", "Dashed", "Dotted"等)

Returns

void


setBatchCellBorderLineWeight

setBatchCellBorderLineWeight(cells, lineWeight): void

批量设置单元格边框线宽

Parameters

NameTypeDescription
cells(string | { col: number ; row: number })[]单元格位置数组 { row, col } 或 A1引用字符串数组
lineWeightnumber边框线宽(毫米)

Returns

void


setBatchCellTextAngle

setBatchCellTextAngle(cells, textAngle): void

批量设置单元格文本角度

Parameters

NameTypeDescription
cells(string | { col: number ; row: number })[]单元格位置数组 { row, col } 或 A1引用字符串数组
textAnglenumber文本角度(0-360度)

Returns

void


setBatchCellTextColor

setBatchCellTextColor(cells, color): void

批量设置单元格文本颜色

Parameters

NameTypeDescription
cells(string | { col: number ; row: number })[]单元格位置数组 { row, col } 或 A1引用字符串数组
colorundefined | null | number文本颜色值,null表示删除文本颜色

Returns

void


setBatchCellTextStyle

setBatchCellTextStyle(cells, textStyle): void

批量设置单元格文本样式

Parameters

NameTypeDescription
cells(string | { col: number ; row: number })[]单元格位置数组 { row, col } 或 A1引用字符串数组
textStylestring文本样式名称

Returns

void


setBatchCellVerticalAlignment

setBatchCellVerticalAlignment(cells, verticalAlignment): void

批量设置单元格垂直对齐方式

Parameters

NameTypeDescription
cells(string | { col: number ; row: number })[]单元格位置数组 { row, col } 或 A1引用字符串数组
verticalAlignment"top" | "bottom" | "middle"垂直对齐方式

Returns

void


setCellAlignment

setCellAlignment(row, col, alignment): void

设置单元格水平对齐方式

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)
alignment"center" | "left" | "right"水平对齐方式

Returns

void


setCellAlignmentByRef

setCellAlignmentByRef(cellRef, alignment): boolean

通过A1引用格式设置单元格水平对齐方式

Parameters

NameTypeDescription
cellRefstringA1格式的单元格引用 (例如 "A1", "B2")
alignment"center" | "left" | "right"水平对齐方式

Returns

boolean

是否设置成功


setCellBackgroundColor

setCellBackgroundColor(row, col, color): void

设置单元格背景颜色

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)
colorundefined | null | number背景颜色值 - 支持真彩色:0xRRGGBB,如 0x000000 黑色(RR是红色值,GG是绿色值,BB是蓝色值) - 支持颜色索引:0-255 - 支持ColorMethod.kByLayer(1)表示随层 - 支持ColorMethod.kByBlock(2)表示随块 - 传入null可移除背景颜色

Returns

void


setCellBackgroundColorByRef

setCellBackgroundColorByRef(cellRef, color): boolean

通过A1引用格式设置单元格背景颜色

Parameters

NameTypeDescription
cellRefstringA1格式的单元格引用 (例如 "A1", "B2")
colorundefined | null | number背景颜色值,null表示删除背景色

Returns

boolean

是否设置成功


setCellBorderLineType

setCellBorderLineType(row, col, lineType): void

设置单元格边框线型

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)
lineTypestring边框线型(如 "Continuous", "Dashed", "Dotted"等)

Returns

void


setCellBorderLineTypeByRef

setCellBorderLineTypeByRef(cellRef, lineType): boolean

通过A1引用格式设置单元格边框线型

Parameters

NameTypeDescription
cellRefstringA1格式的单元格引用 (例如 "A1", "B2")
lineTypestring边框线型(如 "Continuous", "Dashed", "Dotted"等)

Returns

boolean

是否设置成功


setCellBorderLineWeight

setCellBorderLineWeight(row, col, lineWeight): void

设置单元格边框线宽

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)
lineWeightnumber边框线宽(毫米)

Returns

void


setCellBorderLineWeightByRef

setCellBorderLineWeightByRef(cellRef, lineWeight): boolean

通过A1引用格式设置单元格边框线宽

Parameters

NameTypeDescription
cellRefstringA1格式的单元格引用 (例如 "A1", "B2")
lineWeightnumber边框线宽(毫米)

Returns

boolean

是否设置成功


setCellTextAngle

setCellTextAngle(row, col, textAngle): void

设置单元格文本角度

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)
textAnglenumber文本角度(0-360度)

Returns

void


setCellTextAngleByRef

setCellTextAngleByRef(cellRef, textAngle): boolean

通过A1引用格式设置单元格文本角度

Parameters

NameTypeDescription
cellRefstringA1格式的单元格引用 (例如 "A1", "B2")
textAnglenumber文本角度(0-360度)

Returns

boolean

是否设置成功


setCellTextColor

setCellTextColor(row, col, color): void

设置单元格文本颜色

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)
colorundefined | null | number文本颜色值 - 支持真彩色:0xRRGGBB,如 0x000000 黑色(RR是红色值,GG是绿色值,BB是蓝色值) - 支持颜色索引:0-255 - 支持ColorMethod.kByLayer(1)表示随层 - 支持ColorMethod.kByBlock(2)表示随块 - 传入null可移除文本颜色

Returns

void


setCellTextColorByRef

setCellTextColorByRef(cellRef, color): boolean

通过A1引用格式设置单元格文本颜色

Parameters

NameTypeDescription
cellRefstringA1格式的单元格引用 (例如 "A1", "B2")
colorundefined | null | number文本颜色值,null表示删除文本颜色

Returns

boolean

是否设置成功


setCellTextStyle

setCellTextStyle(row, col, textStyle): void

设置单元格文本样式

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)
textStylestring文本样式名称

Returns

void


setCellTextStyleByRef

setCellTextStyleByRef(cellRef, textStyle): boolean

通过A1引用格式设置单元格文本样式

Parameters

NameTypeDescription
cellRefstringA1格式的单元格引用 (例如 "A1", "B2")
textStylestring文本样式名称

Returns

boolean

是否设置成功


setCellValue

setCellValue(row, col, value): void

设置指定单元格的值

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)
valueany单元格值(Slate格式或普通文本)

Returns

void


setCellVerticalAlignment

setCellVerticalAlignment(row, col, verticalAlignment): void

设置单元格垂直对齐方式

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)
verticalAlignment"top" | "bottom" | "middle"垂直对齐方式

Returns

void


setCellVerticalAlignmentByRef

setCellVerticalAlignmentByRef(cellRef, verticalAlignment): boolean

通过A1引用格式设置单元格垂直对齐方式

Parameters

NameTypeDescription
cellRefstringA1格式的单元格引用 (例如 "A1", "B2")
verticalAlignment"top" | "bottom" | "middle"垂直对齐方式

Returns

boolean

是否设置成功


setColumnWidth

setColumnWidth(col, width): void

设置指定列的宽度

Parameters

NameTypeDescription
colnumber列索引 (0-based)
widthnumber列宽度(单位与style.colWidth一致)

Returns

void


setFromArray

setFromArray(data): void

Parameters

NameType
dataany[][]

Returns

void


setFromJson

setFromJson(jsonArray): void

Parameters

NameType
jsonArrayany[]

Returns

void


setFromWorkbook

setFromWorkbook(processedData): void

Parameters

NameType
processedDataICellStyleInfo

Returns

void


setJson

setJson(str): boolean

设置 JSON 格式的字符串。

Parameters

NameTypeDescription
strstringJSON 格式的字符串。

Returns

boolean

是否设置成功。

Inherited from

McDbCustomEntity.setJson


setMergeCells

setMergeCells(mergeCells): void

设置合并单元格信息

Parameters

NameType
mergeCellsIMergeCellInfo[]

Returns

void


setRowHeight

setRowHeight(row, height): void

设置指定行的高度

Parameters

NameTypeDescription
rownumber行索引 (0-based)
heightnumber行高度(单位与style.rowHeight一致)

Returns

void


setSelectCellBackgroundColor

setSelectCellBackgroundColor(color, onSelectionChange?): void

设置选中单元格的背景颜色

Parameters

NameTypeDescription
colorundefined | null | number颜色值
onSelectionChange?(cells: { col: number ; row: number }[]) => void可选的选择变更回调

Returns

void


setSelectCellTextColor

setSelectCellTextColor(color, onSelectionChange?): void

设置选中单元格的文本颜色

Parameters

NameTypeDescription
colorundefined | null | number颜色值
onSelectionChange?(cells: { col: number ; row: number }[]) => void可选的选择变更回调

Returns

void


setSelectedCell

setSelectedCell(row, col): void

设置当前选中的单元格

Parameters

NameTypeDescription
rownumber行索引 (0-based)
colnumber列索引 (0-based)

Returns

void


setSelectedCells

setSelectedCells(cells): void

设置多个选中的单元格

Parameters

NameTypeDescription
cells{ col: number ; row: number }[]单元格位置数组 [{row, col}, ...]

Returns

void


setStyle

setStyle(style): void

设置该表格样式

Parameters

NameType
stylePartial<Omit<ITableStyle, "name">>

Returns

void


setVerticalAlignment

setVerticalAlignment(alignment, onSelectionChange?): void

设置选中单元格的垂直对齐方式

Parameters

NameTypeDescription
alignment"top" | "bottom" | "middle"垂直对齐方式
onSelectionChange?(cells: { col: number ; row: number }[]) => void可选的选择变更回调

Returns

void


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

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

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

McDbCustomEntity.setxDataLong


setxDataPoint

setxDataPoint(appName, val): boolean

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

Parameters

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

Returns

boolean

获取结果及三维点对象

Inherited from

McDbCustomEntity.setxDataPoint


setxDataString

setxDataString(appName, val): boolean

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

Parameters

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

Returns

boolean

是否设置成功

Inherited from

McDbCustomEntity.setxDataString


syncData

syncData(toCpp?): boolean

js 对像的数据与McDbCustomEntity::m_mapData的同步。

Parameters

NameTypeDefault value
toCppbooleantrue

Returns

boolean

Inherited from

McDbCustomEntity.syncData


transformBy

transformBy(_mat): boolean

获取自定义对象矩阵坐标变换

Parameters

NameType
_matMcGeMatrix3d

Returns

boolean

Overrides

McDbCustomEntity.transformBy


unErase

unErase(): boolean

反删除对象。

Returns

boolean

Inherited from

McDbCustomEntity.unErase


unMergeCells

unMergeCells(onSelectionChange?): void

取消合并选中的单元格

Parameters

NameTypeDescription
onSelectionChange?(cells: { col: number ; row: number }[]) => void可选的选择变更回调

Returns

void


updateDisplay

updateDisplay(): void

显示调用对象更新显示.

Returns

void

Inherited from

McDbCustomEntity.updateDisplay


worldDraw

worldDraw(draw): void

绘制自定义实体

Parameters

NameType
drawMxCADWorldDraw

Returns

void

Overrides

McDbCustomEntity.worldDraw