Skip to content

mxcad_2d API 文档 / 2d / McDbDimStyleTableRecord

Class: McDbDimStyleTableRecord ​

2d.McDbDimStyleTableRecord

McDbDimStyleTableRecord 是标注样式表中的单条记录,负责保存和管理尺寸标注样式参数。

Description

该类用于描述一套尺寸标注样式,包括文字、箭头、尺寸线和单位相关参数。 通过它可以完成:

  • 读取和设置标注样式名称;
  • 修改尺寸变量的 int / double / string / ObjectId 属性;
  • 配置块引用样式(Dimblk、Dimblk1、Dimblk2 等);
  • 作为标注样式表中的记录对象参与尺寸样式管理。

使用方式:

  1. 创建 McDbDimStyleTableRecord 实例;
  2. 调用 getDimVar* / setDimVar* 设置样式参数;
  3. 将该记录添加到标注样式表中;
  4. 应用到具体的标注对象中。

具体样式参数的设置可参考 McObject.addDimStyle 中的注释说明,addDimStyle 最终也是按 DIM 系统变量分组写入:

  • double 型参数:如 dimscale、dimtxt、dimasz、dimexo、dimexe、dimrnd、dimdli 等;
  • int 型参数:如 dimadec、dimalt、dimclrd、dimclre、dimclrt、dimfit、dimjust、dimtol、dimzin 等;
  • string 型参数:如 dimpost、dimapost;
  • ObjectId 型参数:如 dimtxsty、dimblk、dimblk1、dimblk2、dimldrblk;

也就是说,McDbDimStyleTableRecord 中的 setDimVarDouble(type, value)、setDimVarInt(type, value)、 setDimVarString(type, value) 和 setDimVarObjectId(type, value) 与 addDimStyle(pszName, pszDoubleData, pszIntData, pszStringData, pszIdData) 中的参数分组完全对应。调用时可直接使用注释里列出的系统变量编号和含义。

例如:

  • setDimVarDouble(40, 200) 等价于设置 dimscale = 200;
  • setDimVarDouble(41, 0.18) 等价于设置 dimasz = 0.18;
  • setDimVarInt(77, 1) 等价于设置 dimtol = 1;
  • setDimVarInt(271, 3) 等价于设置 dimdec = 3;
  • setDimVarString(3, "%%c<>") 等价于设置 dimpost = "%%c<>";
  • setDimVarObjectId(340, textId) 等价于设置 dimtxsty = textId。

总结:在实际开发中,McDbDimStyleTableRecord 是尺寸风格统一管理的核心对象,适合控制尺寸样式、箭头和文本参数。

Example

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

// 创建并设置尺寸标注样式记录。
async function testDimStyleRecord() {
  const mxcad = MxCpp.getCurrentMxCAD();
  const table = mxcad.getDatabase().getDimStyleTable();
  const rec = new McDbDimStyleTableRecord();
  rec.name = "MyDimStyle";
  rec.setDimVarDouble(40, 200);   // dimscale
  rec.setDimVarDouble(41, 0.18);  // dimasz
  rec.setDimVarInt(77, 1);        // dimtol
  rec.setDimVarInt(271, 3);       // dimdec
  rec.setDimVarString(3, "%%c<>"); // dimpost
  table.add(rec);
}

Hierarchy ​

Table of contents ​

Constructors ​

Properties ​

Accessors ​

Methods ​

Constructors ​

constructor ​

• new McDbDimStyleTableRecord(imp?)

构造函数。

Parameters ​

NameTypeDescription
imp?any内部实现对象。

Overrides ​

McDbObject.constructor

Properties ​

imp ​

• imp: any = 0

内部实现对象。

Inherited from ​

McDbObject.imp

Accessors ​

dxf0 ​

• get dxf0(): string

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

Returns ​

string

Inherited from ​

McDbObject.dxf0


name ​

• get name(): string

获取或设置标注样式名称。

Returns ​

string

• set name(val): void

Parameters ​

NameType
valstring

Returns ​

void


objectName ​

• get objectName(): string

获取对象名称。

Returns ​

string

返回对象名

Inherited from ​

McDbObject.objectName

Methods ​

assertObjectModification ​

▸ assertObjectModification(autoUndo?): number

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

Parameters ​

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

Returns ​

number

Inherited from ​

McDbObject.assertObjectModification


clone ​

▸ clone(): null | McDbObject

克隆对象。

Returns ​

null | McDbObject

克隆出的对象。

Inherited from ​

McDbObject.clone


createExtensionDictionary ​

▸ createExtensionDictionary(): boolean

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

Returns ​

boolean

Inherited from ​

McDbObject.createExtensionDictionary


erase ​

▸ erase(): boolean

删除对象。

Returns ​

boolean

是否删除成功。

Inherited from ​

McDbObject.erase


getDatabase ​

▸ getDatabase(): McDbDatabase

得到对象所在的数据库

Returns ​

McDbDatabase

返回数据库

Inherited from ​

McDbObject.getDatabase


getDatabaseIndexId ​

▸ getDatabaseIndexId(): number

获取对象的索引ID

Returns ​

number

Inherited from ​

McDbObject.getDatabaseIndexId


getDimVarDouble ​

▸ getDimVarDouble(type): number

得到标注样式的double类型的属性。

Parameters ​

NameType
typenumber

Returns ​

number


getDimVarInt ​

▸ getDimVarInt(type): number

得到标注样式的整数类型的属性。

Parameters ​

NameType
typenumber

Returns ​

number


getDimVarObjectId ​

▸ getDimVarObjectId(type): McObjectId

得到标注样式的整数类型的属性。

Parameters ​

NameType
typenumber

Returns ​

McObjectId


getDimVarString ​

▸ getDimVarString(type): string

得到标注样式的string类型的属性。

Parameters ​

NameType
typenumber

Returns ​

string


getDimblk ​

▸ getDimblk(): string

得到标注样式的Dimblk属性。

Returns ​

string


getDimblk1 ​

▸ getDimblk1(): string

得到标注样式的Dimblk1属性。

Returns ​

string


getDimblk2 ​

▸ getDimblk2(): string

得到标注样式的Dimblk2属性。

Returns ​

string


getDimldrblk ​

▸ getDimldrblk(): string

得到标注样式的Dimldrblk属性。

Returns ​

string


getExtensionDictionary ​

▸ getExtensionDictionary(): McDbDictionary

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

Returns ​

McDbDictionary

扩展字典数据

Inherited from ​

McDbObject.getExtensionDictionary


getGripEditBasePointsIndex ​

▸ getGripEditBasePointsIndex(): number[]

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

Returns ​

number[]

Inherited from ​

McDbObject.getGripEditBasePointsIndex


getGripPoints ​

▸ getGripPoints(): McGePoint3dArray

获取对象的夹点数组

Returns ​

McGePoint3dArray

Inherited from ​

McDbObject.getGripPoints


getHandle ​

▸ getHandle(): string

得到对象句柄

Returns ​

string

返回对象句柄

Inherited from ​

McDbObject.getHandle


getImp ​

▸ getImp(): any

获取内部实现对象。

Returns ​

any

内部实现对象。

Inherited from ​

McDbObject.getImp


getJson ​

▸ getJson(): string

获取 JSON 格式的字符串。

Returns ​

string

JSON 格式的字符串。

Inherited from ​

McDbObject.getJson


getObjectID ​

▸ getObjectID(): McObjectId

获取对象 ID。

Returns ​

McObjectId

对象 ID。

Inherited from ​

McDbObject.getObjectID


getOwnerID ​

▸ getOwnerID(): number

得到对象拥用者的id

Returns ​

number

Inherited from ​

McDbObject.getOwnerID


initTempObject ​

▸ initTempObject(imp): void

初始化临时对象。

Parameters ​

NameTypeDescription
impany内部实现对象。

Returns ​

void

Inherited from ​

McDbObject.initTempObject


isErased ​

▸ isErased(): boolean

对象是否已经删除

Returns ​

boolean

Inherited from ​

McDbObject.isErased


isHaveExtensionDictionary ​

▸ isHaveExtensionDictionary(): boolean

是否有扩展字典数据.

Returns ​

boolean

Inherited from ​

McDbObject.isHaveExtensionDictionary


isKindOf ​

▸ isKindOf(sObjectName): boolean

判断对象类型

Parameters ​

NameTypeDescription
sObjectNamestring类型名

Returns ​

boolean

返回对象是否是目标类型

Inherited from ​

McDbObject.isKindOf


isNull ​

▸ isNull(): any

判断是否为空对象

Returns ​

any

Inherited from ​

McDbObject.isNull


moveGripPointsAt ​

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

移动对象的夹点

Parameters ​

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

Returns ​

any

Inherited from ​

McDbObject.moveGripPointsAt


setDimVarDouble ​

▸ setDimVarDouble(type, value): boolean

设置标注样式的double类型的属性。

Parameters ​

NameType
typenumber
valuenumber

Returns ​

boolean


setDimVarInt ​

▸ setDimVarInt(type, value): boolean

设置标注样式的整数类型的属性。

Parameters ​

NameType
typenumber
valuenumber

Returns ​

boolean


setDimVarObjectId ​

▸ setDimVarObjectId(type, value): boolean

设置标注样式的整数类型的属性。

Parameters ​

NameType
typenumber
valueMcObjectId

Returns ​

boolean


setDimVarString ​

▸ setDimVarString(type, value): boolean

设置标注样式的string类型的属性。

Parameters ​

NameType
typenumber
valuestring

Returns ​

boolean


setDimblk ​

▸ setDimblk(value): boolean

设置标注样式的Dimblk属性。

Parameters ​

NameType
valuestring

Returns ​

boolean


setDimblk1 ​

▸ setDimblk1(value): boolean

设置标注样式的Dimblk1属性。

Parameters ​

NameType
valuestring

Returns ​

boolean


setDimblk2 ​

▸ setDimblk2(value): boolean

设置标注样式的Dimblk2属性。

Parameters ​

NameType
valuestring

Returns ​

boolean


setDimldrblk ​

▸ setDimldrblk(value): boolean

设置标注样式的Dimblk属性。

Parameters ​

NameType
valuestring

Returns ​

boolean


setJson ​

▸ setJson(str): boolean

设置 JSON 格式的字符串。

Parameters ​

NameTypeDescription
strstringJSON 格式的字符串。

Returns ​

boolean

是否设置成功。

Inherited from ​

McDbObject.setJson


unErase ​

▸ unErase(): boolean

反删除对象。

Returns ​

boolean

Inherited from ​

McDbObject.unErase