Skip to content

mxcad_2d API 文档 / 2d

Module: 2d ​

包含用于显示cad图纸的2d相关导出, 所有导出的内容都可以通过mxcad包导入直接使用

Example

js
import { createMxCad, McCmColor, McDbEntity } from "mxcad"

Table of contents ​

Namespaces ​

Enumerations ​

Classes ​

Interfaces ​

Type Aliases ​

Variables ​

Functions ​

Type Aliases ​

CreateColorArgs ​

Ƭ CreateColorArgs: THREEColorArgs | [Partial<McCmColorJSON> | McCmColor]

用于指定在创建颜色时可以接受的不同类型的参数形式


ITableStyleInfo ​

Ƭ ITableStyleInfo: Partial<Omit<ITableStyle, "name">>


McCmColorJSON ​

Ƭ McCmColorJSON: ExcludePropertiesContainingThisType<McCmColor, Function>

McCmColor的JSON版本


SegmentPointPair ​

Ƭ SegmentPointPair: [McGePoint3d, McGePoint3d]

线段关联数据的点对类型


THREEColorArgs ​

Ƭ THREEColorArgs: [string | number | THREE.Color] | ConstructorArguments<typeof THREE.Color> | []

THREE.Color 构造函数参数类型组成的元组:字符串、数字、THREE.Color

Variables ​

MxCADUtility ​

• MxCADUtility: MxCADUtilityClass

提供了一系列与绘图相关的工具方法


MxCoordConvert ​

• MxCoordConvert: MxCoordConvertType

提供坐标转换方法,该类只是为我们MxCAD的兼容的代码的调用,不会向用户导出


MxCpp ​

• MxCpp: MxCppType

Functions ​

MxCheckTheBrowser ​

▸ MxCheckTheBrowser(): Object

检查浏览器类型和版本

Returns ​

Object

ok 布尔值,表示浏览器是否符合要求 | error 如果浏览器不符合要求,则包含错误信息;否则为空字符串 | var 包含了浏览器信息的对象

NameType
errorstring
okboolean
varany

Example

ts
 import { MxCheckTheBrowser } from 'mxcad'; 

 const browserCheckResult = MxCheckTheBrowser();
 if (browserCheckResult.ok) {
   console.log('浏览器符合要求,可以加载 MxCAD assembly。');
   // 在这里调用 loadMxCADassembly 函数加载 MxCAD assembly
 } else {
   console.error('浏览器不符合要求:', browserCheckResult.error);
   // 在这里处理浏览器不符合要求的情况,可能给出用户友好的提示或者采取其他措施
 }

MxRegistCommand ​

▸ MxRegistCommand(): void

Returns ​

void


Mx_About ​

▸ Mx_About(): void

Returns ​

void


Mx_Erase ​

▸ Mx_Erase(): Promise<void>

删除对象

Returns ​

Promise<void>


createMcCmColor ​

▸ createMcCmColor(...ages): McCmColor

创建颜色对象

Parameters ​

NameTypeDescription
...agesCreateColorArgs颜色参数类型

Returns ​

McCmColor

颜色对象


createMxCad ​

▸ createMxCad(config?, mxcadobj?): Promise<McObject>

创建MxCad实例

Parameters ​

NameTypeDescription
config?MxCadConfig参数配置
mxcadobj?McObject对象

Returns ​

Promise<McObject>

Example

//通过创建实例实现图纸展示以下基于vite打包工具

ts
import { createMxCad } from "mxcad";

createMxCad({
  canvas: "#mxcad",
  locateFile: (fileName) => new URL(`/node_modules/mxcad/dist/wasm/2d/${fileName}`, import.meta.url).href,
  // 提供要打开的文件 注意../assets/test.mxweb 是相对路径下的文件地址, 
  // 在vite中可用通过这样的方式得到该文件正确的的网络地址
  fileUrl: new URL("../assets/test.mxweb", import.meta.url).href,
  // 提供加载字体的目录路径
  fontspath: new URL("node_modules/mxcad/dist/fonts", import.meta.url).href,
})

drawArc ​

▸ drawArc(): Promise<void>

绘制圆弧

Returns ​

Promise<void>


drawCircle ​

▸ drawCircle(): Promise<undefined | McObjectId>

绘圆

Returns ​

Promise<undefined | McObjectId>


drawEllipticalArc ​

▸ drawEllipticalArc(): Promise<undefined | McObjectId>

绘制椭圆或椭圆弧

Returns ​

Promise<undefined | McObjectId>


drawLine ​

▸ drawLine(): Promise<void>

绘直线

Returns ​

Promise<void>


drawMText ​

▸ drawMText(): Promise<undefined | McObjectId>

绘多行文本

Returns ​

Promise<undefined | McObjectId>


drawPolyLine ​

▸ drawPolyLine(): Promise<undefined | McObjectId>

绘多义线

Returns ​

Promise<undefined | McObjectId>


drawPolygon ​

▸ drawPolygon(): Promise<void>

绘制正多边形

Returns ​

Promise<void>


drawRectang ​

▸ drawRectang(): Promise<void>

绘制矩形

Returns ​

Promise<void>


drawText ​

▸ drawText(): Promise<undefined | McObjectId>

绘制文字

Returns ​

Promise<undefined | McObjectId>


getColorUtils ​

▸ getColorUtils(...ages): Color

获取颜色工具

Parameters ​

NameTypeDescription
...agesTHREEColorArgs颜色参数

Returns ​

Color

THREE.Color


getFilterImp ​

▸ getFilterImp(filter?): any

检索一个CAD(计算机辅助设计)过滤器

Parameters ​

NameTypeDefault valueDescription
filternull | MxCADResbufnull过滤器

Returns ​

any

CAD过滤器imp


loadMxCADassembly ​

▸ loadMxCADassembly(call?, locateFile?, wasmBinary?, fontspath?, networkFonts?, mxcad?, wasmx64?): Promise<MxCppType>

异步加载 MxCAD assembly,并在加载完成后执行回调函数

Parameters ​

NameTypeDefault valueDescription
call?(MxCpp: MxCppType) => voidundefined回调函数,在加载完成后执行
locateFileanyundefined函数用于确定 wasm 文件的位置,这里提供了一个默认的值
wasmBinary?ArrayBufferundefinedwasm 二进制数据
fontspath?stringundefined字体文件的路径
networkFonts?string[]undefined网络字体的数组
mxcad?anyundefined-
wasmx64?anyundefined-

Returns ​

Promise<MxCppType>

返回一个 Promise 对象,其中包含 MxCppType 类型的实例

Example

ts
   import { loadMxCADassembly } from "mxcad"

   // 调用 loadMxCADassembly 函数并处理返回的 Promise
   loadMxCADassembly(
     (MxCpp) => {
       console.log('MxCAD assembly 已加载');
       // 在这里可以对 MxCAD assembly 进行操作
     },
     // 可选参数,你可以根据需要提供定位函数和其他参数
   ).then((MxCpp) => {
     console.log('MxCAD assembly 加载完成');
     // 在这里可以继续处理加载完成后的 MxCAD assembly
   }).catch((error) => {
     console.error('加载 MxCAD assembly 时出错:', error);
   });

setMcCmColor ​

▸ setMcCmColor(mcCmColor, ...ages): void

设置颜色

Parameters ​

NameTypeDescription
mcCmColorMcCmColor颜色对象
...agesCreateColorArgs颜色参数类型

Returns ​

void