mxcad_2d API 文档 / 2d / MxCppType
Class: MxCppType
2d.MxCppType
MxCppType 是 MxCAD 全局 API 的入口包装类。
Description
该类统一封装了 MxCAD 全局功能,包括底层程序集访问、当前 CAD 对象获取、属性窗口接口、AI 接口、几何对象创建以及字符编码转换。 它让插件开发者可以通过一个统一对象访问 MxCAD 的顶层服务。 使用方法总结:
- 通过
MxCpp访问MxCppType实例; - 使用
App、PropertiesWindow、Ai等成员获取对应功能入口; - 调用
newMcGePoint3d、decodeFromGb2312等辅助方法完成常见操作。
Example
import { MxCpp } from "mxcad";
const mxcad = MxCpp.getCurrentMxCAD();
const point = MxCpp.newMcGePoint3d({ x: 100, y: 200, z: 0 });
const decoded = MxCpp.decodeFromGb2312("%c4%e3%ba%c3");
console.log(mxcad, point, decoded);Table of contents
Constructors
Properties
Accessors
Methods
- decodeFromGb2312
- encodeToGb2312
- getCallResult
- getCurrentDatabase
- getCurrentMxCAD
- getIdFromCpp
- newMcGePoint3d
- newMcGeVector3d
Constructors
constructor
• new MxCppType()
Properties
Ai
• Ai: MxAI
Mx AI实例
App
• App: McAppType
McAppType 实例
PropertiesWindow
• PropertiesWindow: MxPropertiesWindowCustom
PropertiesWindow 属必窗口功能调用实例
Example
import { MxCpp } from "mxcad";
// 属性界面上,对象属性被修改事件。
MxCpp.PropertiesWindow.onEvent_setProperties((id: McObjectId, prop: any) => {
let ent = id.getMcDbEntity();
if (!ent) return;
if (prop.sVarName == "DN") {
ent.setxDataDouble("DN", prop.val);
}
else if (prop.sVarName == "LEN") {
ent.setxDataDouble("LEN", prop.val);
}
});mxcadassemblyimp
• Optional mxcadassemblyimp: any
MxCpp 程序集
Example
//获取与修剪相关的信息
import { MxCpp } from "mxcad";
let mxcadTrimAssert = new MxCpp.mxcadassemblyimp.MxDrawTrimAssist()Accessors
currentDatabase
• get currentDatabase(): McDbDatabase
返回当前活动的CAD对象的数据库对象.
Returns
mxcad
• get mxcad(): McObject
返回当前活动的CAD对象
Returns
Methods
decodeFromGb2312
▸ decodeFromGb2312(strHex): string
把hex格式的Gb2312编码的转成utf8
Parameters
| Name | Type | Description |
|---|---|---|
strHex | string | Gb2312编码 |
Returns
string
Example
import { MxCpp } from "mxcad";
const gb2312Hex = "%c4%e3%ba%c3";
const decodedString = MxCpp.decodeFromGb2312(gb2312Hex);
console.log("Decoded string from GB2312 hex:", decodedString);encodeToGb2312
▸ encodeToGb2312(str): string
把utf8转成hex格式的Gb2312编码
Parameters
| Name | Type | Description |
|---|---|---|
str | string | 字符串 |
Returns
string
Example
import { MxCpp } from "mxcad";
const stringToEncode = "你好";
const encodedHex = MxCpp.encodeToGb2312(stringToEncode);
console.log("Encoded string to GB2312 hex:", encodedHex);getCallResult
▸ getCallResult(): number
获取上一次调用的结果
Returns
number
调用结果
getCurrentDatabase
▸ getCurrentDatabase(): McDbDatabase
返回当前活动的CAD对象的数据库对象.
Returns
getCurrentMxCAD
▸ getCurrentMxCAD(): McObject
返回当前活动的CAD对象
Returns
getIdFromCpp
▸ getIdFromCpp(id): any
得到cpp转过的id
Parameters
| Name | Type |
|---|---|
id | string | number |
Returns
any
newMcGePoint3d
▸ newMcGePoint3d(pt?): McGePoint3d
创建新的 McGePoint3d 实例
Parameters
| Name | Type | Description |
|---|---|---|
pt? | any | 点坐标 |
Returns
McGePoint3d 实例
newMcGeVector3d
▸ newMcGeVector3d(pt?): McGeVector3d
创建新的 McGeVector3d 实例
Parameters
| Name | Type | Description |
|---|---|---|
pt? | any | 点坐标 |
Returns
McGeVector3d 实例
