mxcad_2d API 文档 / 2d
Module: 2d
包含用于显示cad图纸的2d相关导出, 所有导出的内容都可以通过mxcad包导入直接使用
Example
import { createMxCad, McCmColor, McDbEntity } from "mxcad"
Table of contents
Namespaces
Enumerations
- ColorIndexType
- ColorMethod
- DxfCode
- FetchAttributes
- McObjectIdType
- MxCADCloneType
- MxCADSelectionSetStatus
- MxPropertiesWindowCustomValueType
Classes
- IMcDbDwgFiler
- McAppType
- McCmColor
- McDb2LineAngularDimension
- McDbAlignedDimension
- McDbArc
- McDbAttribute
- McDbAttributeDefinition
- McDbBackgroundEntity
- McDbBlockReference
- McDbBlockTable
- McDbBlockTableRecord
- McDbCircle
- McDbCurve
- McDbCustomEntity
- McDbDatabase
- McDbDictionary
- McDbDimStyleTable
- McDbDimStyleTableRecord
- McDbDimension
- McDbEllipse
- McDbEntity
- McDbGroup
- McDbHatch
- McDbLayerTable
- McDbLayerTableRecord
- McDbLine
- McDbLinetypeTable
- McDbLinetypeTableRecord
- McDbMText
- McDbObject
- McDbObjectArray
- McDbPoint
- McDbPolyline
- McDbProxyEntity
- McDbRasterImage
- McDbRasterImageDef
- McDbRotatedDimension
- McDbSpatialFilter
- McDbText
- McDbTextStyleTable
- McDbTextStyleTableRecord
- McDbWipeout
- McDbXrecord
- McGeBound
- McGeDoubleArray
- McGeLongArray
- McGeMatrix3d
- McGePoint3d
- McGePoint3dArray
- McGeStringArray
- McGeVector3d
- McObject
- McObjectId
- McRxObject
- MxCADPluginBase
- MxCADPluginMapDefaultData
- MxCADPluginSampleCode
- MxCADResbuf
- MxCADSelectionSet
- MxCADUiPrAngle
- MxCADUiPrBase
- MxCADUiPrDist
- MxCADUiPrEntity
- MxCADUiPrInt
- MxCADUiPrKeyWord
- MxCADUiPrPoint
- MxCADUiPrString
- MxCADUtilityClass
- MxCADWorldDraw
- MxCompare
- MxCoordConvertType
- MxCppType
- MxModifyColor
- MxPropertiesWindowCustom
- MxPropertiesWindowCustomValue
Interfaces
Type Aliases
Variables
Functions
- MxCheckTheBrowser
- Mx_About
- Mx_Erase
- createMcCmColor
- createMxCad
- drawArc
- drawCircle
- drawEllipticalArc
- drawLine
- drawMText
- drawPolyLine
- drawPolygon
- drawRectang
- drawText
- getColorUtils
- getFilterImp
- loadMxCADassembly
- setMcCmColor
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 包含了浏览器信息的对象
Name | Type |
---|---|
error | string |
ok | boolean |
var | any |
Example
import { MxCheckTheBrowser } from 'mxcad';
const browserCheckResult = MxCheckTheBrowser();
if (browserCheckResult.ok) {
console.log('浏览器符合要求,可以加载 MxCAD assembly。');
// 在这里调用 loadMxCADassembly 函数加载 MxCAD assembly
} else {
console.error('浏览器不符合要求:', browserCheckResult.error);
// 在这里处理浏览器不符合要求的情况,可能给出用户友好的提示或者采取其他措施
}
Mx_About
▸ Mx_About(): void
Returns
void
Mx_Erase
▸ Mx_Erase(): Promise
<void
>
删除对象
Returns
Promise
<void
>
createMcCmColor
▸ createMcCmColor(...ages
): McCmColor
创建颜色对象
Parameters
Name | Type | Description |
---|---|---|
...ages | CreateColorArgs | 颜色参数类型 |
Returns
颜色对象
createMxCad
▸ createMxCad(config?
, mxcadobj?
): Promise
<McObject
>
创建MxCad实例
Parameters
Name | Type | Description |
---|---|---|
config? | MxCadConfig | 参数配置 |
mxcadobj? | McObject | 对象 |
Returns
Example
//通过创建实例实现图纸展示以下基于vite打包工具
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
Name | Type | Description |
---|---|---|
...ages | THREEColorArgs | 颜色参数 |
Returns
Color
THREE.Color
getFilterImp
▸ getFilterImp(filter?
): any
检索一个CAD(计算机辅助设计)过滤器
Parameters
Name | Type | Default value | Description |
---|---|---|---|
filter | null | MxCADResbuf | null | 过滤器 |
Returns
any
CAD过滤器imp
Example
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
Name | Type | Description |
---|---|---|
call? | (MxCpp : MxCppType ) => void | 回调函数,在加载完成后执行 |
locateFile | (fileName : string , base : string | URL ) => string | 函数用于确定 wasm 文件的位置,这里提供了一个默认的值 |
wasmBinary? | ArrayBuffer | wasm 二进制数据 |
fontspath? | string | 字体文件的路径 |
networkFonts? | string [] | 网络字体的数组 |
Returns
返回一个 Promise 对象,其中包含 MxCppType 类型的实例
Example
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
Name | Type | Description |
---|---|---|
mcCmColor | McCmColor | 颜色对象 |
...ages | CreateColorArgs | 颜色参数类型 |
Returns
void