Skip to content
On this page

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]

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


McCmColorJSON

Ƭ McCmColorJSON: ExcludePropertiesContainingThisType<McCmColor, Function>

McCmColor的JSON版本


THREEColorArgs

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

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

Variables

MxCADUtility

MxCADUtility: MxCADUtilityClass

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


MxCoordConvert

MxCoordConvert: MxCoordConvertType

提供坐标转换方法


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);
   // 在这里处理浏览器不符合要求的情况,可能给出用户友好的提示或者采取其他措施
 }

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<void>

绘多义线

Returns

Promise<void>


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

Example

ts
import { getFilterImp, MxCADResbuf } from 'mxcad'; 

  // 当filter为null时,检索CAD filter
  const filterImp1 = getFilterImp();
  console.log("Filter Implementation 1:", filterImp1);

  // 示例2:在提供filter时检索CAD filter
  const filter = new MxCADResbuf(); // Assuming you have a MxCADResbuf object

  // MxCADResbuf有一个方法getImp()返回imp
  const filterImp2 = getFilterImp(filter);
  console.log("Filter Implementation 2:", filterImp2);

loadMxCADassembly

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

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

Parameters

NameTypeDescription
call?(MxCpp: MxCppType) => void回调函数,在加载完成后执行
locateFile(fileName: string, base: string | URL) => string函数用于确定 wasm 文件的位置,这里提供了一个默认的值
wasmBinary?ArrayBufferwasm 二进制数据
fontspath?string字体文件的路径
networkFonts?string[]网络字体的数组

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