Skip to content
On this page

mxcad_2d API 文档 / 2d / McObject

Class: McObject

2d.McObject

McObject 类, 封装了与 MxCAD 对象相关的功能,并提供了一些方法来操作和管理这些功能

Table of contents

Constructors

Accessors

Methods

Constructors

constructor

new McObject(imp?)

构造函数

Example

ts
import { McObject } from 'mxcad'

const mxcad = new McObject;

Parameters

NameTypeDescription
imp?any对象实现

Accessors

database

get database(): McDbDatabase

返回数据库对象

Returns

McDbDatabase


drawColor

get drawColor(): McCmColor

获取绘制颜色

Returns

McCmColor

返回绘制颜色

set drawColor(val): void

设置绘制颜色

Example

ts
import { MxCpp, McObject } from 'mxcad';
const mxcad:McObject = MxCpp.App.getCurrentMxCAD();
mxcad.drawColor = new McCmColor(0, 0, 255);

Parameters

NameTypeDescription
valMcCmColor绘制颜色

Returns

void


drawColorIndex

get drawColorIndex(): number

设置绘制颜色索引

Returns

number

val 颜色索引类型

set drawColorIndex(val): void

设置绘制颜色索引

Example

ts
import { MxCpp, ColorIndexType, McObject } from "mxcad" ;
const mxcad:McObject = MxCpp.App.getCurrentMxCAD();
mxcad.drawColorIndex = ColorIndexType.kMagenta;

Parameters

NameTypeDescription
valnumber颜色索引类型

Returns

void


drawDimStyle

get drawDimStyle(): string

获取当前绘制的标注样式

Returns

string

set drawDimStyle(val): void

设置当前绘制的标注样式

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.drawDimStyle = "MyDimStyle2"

Parameters

NameTypeDescription
valstring样式名称

Returns

void


drawLayer

get drawLayer(): string

获取绘制图层

Returns

string

返回绘制图层

set drawLayer(val): void

设置绘制图层

Example

ts
import { MxCpp, McObject } from 'mxcad'
  const mxcad:McObject = MxCpp.getCurrentMxCAD();
   mxcad.drawLayer = "MtextLayer";

Parameters

NameTypeDescription
valstring绘制图层

Returns

void


drawLineTypeScale

get drawLineTypeScale(): number

获取绘制线型比例

Returns

number

返回绘制线型比例

set drawLineTypeScale(val): void

设置绘制线型比例

Parameters

NameTypeDescription
valnumber绘制线型比例

Returns

void


drawLineWeight

get drawLineWeight(): LineWeight

获取绘制线宽

Returns

LineWeight

返回绘制线宽

set drawLineWeight(val): void

设置绘制线宽

Example

ts
import { MxCpp, McDb, McObject } from "mxcad" ;

const mxcad: McObject = MxCpp.App.getCurrentMxCAD();
mxcad.drawLineWeight(McDb.LineWeight.kLnWtByLayer)

Parameters

NameTypeDescription
valLineWeight绘制线宽

Returns

void


drawLineWidth

get drawLineWidth(): number

获取当前绘制的线宽

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad: McObject = MxCpp.getCurrentMxCAD()
mxcad.drawLineWidth = 4;

Returns

number

set drawLineWidth(val): void

设置当前绘制的线宽

Parameters

NameTypeDescription
valnumber线宽

Returns

void


drawLinetype

get drawLinetype(): string

获取绘制线型

Returns

string

返回绘制线型

set drawLinetype(val): void

设置绘制线型

Example

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

const mxcad: McObject = MxCpp.App.getCurrentMxCAD();
mxcad.addLinetype("MyLineType3", "30,-10");
mxcad.drawLinetype = "MyLineType3";

Parameters

NameTypeDescription
valstring绘制线型

Returns

void


drawPatternDefinition

get drawPatternDefinition(): string

获取当前绘制的线型定义

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad: McObject = MxCpp.getCurrentMxCAD()
mxcad.drawPatternDefinition = "MyHatchPattern1";

Returns

string

set drawPatternDefinition(val): void

设置当前绘制的线型定义

Parameters

NameTypeDescription
valstring线型定义

Returns

void


drawTextStyle

get drawTextStyle(): string

获取绘制文字样式

Returns

string

返回绘制文字样式

set drawTextStyle(val): void

设置绘制文字样式

Example

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

const mxcad: McObject = MxCpp.App.getCurrentMxCAD();
mxcad.addTextStyle("MyTextStyle", "italicc.shx", "gbcbig.shx", 0.7);
mxcad.drawTextStyle = "MyTextStyle";

Parameters

NameTypeDescription
valstring绘制文字样式

Returns

void


drawUseDefaultProperties

get drawUseDefaultProperties(): boolean

返回调用draw开头的绘图数,使用数据库的当前默认属性。

Returns

boolean

set drawUseDefaultProperties(val): void

设置调用draw开头的绘图数,使用数据库的当前默认属性

Parameters

NameTypeDescription
valboolean线宽

Returns

void


mxdraw

get mxdraw(): MxDrawObject

返回与MxCAD对象绑定的MxDraw对象。

Example

  • ts
    * import { McObject } from 'mxcad'
    * 
    * const mxcad = new McObject()
    * const mxdraw = mxcad.mxdraw
    * ```

Returns

MxDrawObject

MxDraw对象 *

Methods

AddTureTypeTextStyle

AddTureTypeTextStyle(sName, sTrueTypeFontName?, dXScale?): McObjectId

添加使用TrueType字体的文字样式

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.AddTureTypeTextStyle("MyTrueTypeTextStyle");

Parameters

NameTypeDefault valueDescription
sNamestringundefined-
sTrueTypeFontNamestring""TrueType字体名,为空使用默认TrueType字体.
dXScalenumber1.0X 方向缩放比例

Returns

McObjectId


addCurrentSelect

addCurrentSelect(id, isDisplayGrid?): void

把对象添加当前选择中

Example

typescript
import { MxCpp, McObject } from "mxcad"
let mxcad:McObject = MxCpp.getCurrentMxCAD();
let id = mxcad.drawLine(0,0,1000,1000);
mxcad.addCurrentSelect(id);

Parameters

NameTypeDefault valueDescription
idMcObjectId | McObjectId[]undefined对象id
isDisplayGridbooleantrue-

Returns

void

void


addDimStyle

addDimStyle(pszName, pszDoubleData, pszIntData, pszStringData, pszIdData): McObjectId

添加标注样式

Description

pszDoubleData 双精度型数据

系统变量功能说明
dimaltf143控制换算单位的乘数
dimasz41控制尺寸线和引线箭头的大小。并控制基线的大小。
dimcen141控制圆或圆弧圆心标记以及中心线的绘制。
dimdle46当使用小斜线代替箭头进行标注时,设置尺寸线超出尺寸界线的距离。
dimdli43控制基线标注中尺寸线的间距。
dimexe44将命名标注样式及其设置输出到外部文件。
dimexo42指定尺寸界线偏离原点的距离。
dimgap147设置当打断尺寸线以符合标注文字时,标注文字周围的距离。
dimlfac144为线性标注测量值设置比例因子。
dimrnd45将所有标注距离舍入为指定值。
dimscale40设置应用于标注变量(用于指定尺寸、距离或偏移量)的全局比例因子。
dimtfac146与通过 DIMTXT 系统变量设置一样,指定分数和公差值的文字高度相对于标注文字高度的比例因子。
dimtm48为标注文字设置最小(即最低)公差限制。
dimtp47为标注文字设置最大(即最高)公差限制。
dimtsz142指定线性标注、半径标注以及直径标注中绘制的代替箭头的小斜线的尺寸。
dimtvp145控制标注文字在尺寸线上方或下方的垂直位置。
dimtxt140指定标注文字的高度(除非当前文字样式具有固定的高度)。
dimaltrnd148舍入换算标注单位。

Description

pszIntData 整型数据

系统变量功能说明
dimadec179控制角度标注中显示的精度小数位数。
dimalt170控制标注中换算单位的显示。
dimaltd171控制换算单位中的小数位数。
dimalttd274设置换算标注单位中的公差值的小数位数。
dimalttz286控制对公差值的消零处理。
dimaltu273为所有标注子样式(角度标注除外)的换算单位设定单位格式。
dimaltz285控制对换算单位标注值的消零处理。
dimaunit275为角度标注设定单位格式。
dimclrd176为尺寸线、箭头和标注引线指定颜色。
dimclre177为尺寸界线、圆心标记和中心线指定颜色。
dimclrt178为标注文字指定颜色。
dimdec271设置标注主单位中显示的小数位数。
dimfit287尺寸界线内的空间不足以同时放下标注文字和箭头时,此系统变量将确定这两者的排列方式。
dimjust280控制标注文字的水平位置。
dimlim72生成标注界限作为默认文字。
dimsah173控制尺寸线箭头块的显示。
dimsd1281控制是否隐去第一条尺寸线和箭头。
dimsd2282控制是否隐去第二条尺寸线和箭头。
dimse175控制是否隐去第一条尺寸界线。
dimse276控制是否隐去第二条尺寸界线。
dimsoxd175如果尺寸界线内没有足够的空间,则隐去箭头。
dimtad77控制文字相对于尺寸线的垂直位置。
dimtdec272设置标注主单位的公差值中显示的小数位数。
dimtih73控制所有标注类型(坐标标注除外)的标注文字在尺寸界线内的位置。
dimtix174在尺寸界线之间绘制文字。
dimtofl172控制是否在尺寸界线之间绘制尺寸线(即使标注文字被放置在尺寸界线之外)。
dimtoh74控制标注文字在尺寸界线外的位置。
dimtol71将公差附在标注文字中。
dimtolj283设置公差值相对于表面标注文字的垂直对正方式。
dimzin78控制针对主单位值的消零处理。
dimupt288控制用户定位文字的选项。
dimtzin284控制对公差值的消零处理。
dimfrac276设置分数格式。
dimlunit277为所有标注类型(角度标注除外)设置单位。
dimatfit289尺寸界线内的空间不足以同时放下标注文字和箭头时,此系统变量将确定这两者的排列方式。
dimtmove279设置标注文字的移动规则。
dimazin79针对角度标注进行消零处理。

Description

pszStringData 字符串型数据

系统变量功能说明
dimapost4指定用于所有标注类型(角度标注除外)的换算标注测量值的文字前缀或后缀(或两者都指定)。
dimpost3为标注测量值指定文字前缀或后缀(或两者)。

Description

pszIdData ID 型数据

系统变量功能说明
dimblk342为尺寸线的第二个端点设置箭头 。
dimblk1343为尺寸线的第一个端点设置箭头。
dimblk2344为尺寸线的第二个端点设置箭头。
dimldrblk341指定引线箭头的类型。
dimtxsty340指定标注的文字样式。

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD();

// MyDimStyle2:样式名称
// "41,0.18,141,0.09,40,200":双精度型数据
// "77,1,271,3": 整型数据
// 其中数值两两一组,如 "41,0.18":dimasz系统变量值设置为0.18;"77,1":dimtad系统变量值设置为1
mxcad.addDimStyle("MyDimStyle2", "41,0.18,141,0.09,40,200", "77,1,271,3", "", "");
增加一个%%c前缀 '3,"%%c<>"'
mxcad.addDimStyle("MyDimStyle", "41,0.18,141,0.09,40,200", "77,1,271,3", '3,"%%c<>"', `340,${textId.id}`);

Parameters

NameTypeDescription
pszNamestring样式名称
pszDoubleDatastring双精度型数据
pszIntDatastring整型数据
pszStringDatastring字符串型数据
pszIdDatastringID 型数据

Returns

McObjectId


addImageDefine

addImageDefine(imageUrl, sName?, isConvertBase64?): McObjectId

添加一个图片定义到cad数据库中 。

Example

ts
import { MxCpp, McObject } from "mxcad"
   let mxcad:McObject = MxCpp.getCurrentMxCAD();
   let imagUrl = "https://cdn.pixabay.com/photo/2022/11/15/12/23/winter-7593872_960_720.jpg";
   mxcad.loadImage(imagUrl, (imagedata) => {
       if (!imagedata) {
           console.log("loadImage failed");
           return;
       }
       let imagedefid = mxcad.addImageDefine(imagUrl,"winter-7593872_960_720.jpg",true);
       mxcad.updateDisplay();
   });

Parameters

NameTypeDefault valueDescription
imageUrlstringundefined图片路径
sNamestring""图片定义名称
isConvertBase64booleanfalse-

Returns

McObjectId


addLayer

addLayer(string): McObjectId

添加图层

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.addLayer("图层名称")

Parameters

NameType
stringstring

Returns

McObjectId


addLinetype

addLinetype(sName, sLineDefine): McObjectId

添加线型

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
//定义虚线数据据,"MyLineType"是线型名,"6,-8"是虚线的一个单位定义,6是实线长,-8是空格长。
mxcad.addLinetype("MyLineType", "6,-10");

Parameters

NameType
sNamestring
sLineDefinestring

Returns

McObjectId


addLinetypeEx

addLinetypeEx(sName, sLineDefine, sTextStyle?): McObjectId

添加线型

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
let lintype = mxcad.addLinetypeEx("TestMyLine", '.5,-.2,["HW",STANDARD,S=.1,R=0.0,X=-0.1,Y=-.05],-.2', "");

Parameters

NameTypeDefault value
sNamestringundefined
sLineDefinestringundefined
sTextStylestring""

Returns

McObjectId


addPatternDefinition

addPatternDefinition(sName, sDefinitionData): void

增加一个图案定义

Example

ts
import { MxCpp, McObject } from "mxcad"
   const mxcad:McObject = MxCpp.getCurrentMxCAD()
   //angle, x-origin,y-origin, delta-x,delta-y,dash-1,dash-2, …
   //45 = angle 是图案线角度.
   //0 = x-origin 是第一个填充线经过的点位置X坐标
   //0 = y-origin 是第一个填充线经过的点位置Y坐标
   //0 = delta-x   是下一个填充线相对前一个线的X方向偏移
   //0.125 = delta-y   是下一个填充线相对前一个线的Y方向偏移
   mxcad.addPatternDefinition("MyHatchPattern1", "((45, 0,0, 0,0.125))");

Parameters

NameTypeDescription
sNamestring图案名称
sDefinitionDatastring图案默认定义数据

Returns

void


addSystemVarNameForEvent

addSystemVarNameForEvent(aryVarName): void

添加一个系统变量名,用于变量对像修改后,事件通知. 变量对像修改事件名:sysVarChanged

Parameters

NameType
aryVarNamestring[]

Returns

void


addTextStyle

addTextStyle(sName, sFileName, sBigFontFileName, dXScale?): McObjectId

添加文字样式

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD() 
mxcad.addTextStyle("MyLineTypeTextStyle", "txt.shx", "hztxt.shx", 1);

Parameters

NameTypeDefault valueDescription
sNamestringundefined-
sFileNamestringundefined-
sBigFontFileNamestringundefined-
dXScalenumber1.0X 方向缩放比例

Returns

McObjectId


callEvent

callEvent(sEventName, param?): boolean

触发一个系统事件的调用

Example

ts
import { MxCpp, McObject } from "mxcad"

const mxcad:McObject = MxCpp.getCurrentMxCAD();
mxcad.callEvent("init");

Parameters

NameTypeDescription
sEventNamestring-
param?any事件参数

Returns

boolean


clearDwgBackground

clearDwgBackground(): void

清除背景绘制对象

Returns

void


clearMxCurrentSelect

clearMxCurrentSelect(): void

清除当前所有选择

#### Returns

`void`

___

### create

▸ **create**(`config`): `void`

创建mxcad对象 。

**`Example`**

```ts
import { McObject } from "mxcad"

   // 创建mxcad示例对象
   const mxcad = new McObject()
   mxcad.create({
       // canvas元素的id
       canvas: "#myCanvas",
       // 获取加载wasm相关文件(wasm/js/worker.js)路径位置
       locateFile: (fileName)=> new URL(`/node_modules/mxcad/dist/wasm/2d/${fileName}`, import.meta.url).href,
       // 需要初始化打开的文件url路径
       fileUrl: new URL("../src/assets/test.mxweb", import.meta.url).href,
       // 提供加载字体的目录路径
       fontspath:  new URL("node_modules/mxcad/dist/fonts", import.meta.url).href,
   })

Parameters

NameTypeDescription
configMxCadConfigcreateMxCad 的参数配置

Returns

void


destroyObject

destroyObject(pObjectImp): void

销毁指定的 McRxObjectImp 对象

Parameters

NameTypeDescription
pObjectImpMcRxObjectImp待销毁的 McRxObjectImp 对象

Returns

void


drawArc

drawArc(dCenterX, dCenterY, dRadius, dStartAng, dEndAng): McObjectId

绘制圆弧

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad: McObject = MxCpp.getCurrentMxCAD()
mxcad.drawArc(300, 1000, 100, 30, 200);

Parameters

NameTypeDescription
dCenterXnumber圆心 X 坐标
dCenterYnumber圆心 Y 坐标
dRadiusnumber半径
dStartAngnumber起始角度,单位为弧度
dEndAngnumber结束角度,单位为弧度

Returns

McObjectId

成功返回 1,失败返回 0


drawArc2

drawArc2(dStartPointX, dStartPointY, dMidPointX, dMidPointY, dEndPointX, dEndPointY): McObjectId

绘制圆弧

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
//由圆弧上三个点绘制圆弧
mxcad.drawArc2(800, 1000, 900, 1200, 1000, 900);

Parameters

NameTypeDescription
dStartPointXnumber起始点 X 坐标
dStartPointYnumber起始点 Y 坐标
dMidPointXnumber中间点 X 坐标
dMidPointYnumber中间点 Y 坐标
dEndPointXnumber结束点 X 坐标
dEndPointYnumber结束点 Y 坐标

Returns

McObjectId


drawArc3

drawArc3(dStartPointX, dStartPointY, dEndPointX, dEndPointY, dBulge): McObjectId

绘制圆弧

Example

ts
import { MxCpp, McObject } from "mxcad"
  const mxcad:McObject = MxCpp.getCurrentMxCAD()
  //由圆弧上的开始点,结束度和凸度会圆弧
  mxcad.drawLineWidth = 40;
  mxcad.drawArc3(1200, 1000, 1400, 1000, 0.6);

Parameters

NameTypeDescription
dStartPointXnumber起始点 X 坐标
dStartPointYnumber起始点 Y 坐标
dEndPointXnumber结束点 X 坐标
dEndPointYnumber结束点 Y 坐标
dBulgenumber凸度

Returns

McObjectId


drawBlockReference

drawBlockReference(dPosX, dPosY, sBlkName, dScale, dAng): McObjectId

绘制块参照

Parameters

NameTypeDescription
dPosXnumber参照位置 X 坐标
dPosYnumber参照位置 Y 坐标
sBlkNamestring-
dScalenumber缩放比例
dAngnumber旋转角度,单位为弧度

Returns

McObjectId

块对象id


drawCircle

drawCircle(dCenterX, dCenterY, dRadius): McObjectId

绘制圆

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD(
mxcad.drawCircle(0, 0, 120);

Parameters

NameTypeDescription
dCenterXnumber圆心 X 坐标
dCenterYnumber圆心 Y 坐标
dRadiusnumber半径

Returns

McObjectId


drawDimAligned

drawDimAligned(dExtLine1PointX, dExtLine1PointY, dExtLine2PointX, dExtLine2PointY, dTextPositionX, dTextPositionY): McObjectId

绘制对齐标注

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.drawDimAligned(0, 4000, 300, 4500, 150, 4600);

Parameters

NameTypeDescription
dExtLine1PointXnumber第一条尺线起点 X 坐标
dExtLine1PointYnumber第一条尺线起点 Y 坐标
dExtLine2PointXnumber第二条尺线起点 X 坐标
dExtLine2PointYnumber第二条尺线起点 Y 坐标
dTextPositionXnumber文本位置 X 坐标
dTextPositionYnumber文本位置 Y 坐标

Returns

McObjectId

成功返回 1,失败返回 0


drawDimAngular

drawDimAngular(dAngleVertexX, dAngleVertexY, dFirstEndPointX, dFirstEndPointY, dSecondEndPointX, dSecondEndPointY, dTextPointX, dTextPointY): McObjectId

绘制角度标注

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.drawDimAngular(500, 5000, 0, 5500, 1000, 5500, 500, 5500);

Parameters

NameTypeDescription
dAngleVertexXnumber角度顶点 X 坐标
dAngleVertexYnumber角度顶点 Y 坐标
dFirstEndPointXnumber第一条尺线起点 X 坐标
dFirstEndPointYnumber第一条尺线起点 Y 坐标
dSecondEndPointXnumber第二条尺线起点 X 坐标
dSecondEndPointYnumber第二条尺线起点 Y 坐标
dTextPointXnumber文本位置 X 坐标
dTextPointYnumber文本位置 Y 坐标

Returns

McObjectId

成功返回 1,失败返回 0


drawDimDiametric

drawDimDiametric(dChordPointX, dChordPointY, dFarChordPointX, dFarChordPointY, dLeaderLength): McObjectId

绘制直径标注

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.drawDimDiametric(500, 0, -500, 0, 20);

Parameters

NameTypeDescription
dChordPointXnumber弦线端点 X 坐标
dChordPointYnumber弦线端点 Y 坐标
dFarChordPointXnumber弦线远端点 X 坐标
dFarChordPointYnumber弦线远端点 Y 坐标
dLeaderLengthnumber引线长度

Returns

McObjectId

直径标注对象id


drawDimOrdinate

drawDimOrdinate(dDefinitionPointX, dDefinitionPointY, dDeaderEndPointX, dDeaderEndPointY, isUseXAxis): McObjectId

绘制标注线性尺寸

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.drawDimOrdinate(500, 0, -500, 0, true);

Parameters

NameTypeDescription
dDefinitionPointXnumber定义点 X 坐标
dDefinitionPointYnumber定义点 Y 坐标
dDeaderEndPointXnumber标注终点 X 坐标
dDeaderEndPointYnumber标注终点 Y 坐标
isUseXAxisboolean是否沿 X 轴方向标注

Returns

McObjectId

线性尺寸对象id


drawDimRadial

drawDimRadial(dCenterX, dCenterY, dChordPointX, dChordPointY, dLeaderLength): McObjectId

绘制标注径向尺寸

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.drawDimOrdinate(0, 0, 0, 500, 20);

Parameters

NameTypeDescription
dCenterXnumber中心点 X 坐标
dCenterYnumber中心点 Y 坐标
dChordPointXnumber弦线端点 X 坐标
dChordPointYnumber弦线端点 Y 坐标
dLeaderLengthnumber标注线长度

Returns

McObjectId

径向尺寸对象id


drawDimRotated

drawDimRotated(dExtLine1PointX, dExtLine1PointY, dExtLine2PointX, dExtLine2PointY, dDimLineLocationX, dDimLineLocationY, dRotationAngle): McObjectId

绘制旋转标注

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD() 
mxcad.drawDimRotated(0, 7000, 600, 7000, 250, 7050, 0);

Parameters

NameTypeDescription
dExtLine1PointXnumber第一条尺线起点 X 坐标
dExtLine1PointYnumber第一条尺线起点 Y 坐标
dExtLine2PointXnumber第二条尺线起点 X 坐标
dExtLine2PointYnumber第二条尺线起点 Y 坐标
dDimLineLocationXnumber标注线位置 X 坐标
dDimLineLocationYnumber标注线位置 Y 坐标
dRotationAnglenumber旋转角度,单位为弧度

Returns

McObjectId

旋转标注对象id


drawEllipse

drawEllipse(dCenterX, dCenterY, dMajorAxisX, dMajorAxisY, dRadiusRatio): McObjectId

绘制椭圆

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.drawEllipse(0, 1400, 100, 0, 0.7);

Parameters

NameTypeDescription
dCenterXnumber椭圆中心 X 坐标
dCenterYnumber椭圆中心 Y 坐标
dMajorAxisXnumber长轴 X 坐标
dMajorAxisYnumber长轴 Y 坐标
dRadiusRationumber短轴与长轴的比例

Returns

McObjectId

成功返回 1,失败返回 0


drawEllipseArc

drawEllipseArc(dCenterX, dCenterY, dMajorAxisX, dMajorAxisY, dRadiusRatio, dStartAng, dEndAng): McObjectId

绘制椭圆弧

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.drawEllipseArc(0, 1600, 80, 30, 0.4, 30, 200);

Parameters

NameTypeDescription
dCenterXnumber椭圆中心 X 坐标
dCenterYnumber椭圆中心 Y 坐标
dMajorAxisXnumber长轴 X 坐标
dMajorAxisYnumber长轴 Y 坐标
dRadiusRationumber短轴与长轴的比例
dStartAngnumber起始角度,单位为弧度
dEndAngnumber结束角度,单位为弧度

Returns

McObjectId


drawEntity

drawEntity(entity, isUseDatabaseCurrentProperties?): McObjectId

绘制实体

Example

ts
import { McDbPolyline, MxCpp } from
let pl = new McDbPolyline();
  pl.addVertexAt(new McGePoint3d(100, 100, 100));
  pl.addVertexAt(new McGePoint3d(200, 100, 500));
  pl.addVertexAt(new McGePoint3d(300, 400, 200));
  MxCpp.getCurrentCAD().drawEntity(pl);

Parameters

NameTypeDefault valueDescription
entityMcDbEntityundefined实体对象
isUseDatabaseCurrentPropertiesbooleanfalse-

Returns

McObjectId

绘制结果


drawHatch

drawHatch(hatch, dPatternScale?): McObjectId

绘制填充对象

Parameters

NameTypeDefault value
hatchMcDbHatchundefined
dPatternScalenumber1.0

Returns

McObjectId

绘制对象id


drawImage

drawImage(dPosX, dPosY, dWidth, dHeight, dAng, imageUrl, isConvertBase64?): McObjectId

绘制一个图片

Parameters

NameTypeDefault valueDescription
dPosXnumberundefined图片 X 坐标
dPosYnumberundefined图片 Y 坐标
dWidthnumberundefined图片宽度
dHeightnumberundefined图片高度
dAngnumberundefined图片角度
imageUrlstringundefined图片路径
isConvertBase64booleanfalse-

Returns

McObjectId


drawLine

drawLine(dX1, dY1, dX2, dY2): McObjectId

绘制直线

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.drawLine(0, 60, 100, 60);

Parameters

NameTypeDescription
dX1number起点 X 坐标
dY1number起点 Y 坐标
dX2number终点 X 坐标
dY2number终点 Y 坐标

Returns

McObjectId


drawLine3d

drawLine3d(dX1, dY1, dZ1, dX2, dY2, dZ2): McObjectId

Parameters

NameType
dX1number
dY1number
dZ1number
dX2number
dY2number
dZ2number

Returns

McObjectId


drawMText

drawMText(dPosX, dPosY, sContents, dHeight, dWidth, dRotation, iAttachment): McObjectId

绘制多行文本

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.drawMText(0, -100, "控件:\\P多行文字测试", 50, 400, 0, 1);

Parameters

NameTypeDescription
dPosXnumber文本位置 X 坐标
dPosYnumber文本位置 Y 坐标
sContentsstring-
dHeightnumber文本高度
dWidthnumber文本宽度
dRotationnumber旋转角度,单位为弧度
iAttachmentAttachmentPoint对齐方式

Returns

McObjectId

多行文本对象id


drawPathToHatch

drawPathToHatch(dPatternScale?): McObjectId

将路径转换为填充图案

Example

ts
import { MxCADUiPrPoint, MxCADUiPrDist, MxCpp } from "mxcad";
   // 实心圆
   async function Mx_SolidCircle() {
       const getCenter = new MxCADUiPrPoint();
       getCenter.setMessage('请确定圆心位置\n');
       const center = await getCenter.go();
       if (!center) return;
       const getRadius = new MxCADUiPrDist();
       getRadius.setBasePt(center);// 设置距离基点为圆心
       getRadius.setMessage('请输入圆半径');
       getRadius.setUserDraw((pt, pw) => {
           const r = pt.distanceTo(center);
           const circle = new McDbCircle();
           circle.center = center;
           circle.radius = r;
           pw.drawMcDbEntity(circle)
       })
       const radiusVal = await getRadius.go();
       if (!radiusVal) return;
       const radius = getRadius.value();
       const mxcad = MxCpp.getCurrentMxCAD();
       mxcad.pathCircle(center.x, center.y, radius);//设置圆路径
       mxcad.drawPathToHatch();// 绘制实心圆
   }

Parameters

NameTypeDefault valueDescription
dPatternScalenumber1.0图案缩放比例

Returns

McObjectId

转换结果


drawPathToPolyline

drawPathToPolyline(): McObjectId

将路径转换为折线

Returns

McObjectId

转换结果


drawPathToSpline

drawPathToSpline(): McObjectId

将路径转换为样条曲线

Returns

McObjectId

转换结果


drawPoint

drawPoint(dX, dY): McObjectId

绘制点

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.drawPoint(0,0);

Parameters

NameTypeDescription
dXnumberX 坐标
dYnumberY 坐标

Returns

McObjectId


drawSolid

drawSolid(dX1, dY1, dX2, dY2, dX3, dY3, dX4, dY4): McObjectId

绘制实体

Parameters

NameTypeDescription
dX1number第一个点 X 坐标
dY1number第一个点 Y 坐标
dX2number第二个点 X 坐标
dY2number第二个点 Y 坐标
dX3number第三个点 X 坐标
dY3number第三个点 Y 坐标
dX4number第四个点 X 坐标
dY4number第四个点 Y 坐标

Returns

McObjectId

实体对象id


drawText

drawText(dPosX, dPosY, pszText, dHeight, dRotation, horizontalMode, verticalMode): McObjectId

绘制单行文本

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.drawText(0, 1900, "绘图控件文字测试", 100, 0, 0, 1);

Parameters

NameTypeDescription
dPosXnumber文本位置 X 坐标
dPosYnumber文本位置 Y 坐标
pszTextstring文本内容
dHeightnumber文本高度
dRotationnumber旋转角度,单位为弧度
horizontalModeTextHorzMode横向对齐方式
verticalModeTextVertMode纵向对齐方式

Returns

McObjectId

成功返回 1,失败返回 0


getAllLayoutName

getAllLayoutName(): McGeStringArray

得到所有布局名

Returns

McGeStringArray


getBackgroundEntity

getBackgroundEntity(): McDbBackgroundEntity

返回当前背景对象

Returns

McDbBackgroundEntity


getCurrentDatabaseDrawColor

getCurrentDatabaseDrawColor(): Color

返回当前数据库中设置的绘制颜色,它会自动依据背景色,把黑白色转换。

Returns

Color


getCurrentFileName

getCurrentFileName(): string

获取当前文件名

Returns

string

当前文件名


getDatabase

getDatabase(): McDbDatabase

获取数据库对象

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.App.getCurrentMxCAD()
let layerTable = mxcad.getDatabase().getLayerTable();

Returns

McDbDatabase

数据库对象


getImp

getImp(): any

获取内部实现对象

Returns

any

内部实现对象


getMxCpp

getMxCpp(): any

返加MxCpp对象,它会在MxDraw模块中调用。

Returns

any


getMxDrawObject

getMxDrawObject(): MxDrawObject

返回与MxCAD对象绑定的MxDraw对象。

Example

ts
import { McObject } from 'mxcad'

const mxcad = new McObject()
const mxdraw = mxcad.getMxDrawObject()

Returns

MxDrawObject

MxDraw对象


getSysVarDouble

getSysVarDouble(varName): number

获取系统变量的浮点数值

Parameters

NameTypeDescription
varNamestring变量名称

Returns

number

变量的浮点数值


getSysVarLong

getSysVarLong(varName): number

获取系统变量的整数值

Parameters

NameTypeDescription
varNamestring变量名称

Returns

number

变量的整数值


getSysVarPoint

getSysVarPoint(varName): McGePoint3d

获取系统变量的点数值

Parameters

NameTypeDescription
varNamestring变量名称

Returns

McGePoint3d

变量的点数值


getSysVarString

getSysVarString(varName): string

获取系统变量的字符串值

Parameters

NameTypeDescription
varNamestring变量名称

Returns

string

变量的字符串值


getViewCADCoord

getViewCADCoord(): Object

返回当前视区的显示范围,cad坐标。

Returns

Object

当前视区显示范围

NameType
pt1McGePoint3d
pt2McGePoint3d
pt3McGePoint3d
pt4McGePoint3d

init

init(imp): void

初始对象

Parameters

NameTypeDescription
impany对象实现,默认该函数会被系统自动调用。

Returns

void


initMxObject

initMxObject(mxObject): void

初始化对象模型

Description

Parameters

NameTypeDescription
mxObjectany初始化mxdraw 创建的绘图控件

Returns

void


initRegist

initRegist(sRegist): void

初始化用户注册数据.

Parameters

NameTypeDescription
sRegiststring注册数据

Returns

void


insertBlock

insertBlock(sFileUrl, sBlkName, isWorkThread?, fetchAttributes?, isUpdataInsertBlock?, isUpdataSameNameBlock?): Promise<McObjectId>

插件图块文件

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
const blkrecId = await mxcad.insertBlock("./blkrec.mxweb", "sBlkName");

Parameters

NameTypeDefault valueDescription
sFileUrlstringundefined网络文件路径 该文件为mxweb格式
sBlkNamestringundefined插入的图块的块名
isWorkThreadbooleantrue是否使用工作线程打开文件,默认为 true
fetchAttributesnumber01:EMSCRIPTEN_FETCH_LOAD_TO_MEMORY,把图纸数据加载内存中,0:EMSCRIPTEN_FETCH_LOAD_TO_MEMORY | EMSCRIPTEN_FETCH_PERSIST_FILE | EMSCRIPTEN_FETCH_APPEND,把图纸数据加到IndexedDB。
isUpdataInsertBlockbooleanfalse是否更新已经存在的块,默认不会更新
isUpdataSameNameBlockbooleanfalse是插入块的过程中,如果发现原数据库已经相同名称的块,是否也一同更新,默认不会更新

Returns

Promise<McObjectId>


isTryVersion

isTryVersion(): boolean

当前程序是否是试用版本.

Returns

boolean


loadDwgBackground

loadDwgBackground(sFileUrl, call, color?, isShow?): void

加载另一个dwg文件当前背景对象绘制.

Parameters

NameTypeDefault value
sFileUrlstringundefined
call(ret: boolean) => voidundefined
colornumber0
isShowbooleantrue

Returns

void


loadImage

loadImage(imageUrl, call): void

加载一个外部图片到当前上下文,方便后面使用。

Example

ts
import { MxCpp, McObject } from "mxcad"
 const mxcad: McObject = MxCpp.getCurrentMxCAD()
 mxcad.loadImage(imagUrl, (image) => {
   if (!image) {
       console.log("loadImage failed");
       return;
   }
   let width = mxcad.mxdraw.viewCoordLong2Cad(100);
   let height = (image.height / image.width) * width;
   idImage = mxcad.drawImage((pt as any).x, (pt as any).y, width, height, 0, imagUrl,true);
   mxcad.updateDisplay();
});

Parameters

NameTypeDescription
imageUrlstring图片路径
call(image: any) => void回调函数

Returns

void


newFile

newFile(): boolean

清空当前图上内容,新建一个文件

Example

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

let mxcad:McObject = MxCpp.getCurrentMxCAD();
mxcad.newFile();

Returns

boolean


objectIdToObject

objectIdToObject(lIdIndex): null | McDbObject

将 lIdIndex 转换成 McDbObject 对象

Parameters

NameTypeDescription
lIdIndexnumber对象 ID

Returns

null | McDbObject

与 ID 对应的 McDbObject 对象,如果对象不存在则返回 null


off

off(name, fun?): void

关闭事件监听

Example

ts
import { MxCpp, McObject } from "mxcad"

const mxcad:McObject = MxCpp.getCurrentMxCAD();
mxcad.off("selectChange");

Parameters

NameTypeDescription
namestring监听事件名
fun?Function监听事件

Returns

void


on

on(name, fun): void

监听对象选择事件

Example

ts
import { MxCpp, McObject, McObjectId } from "mxcad"

const mxcad:McObject = MxCpp.getCurrentMxCAD();
mxcad.on("selectChange", (ids: McObjectId[])=> {
     if (ids.length == 0) return;
     let id = ids[0]
     let ent = id.getMcDbEntity()
     if(!ent) return
     console.log(ent.objectName)
})

Parameters

NameType
name"selectChange"
fun(ids: McObjectId[]) => void | (ids: McObjectId[]) => void[]

Returns

void

on(name, fun): void

监听文件完全打开

Parameters

NameType
name"openFileComplete"
fun() => void

Returns

void

on(name, fun): void

监听项目初始化

Parameters

NameType
name"init"
fun() => void

Returns

void

on(name, fun): void

监听 mxdraw 初始化

Parameters

NameType
name"init_mxdraw"
fun(mxdraw: MxDrawObject) => void

Returns

void

on(name, fun): void

监听 mxdraw 初始化前的事件

Parameters

NameType
name"init_before_mxdraw"
fun(mxdraw: MxDrawObject) => void

Returns

void

on(name, fun): void

监听 mxcad 初始化

Parameters

NameType
name"init_mxcad"
fun(mxcad: McObject) => void

Returns

void

on(name, fun): void

监听数据库修改事件

Parameters

NameType
name"databaseModify"
fun() => void

Returns

void

on(name, fun): void

系统变量被修改

Parameters

NameType
name"sysVarChanged"
fun(name: string) => void

Returns

void

on(name, fun): void

图形数据库初始化

Parameters

NameType
name"databaseInitialization"
fun() => void

Returns

void

on(name, fun): void

图层数据发生了变化

Parameters

NameType
name"layerChanged"
fun() => void

Returns

void

on(name, fun): void

线型数据发生了变化

Parameters

NameType
name"lineTypeChanged"
fun() => void

Returns

void


openWebFile

openWebFile(sFileUrl, retCall?, isWorkThread?, initialParameter?, fetchAttributes?, isFetchTzFile?): boolean

打开网络文件

Example

ts
import { MxCpp } from "mxcad";
const mxcad = MxCpp.getCurrentMxCAD();
mxcad.openWebFile("http://localhost:1337/mxcad/file/a9cbed3d3a351b79f24484e87bd78338.DWG.mxweb");

Parameters

NameTypeDefault valueDescription
sFileUrlstringundefined网络文件路径
retCall?(iRet: number) => voidundefined回调函数,可选参数,打开文件完成后的回调函数,参数为打开文件的结果,0表示成功,其他值表示失败
isWorkThreadbooleantrue是否使用工作线程打开文件,默认为 true
initialParameter?objectundefined-
fetchAttributesnumber01:EMSCRIPTEN_FETCH_LOAD_TO_MEMORY,把图纸数据加载内存中,0:EMSCRIPTEN_FETCH_LOAD_TO_MEMORY | EMSCRIPTEN_FETCH_PERSIST_FILE | EMSCRIPTEN_FETCH_APPEND,把图纸数据加到IndexedDB。
isFetchTzFilebooleantrue-

Returns

boolean

是否成功打开文件


pathCircle

pathCircle(dCenX, dCenY, dR, dPrecision?, dWidth?): boolean

根据圆对象创建一个路径

Example

ts
import { MxCpp, McObject } from "mxcad"
  const mxcad:McObject = MxCpp.getCurrentMxCAD()
  mxcad.pathCircle(0, 0, 20);

Parameters

NameTypeDefault value
dCenXnumberundefined
dCenYnumberundefined
dRnumberundefined
dPrecisionnumber0.0
dWidthnumber0

Returns

boolean


pathLineTo

pathLineTo(dX, dY): void

从当前位置画一条直线到指定位置

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.pathLineTo(100, 300);

Parameters

NameTypeDescription
dXnumberX 坐标
dYnumberY 坐标

Returns

void


pathLineToEx

pathLineToEx(dX, dY, dStartWidth, dEndWidth, dBulge): void

从当前位置画一条直线到指定位置,同时指定起始宽度、终止宽度和凸度

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.pathLineToEx(1000, 500, 30, 0, 0);

Parameters

NameTypeDescription
dXnumberX 坐标
dYnumberY 坐标
dStartWidthnumber起始宽度
dEndWidthnumber终止宽度
dBulgenumber凸度

Returns

void


pathMakeClosed

pathMakeClosed(): void

闭合路径

Returns

void


pathMakeExclude

pathMakeExclude(isExclude): void

把当前路径做上排除标记,主要用于填充的绘制,把这个路径组成的闭合区域在填充中挖去

Example

ts
import { MxCpp, McObject } from "mxcad"
   const mxcad:McObject = MxCpp.getCurrentMxCAD()
  //绘制一个实心有圆弧边界填充,中间挖去一块.
   mxcad.pathMoveToEx(440, 3310, 0, 0, 0);
   mxcad.pathLineTo(480, 3310);
   mxcad.pathLineTo(480, 3360);
   mxcad.pathLineTo(450, 3340);
  // 把上面定义的路径定义填充排除区域.
   mxcad.pathMakeExclude(true);

Parameters

NameTypeDescription
isExcludeboolean是否排除

Returns

void


pathMoveTo

pathMoveTo(dX, dY): void

将路径移动到指定位置

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.pathMoveTo(0, 300);

Parameters

NameTypeDescription
dXnumberX 坐标
dYnumberY 坐标

Returns

void


pathMoveToEx

pathMoveToEx(dX, dY, dStartWidth, dEndWidth, dBulge): void

移动路径到指定位置,同时指定起始宽度、终止宽度和凸度

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.pathMoveToEx(1000, 300, 10, 10, 0);

Parameters

NameTypeDescription
dXnumberX 坐标
dYnumberY 坐标
dStartWidthnumber起始宽度
dEndWidthnumber终止宽度
dBulgenumber-

Returns

void


redo

redo(): void

反回退,重做。

Returns

void


regen

regen(delayTime?): void

重绘图上所有对象,在调用ZoomAll,ZoomW后,因为是异步执行,可能需要延迟调用Regen才会启作用。

Example

ts
import { MxCpp, McObject } from 'mxcad'
 const mxcad:McObject = MxCpp.getCurrentMxCAD()
  //绘制一个带有宽度的圆
   mxcad.addLinetype("CircleLineType", "30,-5,7,-7");

   //设计当前线型为"CircleLineType"
   mxcad.drawLinetype = ("CircleLineType");

   mxcad.drawLineWidth = 40;

   mxcad.drawCircle(600, 800, 120);

   mxcad.zoomAll();
   mxcad.regen();
   mxcad.updateDisplay();

Parameters

NameTypeDefault value
delayTimenumber0

Returns

void


saveFile

saveFile(filename?, call?, isDownland?, isShowSaveFileDialog?, parameter?): boolean

保存文件

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.App.getCurrentMxCAD()
const fileName =  mxcad.getCurrentFileName()
mxcad.saveFile("test", (data)=> {
  const blob = new Blob([data.buffer], { type: "application/octet-stream" });
}, false, false)

Parameters

NameTypeDefault valueDescription
filename?stringundefined另存为的新文件名称
call?(data: any) => voidundefined回调函数,可选参数,文件保存完成后的回调函数,参数为文件数据
isDownlandbooleantrue是否下载文件,默认为 true
isShowSaveFileDialogbooleantrue是否显示保存文件对话框,默认为 true
parameter?objectundefined-

Returns

boolean

是否成功保存文件


saveFileToUrl

saveFileToUrl(sSaveProgramUrl, call, filename?, param?): boolean

将文件保存并转换为网络路径下载

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
 MxCpp.getCurrentMxCAD().saveFileToUrl("http://localhost:3337/mxcad/savefiledwg", (iResult, sserverResult) => {
   let ret = JSON.parse(sserverResult);
   if (ret.ret == "ok") {
       console.log(ret.file)
   }
})

Parameters

NameTypeDescription
sSaveProgramUrlstring后端 POST请求接口, 接口具体实现: 先下载MxDraw云图开发包https://www.mxdraw.com/download.html并解压 找到MxDrawCloudServer\Bin\MxCAD\MxCADSaveFile\server.js 可以找到对应的实现接口"/mxcad/savefiledwg", "/mxcad/savefiledwg":保存dwg文件到服务器 "/mxcad/savefile":保存mxweb文件到服务器 如果没有找到则在该项目下寻找这个接口的定义, 必须符合该接口的定义才能作为参数
call(iResult: number, sServerResult: string) => void保存文件的结果回调 这里接收到的参数请自己根据接口定义中保存图纸的位置, ref.file 不是完整请求路径,只是保存后的图纸名称
filename?string-
param?any-

Returns

boolean

是否成功保存文件


setAttribute

setAttribute(val): boolean

设置对象的一些属性设置

Example

  • ts
    * 启用undo
    * mxcad.setAttribute({EnableUndo:true})
    * ```

Parameters

NameTypeDescription
valobject属性设置内容. 1. DisplayPrecision 显示精度设置,默认为0,可以取0 ~1000,1000为最高精度了 2. EnableUndo 启用undo功能,默认是没有启动的 *

Returns

boolean


setBrowse

setBrowse(browse): void

设置浏览模式

Parameters

NameType
browseboolean

Returns

void


setCurrentLayout

setCurrentLayout(layoutName): void

设置当前布局名

Parameters

NameTypeDescription
layoutNamestring布局名称

Returns

void


setSysVarDouble

setSysVarDouble(varName, val): boolean

设置系统变量的浮点数值

Parameters

NameTypeDescription
varNamestring变量名称
valnumber变量的浮点数值

Returns

boolean

是否成功设置变量值


setSysVarLong

setSysVarLong(varName, val): boolean

设置系统变量的整数值

Parameters

NameTypeDescription
varNamestring变量名称
valnumber变量的整数值

Returns

boolean

是否成功设置变量值


setSysVarPoint

setSysVarPoint(varName, pt): boolean

设置系统变量的点数值

Parameters

NameTypeDescription
varNamestring变量名称
ptMcGePoint3d-

Returns

boolean

是否成功设置变量值


setSysVarPoint2d

setSysVarPoint2d(varName, pt): boolean

设置系统变量的2维点数值

Parameters

NameTypeDescription
varNamestring变量名称
ptMcGePoint3d-

Returns

boolean

是否成功设置变量值


setSysVarString

setSysVarString(varName, val): any

设置系统变量的字符串值

Parameters

NameTypeDescription
varNamestring变量名称
valstring变量的字符串值

Returns

any

是否成功设置变量值


setViewBackgroundColor

setViewBackgroundColor(red, green, blue): void

设置视区的背景色.

Example

ts
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.setViewBackgroundColor(255, 255, 255)

Parameters

NameType
rednumber
greennumber
bluenumber

Returns

void


showLineWeight

showLineWeight(isShow): boolean

显示线重

Parameters

NameType
isShowboolean

Returns

boolean


undo

undo(): void

回退到上一个命令或标记处

Returns

void


undoMark

undoMark(): void

在当前设置一个回退标记.

Returns

void


updateDisplay

updateDisplay(isImmediate?, delayTime?): void

更新显示

Parameters

NameTypeDefault valueDescription
isImmediatebooleanfalse是否立即更新
delayTimenumber0延迟更新时间

Returns

void


updateLayerDisplayStatus

updateLayerDisplayStatus(): void

更新图层的显示

Returns

void


zoomAll

zoomAll(autoRegen?): boolean

显示全部

Parameters

NameTypeDefault value
autoRegenbooleanfalse

Returns

boolean


zoomAngle

zoomAngle(viewangle): void

设置显示视区的角度,单位是PI.

Example

typescript
import { MxCpp, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.zoomAngle(Math.PI / 2)

Parameters

NameTypeDescription
viewanglenumber旋转角度 Math.PI

Returns

void

void


zoomCenter

zoomCenter(dCenX, dCenY): void

把当前显示范围移到指定的位置,dCenX,dCenY是DWG图纸坐标。

Example

typescript
import { MxCpp, McGePoint3d, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.zoomCenter(0, 0)

Parameters

NameType
dCenXnumber
dCenYnumber

Returns

void

void


zoomScale

zoomScale(scale): void

缩放当前显示范围,它是相对于当前显示范围进行缩放

Example

ts
import { MxCpp, McObject } from 'mxcad'
 const mxcad:McObject = MxCpp.getCurrentMxCAD()
   mxcad.drawLine(350, 220, 600, 220);
   mxcad.zoomScale(o.6);

Parameters

NameTypeDescription
scalenumberscale缩放比例

Returns

void

void


zoomW

zoomW(minPt, maxPt): void

把当前显示范围移到指定的显示范围

Example

typescript
import { MxApp, McGePoint3d, McObject } from "mxcad"
const mxcad:McObject = MxCpp.getCurrentMxCAD()
mxcad.zoomW(new McGePoint3d(0, 0), new McGePoint3d(30, 30))

Parameters

NameTypeDescription
minPtMcGePoint3d坐标1 McGePoint3d
maxPtMcGePoint3d坐标2 McGePoint3d

Returns

void

void