Class MxFun

MxFun 模块 导出库时已实例化,只需要调用实例方法 例如:

 Mx.MxFun.createMxObject

Constructors

Properties

InitLanguageString: ((mapid2str) => void)

初始化语言表

Type declaration

    • (mapid2str): void
    • Parameters

      • mapid2str: Object

      Returns void

acutPrintf: ((format, ...val) => void)

输出字符串到命令行.

Type declaration

    • (format, ...val): void
    • Parameters

      • format: string
      • Rest ...val: string[]

      Returns void

Returns

void

Example

Mx.MxFun.acutPrintf("{0}:", "draw")
addCommand: ((cmdName, fun, cmdFlag?) => void)

注册命令

Type declaration

    • (cmdName, fun, cmdFlag?): void
    • Parameters

      • cmdName: string

        命令名

      • fun: Function

        命令函数,cmdFlag取值MxCommandFlag枚举的逻辑或

      • Optional cmdFlag: number

      Returns void

Returns

void

Example

Mx.MxFun.addCommand("draw", ()=> {
console.log("draw")
})
addWindowsEvent: ((fun) => void)

设置窗口鼠标等事件的回调操作

Type declaration

    • (fun): void
    • Parameters

      • fun: ((type, event) => number)

        参数1 type: 鼠标事件类型 "mouseup"鼠标释放 、"mousedown" 鼠标按下 参数2 event:事件对象 返回值: number 为0,表示事件往下传递,如果非0,表示事件已经被处理,不要往下传递了

          • (type, event): number
          • Parameters

            • type: string
            • event: any

            Returns number

      Returns void

Returns

void

Example

Mx.MxFun.addWindowsEvent((type, event)=> {
console.log(event)
if(type = "mouseup") {
console.log("鼠标释放")
}else {
console.log("鼠标按下")
}
// 事件往下传递
// return 0
// 事件已处理不再传递
return -1
})
cadCoord2Doc: ((x, y, z) => Vector3)

CAD坐标到文档坐标. 默认情况下,cad等于doc,当前m_isCorrectLargeCoordinates为true时,doc变成了把cad图纸修改到小范围坐标系下的坐标。

Type declaration

    • (x, y, z): Vector3
    • Parameters

      • x: number
      • y: number
      • z: number

      Returns Vector3

Returns

number

Example


cadCoordLong2Doc: ((l) => number)

MxCAD的DWG坐标长度转Three.js坐标.

Type declaration

    • (l): number
    • Parameters

      • l: number

      Returns number

cadCoordLong2View: ((l) => number)

MxCAD的DWG坐标长度转View坐标.

Type declaration

    • (l): number
    • Parameters

      • l: number

      Returns number

call: ((funName, param?, retfun?) => void)

调用后台服务程序中的NodeJS用户定义函数 后台程序使用Mx.MxFun.registFun注册用户定义函数

Type declaration

    • (funName, param?, retfun?): void
    • Parameters

      • funName: string

        函数名

      • Optional param: any

        函数参数

      • Optional retfun: Function

        函数返回值回调

      Returns void

Returns

void

Example

Mx.MxFun.call("getDrawObject", {
cadFile: "test.dwg"
}, (res)=> {
console.log(res)
})
callCommand: ((cmd, param, retCall?) => void)

调用服务器后台CAD命令.

Type declaration

    • (cmd, param, retCall?): void
    • Parameters

      • cmd: string
      • param: string
      • Optional retCall: ((param) => void)
          • (param): void
          • Parameters

            • param: any

            Returns void

      Returns void

callEvent: ((eventName, param?) => any)

触发一个系统事件的调用

Type declaration

    • (eventName, param?): any
    • Parameters

      • eventName: string
      • Optional param: any

      Returns any

createMxObject: ((this, __namedParameters) => void) = createMxObject

Type declaration

    • (this, __namedParameters): void
    • 创建图纸展示控件实例

      Parameters

      • this: MxFun
      • __namedParameters: {
            cadFile?: string | string[];
            callback?: ((mxDraw, dom) => void);
            canvasId?: string;
            isAutoResize?: boolean;
            isCPPMxCAD?: boolean;
            isMxCAD?: boolean;
            isNewFile?: boolean;
            mapBox?: any;
            useWebsocket?: boolean;
            userIdentitySign?: string;
        }
        • Optional cadFile?: string | string[]
        • Optional callback?: ((mxDraw, dom) => void)
            • (mxDraw, dom): void
            • Parameters

              Returns void

        • Optional canvasId?: string
        • Optional isAutoResize?: boolean
        • Optional isCPPMxCAD?: boolean
        • Optional isMxCAD?: boolean
        • Optional isNewFile?: boolean
        • Optional mapBox?: any
        • Optional useWebsocket?: boolean
        • Optional userIdentitySign?: string

      Returns void

      void

      Param Type

      string | HTMLCanvasElement | JQuery

      Param Type

      string

      Param Type

      function

      Param Type

      boolean

      Example

      Mx.MxFun.createMxObject({
      canvasId: "my-app",
      cadFile: "test2.dwg",
      callback(mxDraw, { canvas, canvasParent }) {
      console.log(mxDraw, canvas, canvasParent)
      },
      isNewFile: true
      })
docCoord2Cad: ((x, y, z) => Vector3)

文档坐标坐标到CAD. 默认情况下,cad等于doc,当前m_isCorrectLargeCoordinates为true时,doc变成了把cad图纸修改到小范围坐标系下的坐标。

Type declaration

    • (x, y, z): Vector3
    • Parameters

      • x: number
      • y: number
      • z: number

      Returns Vector3

Returns

number

Example


docCoord2World: ((x, y, z) => Vector3)

文档坐标转THREE.JS坐标 说明: 文档坐标,THREE.JS坐标的X轴都是从左到右,Y轴是下到上,但是屏幕像素坐标系:X轴都是从左到右,Y轴是上到下

Type declaration

    • (x, y, z): Vector3
    • Parameters

      • x: number

        坐标x

      • y: number

        坐标y

      • z: number

        坐标z

      Returns Vector3

Returns

THREE.Vector3 THREE.JS坐标

Example

const vector3 = Mx.MxFun.docCoord2World(36, 21, 0)
console.log(vector3)
docCoordLong2Cad: ((l) => number)

Three.js坐标转MxCAD的DWG坐标长度

Type declaration

    • (l): number
    • Parameters

      • l: number

      Returns number

docCoordLong2Screen: ((len) => number)

文档坐标长度转屏幕坐标长度

Type declaration

    • (len): number
    • Parameters

      • len: number

        文档坐标长度

      Returns number

Returns

number 屏幕坐标长度

Example

const len = Mx.MxFun.docCoordLong2Screen(36)
console.log(len)
docCoordLong2World: ((l) => number)

DWG文档坐标长度到ThreeJS坐标长度

Type declaration

    • (l): number
    • Parameters

      • l: number

      Returns number

Returns

number

Example


enablStaticLoad: ((isStaticLoad?) => void)

设置加载dwg文件,直接使用html get协议加载数据,这样就不需要梦想后台服务器程序。

Type declaration

    • (isStaticLoad?): void
    • Parameters

      • Optional isStaticLoad: boolean

        是否启用html get协议加载数据文件

      Returns void

Returns

void

Example

Mx.MxFun.enablStaticLoad(true)
getHostUrl: (() => string)

得到当前主机路径 init 事件会在模块加载完成后触发。

Type declaration

    • (): string
    • Returns string

getIniSet: (() => iniConfig)

得到当前配制参数.

Type declaration

Returns

object 配制参数.

Example


getLanguageString: ((id, sDef?) => string)

得以语言字符串

Type declaration

    • (id, sDef?): string
    • Parameters

      • id: string
      • Optional sDef: string

      Returns string

getLocationPageUrl: (() => string)

得到当前网页路径 init 事件会在模块加载完成后触发。

Type declaration

    • (): string
    • Returns string

getMxEntity: ((id) => undefined | MxDbEntity)

通过id得到对象.

Type declaration

Returns

返MxDbEntity

Example


getNumberColor: ((iColor) => number)

把一个颜色变量转成一个数组颜色

Type declaration

    • (iColor): number
    • Parameters

      • iColor: string | number | Color

      Returns number

getQueryString: ((name) => string)

得到地址栏参数

Type declaration

    • (name): string
    • Parameters

      • name: string

      Returns string

Returns

string 地址栏参数

Example

 if(Mx.MxFun.getQueryString("mousetest") === "y")
getRunningCommand: (() => any)

当前正在运行的命令

Type declaration

    • (): any
    • Returns any

Returns

any

Example


getTHREE: (() => __module)

获取THREE

Type declaration

    • (): __module
    • Returns __module

initMxCpp: ((mxcppimp) => void)

设置当前运行MxCAD的MxCPP环境对象。

Type declaration

    • (mxcppimp): void
    • Parameters

      • mxcppimp: any

      Returns void

initMxDbEntityType: ((entity) => void)

初始化MxDbEntity的类型

Type declaration

    • (entity): void
    • Parameters

      Returns void

initQuickCommand: ((aryQuickCommand) => void)

初始快捷命令。

Type declaration

    • (aryQuickCommand): void
    • Parameters

      • aryQuickCommand: string[][]

      Returns void

isPC: (() => boolean)

当前是否在电脑上运行

Type declaration

    • (): boolean
    • Returns boolean

isRunningCommand: (() => boolean)

当前是否有命令在运行

Type declaration

    • (): boolean
    • Returns boolean

Returns

boolean

Example

if(Mx.MxFun.isRunningCommand()) {
// 当前已有命令在运行
}
openFile: ((sFile, useWebsocket?) => boolean)

重新打开cad文件,该函数在控件创建完后,需要再次重新打开文件,调用。

Type declaration

    • (sFile, useWebsocket?): boolean
    • Parameters

      • sFile: string | string[]

        打的cad文件路径

      • Optional useWebsocket: boolean

      Returns boolean

Returns

any

Example


postMessageToParentFrame: ((param) => boolean)

发送一个消息到ifarme的父窗口

Type declaration

    • (param): boolean
    • Parameters

      • param: any

      Returns boolean

screenCoord2World: ((x, y?, z?) => Vector3)

屏幕坐标转THREE.JS坐标.

Type declaration

    • (x, y?, z?): Vector3
    • Parameters

      • x: number | Vector3

        坐标x

      • Optional y: number

        坐标y

      • Optional z: number

        坐标z

      Returns Vector3

Returns

THREE.Vector3 THREE.JS坐标

Example

const vector3 = Mx.MxFun.screenCoord2World(36, 21, 0)
console.log(vector3)
screenCoordLong2Doc: ((len) => number)

屏幕坐标长度转文档坐标长度

Type declaration

    • (len): number
    • Parameters

      • len: number

        屏幕坐标长度

      Returns number

Returns

number 文档坐标长度

Example

const len = Mx.MxFun.screenCoordLong2Doc(36)
console.log(len)
screenCoordLong2World: ((len) => number)

屏幕坐标长度转THREE.JS坐标长度

Type declaration

    • (len): number
    • Parameters

      • len: number

        屏幕坐标长度

      Returns number

Returns

number THREE.JS坐标长度

Example

const len = Mx.MxFun.screenCoordLong2World(36)
console.log(len)
sendStringToExecute: ((cmdName, ages?) => boolean)

执行命令

Type declaration

    • (cmdName, ages?): boolean
    • Parameters

      • cmdName: string

        命令名

      • Optional ages: any

      Returns boolean

Returns

boolean 命令执行成功为true

Example

if(Mx.MxFun.sendStringToExecute("draw")) {
console.log("成功执行draw命令")
}
setIniset: ((iniObj) => void)

设置配制参数.

Type declaration

    • (iniObj): void
    • Parameters

      Returns void

Example

      Mx.MxFun.setIniset({
EnableIntelliSelect: true
})
setStaticServer: ((server) => void)

设置加载dwg文件,直接使用html get协议加载数据时,使用的服务器地址。

Type declaration

    • (server): void
    • Parameters

      • server: string

        服务网络地址.

      Returns void

Returns

void

Example

Mx.MxFun.setStaticServer("http://localhost:3000/demo");
showLayer: ((idLayer, isShow) => void)

显示或隐藏图层

Type declaration

    • (idLayer, isShow): void
    • Parameters

      • idLayer: string | number

        图层id,或层名

      • isShow: boolean

        是否显示

      Returns void

Returns

void

Example

Mx.MxFun.showLayer(366, true)
Mx.MxFun.showLayer("2363", fasle)
stopRunCommand: (() => void)

停止运行当前命令

Type declaration

    • (): void
    • Returns void

Returns

Example


updateDisplay: (() => void)

更新显示,使用Three.js绘制了对象,调用该函数更新显示。

Type declaration

    • (): void
    • Returns void

Returns

void

Example

Mx.MxFun.updateDisplay()
viewCoordLong2Cad: ((l) => number)

View坐标长度转MxCAD的DWG坐标.

Type declaration

    • (l): number
    • Parameters

      • l: number

      Returns number

worldCoord2Doc: ((x, y, z) => Vector3)

THREE.JS坐标转文档坐标.

Type declaration

    • (x, y, z): Vector3
    • Parameters

      • x: number

        坐标x

      • y: number

        坐标y

      • z: number

        坐标z

      Returns Vector3

Returns

THREE.Vector3 文档坐标

Example

const vector3 = Mx.MxFun.worldCoord2Doc(36, 21, 0)
console.log(vector3)
worldCoord2Screen: ((x, y?, z?) => Vector3)

THREE.JS坐标转屏幕坐标.,屏幕坐标的Y轴向下。坐标原点在左上角.

Type declaration

    • (x, y?, z?): Vector3
    • Parameters

      • x: number | Vector3

        坐标x

      • Optional y: number

        坐标y

      • Optional z: number

        坐标z

      Returns Vector3

Returns

THREE.Vector3 屏幕坐标

Example

const vector3 = Mx.MxFun.worldCoord2Screen(36, 21, 0)
console.log(vector3)
worldCoordLong2Doc: ((len) => number)

THREE.JS坐标长度转屏幕坐标长度

Type declaration

    • (len): number
    • Parameters

      • len: number

        THREE.JS坐标长度

      Returns number

Returns

number 屏幕坐标长度

Example

const len = Mx.MxFun.worldCoordLong2Doc(36)
console.log(len)
zoomAll: (() => void)

Type declaration

    • (): void
    • Returns void

zoomW: ((dLBx, dLBy, dRTx, dRTy, isWorld?) => void)

窗口缩放,把指定的范围内的图形放到视区中

Type declaration

    • (dLBx, dLBy, dRTx, dRTy, isWorld?): void
    • Parameters

      • dLBx: number

        矩形框范围的左下角X坐标

      • dLBy: number

        矩形框范围的左下角X坐标

      • dRTx: number

        矩形框范围的左下角X坐标

      • dRTy: number

        矩形框范围的左下角X坐标

      • Optional isWorld: boolean

        传入的坐标是否是thruee.js坐标,默认传文档坐标

      Returns void

Returns

void

Example

Mx.MxFun.zoomW(21, 22, 300, 310, false)

Methods

  • 添加一个MxDbEntity实体到当前绘图对象上。

    Parameters

    Returns number

    number 返回对象的id.

    Example


  • Internal

    内部使用 ```

    Returns Promise<boolean>

  • 创建十字光标图片

    Parameters

    • cursorSize: number = 128
    • squareSize: number = 10
    • isRoss: boolean = true
    • Optional color: string

    Returns HTMLImageElement

  • 文档转屏幕坐标.

    Parameters

    • x: number | Vector3

      坐标x

    • Optional y: number

      坐标y

    Returns Vector3

    THREE.Vector3 屏幕坐标

    Example

    const vector3 = Mx.MxFun.docCoord2Screen(36, 21, 0)
    console.log(vector3)
  • 获取当前绘图控件对象

    Returns MxDrawObject

    MxDrawObjectType 当前绘图控件对象

    Example

    const mxDraw = Mx.MxFun.getCurrentDraw()
    mxDraw.getScene()
  • 得到当前鼠标位置,返回的是屏幕坐标 。

    Returns Vector3

    Example


  • 返回mxfun.min.js中的THREE.JS对象,可以用它来创建mxfun.min.js中THREE对象。

    Returns __module

  • 返回mxfun.min.js中的ThreeJsTool对象

    Returns any

  • 获取UI数据对象

    Returns MxVueInterface

    mxUiData

    Example

    
    
  • 初始化插件的UI数据对象。

    Parameters

    • uiDataObj: MxVueInterface

    Returns void

    Example

    
    
  • 监听命令行消息动态更新的数据 在取点对象中设置的命令以及我们提供的图形对象中是有一套命令提示和参数化绘图,而该回调函数主要用来监听消息变化

    Parameters

    • callback: undefined | ((data) => void)

    Returns void

    Parma

    callback 回调函数中data中的msCmdTip表示命令提示 msCmdText表示当前用户输入的输入内容 msCmdDisplay表示所有的消息记录

  • 监听指针(鼠标光标)移动变化的坐标信息

    Parameters

    • callback: ((coordTip) => void)
        • (coordTip): void
        • Parameters

          • coordTip: string

          Returns void

    Returns void

    Parma

    callback 回调函数中返回坐标信息

  • 监听光标更新

    Parameters

    • callback: undefined | ((cursorType) => void)

    Returns void

    Parma

    cursorType当前使用的光标类型

  • 加载一个图片对象,返回Three.js材质对象,该函数具有缓存功能,下次加载同样的图片,可以直接返回.

    Parameters

    • imageUrlPath: string
    • Optional callResult: ((material) => null | void)
        • (material): null | void
        • Parameters

          • material: MeshLambertMaterial

          Returns null | void

    Returns Promise<null | MeshLambertMaterial>

    any

    Example

    
    
  • mxdraw引入初始化(一般用于在这个阶段注册命令)

    Parameters

    • name: "init"

    Returns void

  • 注册一个系统事件的监听 init 事件会在模块加载完成后触发。

    Parameters

    • eventName: string
    • call: any

    Returns void

  • MxFun 模块 mxdraw模块初始化同步

    Parameters

    • syncInit: (() => Promise<boolean>)
        • (): Promise<boolean>
        • Returns Promise<boolean>

    Returns void

  • 监听use或者调用自定义图形定义的绘制命令后创建图形对象的回调

    Parameters

    • callback: ((...ages) => any)
        • (...ages): any
        • Parameters

          Returns any

    Returns void

  • 屏幕转文档坐标

    Parameters

    • x: number | Vector3

      坐标x

    • Optional y: number

      坐标y

    Returns Vector3

    THREE.Vector3 文档坐标

    Example

    const vector3 = Mx.MxFun.screenCoord2Doc(36, 21, 0)
    console.log(vector3)
  • 在图上选择一个对象。

    Parameters

    • strPrompt: string

      提示字符串

    • filter: any = null

      过滤条件

    Returns Promise<number>

    number 返回对象的id

    Example


  • 设置命令行消息数据 (在监听input输入框的onKeydown事件的回调函数中调用)

    Parameters

    • msCmdText: string

      用户输入的数据 input输入框输入的文本信息

    • keyCode: number

      按键Code input输入框的onKeydown事件的event事件对象的keyCode属性

    Returns void

  • 为程序设置服务器地址

    Parameters

    • MXSERVER: string = 'ws://localhost:5090'

      服务器地址

    Returns void

    void

    Example

    Mx.MxFun.setMxServer("ws://localhost:5090")
    
  • 设置加载图片回调函数。

    Parameters

    • call: ((url, onLoad?, onError?, fileType?, isTifInverse?) => void)
        • (url, onLoad?, onError?, fileType?, isTifInverse?): void
        • Parameters

          • url: string
          • Optional onLoad: ((texture) => void)
              • (texture): void
              • Parameters

                • texture: any

                Returns void

          • Optional onError: ((event) => void)
              • (event): void
              • Parameters

                • event: any

                Returns void

          • Optional fileType: string
          • Optional isTifInverse: boolean

          Returns void

    Returns void

    Example

    
    
  • 梦想开发测试

    Parameters

    • Optional p: any

    Returns any

    any

    Example

    console.log(Mx.MxFun.TestMX());