Skip to content
On this page

mxcad_2d API 文档 / 2d / MxCADResbuf

Class: MxCADResbuf

2d.MxCADResbuf

MxCADResbuf 类用于操作 AutoCAD 中的 resbuf 数据。

Example

ts
// 筛选图纸中的所有文字对象
  import { MxCADResbuf } from "mxcad"
  // 定义过滤
  const filter = new MxCADResbuf();
  filter.AddMcDbEntityTypes("TEXT,MTEXT");
  // 设置选择,筛选文字对象
  let ss = new MxCADSelectionSet();
  ss.allSelect(filter);
  ss.forEach((id) => {
    let ent: any = id.getMcDbEntity();
    if (!ent) return;
    ent = McDbEntityToJsonObject(ent);
    console.log(JSON.stringify(ent));
  })

Hierarchy

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new MxCADResbuf(imp?)

构造函数。

Example

ts
import { MxCADResbuf, DxfCode } from "mxcad"
// 定义过滤器,过滤实体类型:直线,圆弧,圆,多义线
const filter = new MxCADResbuf([DxfCode.kEntityType, "LINE,ARC,CIRCLE,LWPOLYLINE"]));

Parameters

NameTypeDescription
imp?any内部实现对象。

Overrides

McRxObject.constructor

Properties

imp

imp: any = 0

内部实现对象。

Inherited from

McRxObject.imp

Accessors

dxf0

get dxf0(): string

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

Returns

string

Inherited from

McRxObject.dxf0


objectName

get objectName(): string

获取对象名称。

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
console.log(obj.objectName);

Returns

string

返回对象名

Inherited from

McRxObject.objectName

Methods

AddDouble

AddDouble(val, lDataType?): number

添加 double 类型值到 resbuf 中。

Example

ts
import { MxCADResbuf } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
filter.AddDouble (3.14);

Parameters

NameTypeDefault valueDescription
valnumberundefineddouble 类型值。
lDataTypenumber-10数据类型。

Returns

number

添加的数据项索引。


AddLong

AddLong(val, lDataType?): number

添加 long 类型值到 resbuf 中。

Example

ts
import { MxCADResbuf } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
filter.AddLong (42);

Parameters

NameTypeDefault valueDescription
valnumberundefinedlong 类型值。
lDataTypenumber-10数据类型。

Returns

number

添加的数据项索引。


AddMcDbEntityTypes

AddMcDbEntityTypes(str): any

添加实体类型,用于选择集过滤使用

Description

实体的类型表

类型描述
POINT文字
TEXT文字
MTEXT多行文字
CIRCLE
ARC圆弧
LINE线
LWPOLYLINE多段线
INSERT图块
ELLIPSE椭圆
SPLINE样条线
LinkLine超链接

Example

ts
import { MxCADResbuf } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
filter.AddMcDbEntityTypes ("TEXT,LINE");

Parameters

NameTypeDescription
strstring多个类型用,连接 例如: "TEXT,MTEXT"

Returns

any


AddObject

AddObject(pObj): void

添加 McRxObject 对象到 resbuf 中

Example

ts
import { MxCADResbuf, McRxObject } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf();
filter.AddObject( new McRxObject());

Parameters

NameTypeDescription
pObjMcRxObjectMcRxObject示例对象

Returns

void


AddObjectId

AddObjectId(val, lDataType?): number

添加 ObjectId 到 resbuf 中。

Example

ts
import { MxCADResbuf, McDbObject } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
const objId = new McDbObject();
filter.AddObjectId (objId);

Parameters

NameTypeDefault valueDescription
valnumberundefinedObjectId。
lDataTypenumber-10数据类型。

Returns

number

添加的数据项索引。


AddPoint

AddPoint(pt, lDataType?): number

添加点坐标到 resbuf 中。

Example

ts
import { MxCADResbuf, McGePoint3d } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
filter.AddPoint (new McGePoint3d(10,20,0));

Parameters

NameTypeDefault valueDescription
ptMcGePoint3dundefined点坐标。
lDataTypenumber-10数据类型。

Returns

number

添加的数据项索引。


AddString

AddString(str, lDataType?, decodeFromGb2312?): number

添加字符串到 resbuf 中。

Example

ts
import { MxCADResbuf } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
filter.AddString ("测试字符串");

Parameters

NameTypeDefault valueDescription
strstringundefined字符串。
lDataTypenumber-10数据类型。
decodeFromGb2312booleantrue-

Returns

number

添加的数据项索引。


AtDouble

AtDouble(lItem): Object

获取 resbuf 数据项中的 double 类型值。

Example

ts
import { MxCADResbuf } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
console.log(filter.AtDouble(0))

Parameters

NameTypeDescription
lItemnumber数据项索引。

Returns

Object

包含 double 类型值和返回值的对象。

NameType
retboolean
valnumber

AtLong

AtLong(lItem): Object

获取 resbuf 数据项中的 long 类型值。

Example

ts
import { MxCADResbuf } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
console.log(filter.AtLong(0))

Parameters

NameTypeDescription
lItemnumber数据项索引。

Returns

Object

包含 long 类型值和返回值的对象。

NameType
retboolean
valnumber

AtObject

AtObject(lItem): Object

获取 resbuf 数据项中的 McRxObject 对象。

Example

ts
import { MxCADResbuf } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
console.log(filter.AtObject(0))

Parameters

NameTypeDescription
lItemnumber数据项索引。

Returns

Object

包含 数据库对象和返回值的对象。

NameType
retboolean
valundefined | McDbObject

AtObjectId

AtObjectId(lItem): Object

获取 resbuf 数据项中的 ObjectId。

Example

ts
import { MxCADResbuf } from "mxcad

const filter = new MxCADResbuf();
console.log(filter.AtObjectId(0))

Parameters

NameTypeDescription
lItemnumber数据项索引。

Returns

Object

包含 ObjectId 和返回值的对象。

NameType
retboolean
valMcObjectId

AtPoint

AtPoint(lItem): Object

获取 resbuf 数据项中的点坐标。

Example

ts
import { MxCADResbuf } from "mxcad

const filter = new MxCADResbuf();
console.log(filter.AtPoint(0))

Parameters

NameTypeDescription
lItemnumber数据项索引。

Returns

Object

包含点坐标和返回值的对象。

NameType
retboolean
valMcGePoint3d

AtString

AtString(lItem, decodeFromGb2312?): Object

获取 resbuf 数据项中的字符串。

Example

ts
import { MxCADResbuf } from "mxcad

const filter = new MxCADResbuf();
console.log(filter.AtString(0))

Parameters

NameTypeDefault valueDescription
lItemnumberundefined数据项索引。
decodeFromGb2312booleantrue-

Returns

Object

包含字符串和返回值的对象。

NameType
retboolean
valstring

Clear

Clear(): void

清空 resbuf 数据。

Example

ts
import { MxCADResbuf } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
filter.AddMcDbEntityTypes("TEXT,MTEXT");
filter.Clear();
console.log(filter.GetCount())//输出0

Returns

void


GetCount

GetCount(): number

获取 resbuf 数据项个数。

Example

ts
import { MxCADResbuf } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
console.log(filter.GetCount())//输出0

Returns

number

resbuf 数据项个数。


ItemDataDxf

ItemDataDxf(index): number

获取 resbuf 数据项中的数据的DXF值

Example

ts
import { MxCADResbuf } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
console.log(filter.ItemDataDxf(0))

Parameters

NameTypeDescription
indexnumber索引值

Returns

number

DXF值


ItemDataType

ItemDataType(index): number

获取 resbuf 数据项中的数据类型。

Example

ts
import { MxCADResbuf } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
console.log(filter.ItemDataType(0))

Parameters

NameTypeDescription
indexnumber索引值

Returns

number

数据类型。


PrintData

PrintData(): void

调试输入信息

Example

ts
import { MxCADResbuf } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
filter.PrintData("调试信息")

Returns

void


Remove

Remove(lItem): void

移除指定索引的 resbuf 数据项。

Example

ts
import { MxCADResbuf } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
filter.AtLong (42);
filter.Remove(0);

Parameters

NameTypeDescription
lItemnumber数据项索引。

Returns

void


RemoveAll

RemoveAll(): void

移除所有 resbuf 数据项。

Example

ts
import { MxCADResbuf } from "mxcad"
// 定义过滤器
const filter = new MxCADResbuf()
filter.AtLong (42);
filter.RemoveAll();

Returns

void


forEach

forEach(call): void

遍历数据。

Example

ts
import {MxCADResbuf} from "mxcad"

  //创建MxCADResbuf实例
  const cadResbuf = new MxCADResbuf();
  cadResbuf.AddPoint(new McGePoint3d(1,2,3));//添加一个point元素
  cadResbuf.AddString(“Hello”);//添加一个字符串元素
  cadResbuf.AddDouble (3.14);//添加双精度型数据
  cadResbuf.AddLong (42);//添加一个整型数据

  //迭代CAD Resbuf实例中的元素
  cadResbuf.forEach((val, type, dxf)=>{
   console.log("值:",val);
   console.log("类型:",type);
   console.log("DXF:",DXF);
   });
   //输出:
   //值:{x: 1, y: 2, z: 3}
   //类型:5009
   // dxf: 10
   //值:Hello
   //类型:5005
   // dxf: 10
   //取值:3.14
   //类型:5001
   // dxf: 10
   //取值:42
   //类型:5010
   // dxf: 10

Parameters

NameTypeDescription
call(val: any, type: number, dxf: number, index: number) => void接受3个参数的回调函数(val:元素的值,type:元素类型,dxf:元素的数据交换格式)

Returns

void


getImp

getImp(): any

获取内部实现对象。

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
let imp = obj.getImp();

Returns

any

内部实现对象。

Inherited from

McRxObject.getImp


getJson

getJson(): string

获取 JSON 格式的字符串。

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
const json = obj.getJson()

Returns

string

JSON 格式的字符串。

Inherited from

McRxObject.getJson


initTempObject

initTempObject(imp): void

初始化临时对象。

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
obj.initTempObject()

Parameters

NameTypeDescription
impany内部实现对象。

Returns

void

Inherited from

McRxObject.initTempObject


isKindOf

isKindOf(sObjectName): boolean

判断对象类型

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
let isKind = obj.isKindOf('SomeObjectType');
console.log(isKind); // 输出: true 或 false

Parameters

NameTypeDescription
sObjectNamestring类型名

Returns

boolean

返回对象是否是目标类型

Inherited from

McRxObject.isKindOf


isNull

isNull(): any

判断是否为空对象

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
console.log(obj.isNull()); // 输出: true 或 false

Returns

any

Inherited from

McRxObject.isNull


setJson

setJson(str): boolean

设置 JSON 格式的字符串。

Example

ts
import { McRxObject } from 'mxcad';

let obj = new McRxObject();
const res = obj.setJson('{"key": "value"}');
console.log(res)

Parameters

NameTypeDescription
strstringJSON 格式的字符串。

Returns

boolean

是否设置成功。

Inherited from

McRxObject.setJson