Options
All
  • Public
  • Public/Protected
  • All
Menu

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

 Mx.MxFun.createMxObject

Hierarchy

  • MxFun

Index

Constructors

constructor

Properties

acutPrintf

acutPrintf: undefined | ((sval: string, ...val: string[]) => void)

输出字符串到命令行.

param sval

输出字符串

param ...val

剩余参数 命令cmd

returns

void

example
Mx.MxFun.acutPrintf("{0}:", "draw")

Methods

addCommand

  • addCommand(cmdName: string, fun: Function): void
  • 注册命令

    example
    Mx.MxFun.addCommand("draw", ()=> {
    console.log("draw")
    })

    Parameters

    • cmdName: string

      命令名

    • fun: Function

      命令函数

    Returns void

    void

addToCurrentSpace

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

    example

    Parameters

    Returns number

    number 返回对象的id.

addWindowsEvent

  • addWindowsEvent(fun: (type: string, event: any) => number): void
  • 设置窗口鼠标等事件的回调操作

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

    Parameters

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

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

        • (type: string, event: any): number
        • Parameters

          • type: string
          • event: any

          Returns number

    Returns void

    void

call

  • call(funName: string, param?: any, retfun?: Function): void
  • 调用后台服务程序中的NodeJS用户定义函数 后台程序使用Mx.MxFun.registFun注册用户定义函数

    example
    Mx.MxFun.call("getDrawObject", {
    cadFile: "test.dwg"
    }, (res)=> {
    console.log(res)
    })

    Parameters

    • funName: string

      函数名

    • Optional param: any

      函数参数

    • Optional retfun: Function

      函数返回值回调

    Returns void

    void

callCommand

  • callCommand(cmd: string, param: string, retCall?: (param: any) => void): any
  • 调用服务器后台CAD命令.

    Parameters

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

          • param: any

          Returns void

    Returns any

ceneratecursor

  • ceneratecursor(cursorSize?: number, squareSize?: number, isRoss?: boolean): HTMLImageElement
  • 创建十字光标图片

    Parameters

    • cursorSize: number = 128
    • squareSize: number = 10
    • isRoss: boolean = true

    Returns HTMLImageElement

createMxObject

  • createMxObject(__namedParameters: { cadFile?: string | string[]; canvasId?: string; isAutoResize?: boolean; isMxCAD?: boolean; isNewFile?: boolean; mapBox?: any; useWebsocket?: boolean; userIdentitySign?: string; callback?: any }): void
  • 创建图纸展示控件实例

    paramtype

    string | HTMLCanvasElement | JQuery

    paramtype

    string

    paramtype

    function

    paramtype

    boolean

    example
    Mx.MxFun.createMxObject({
    canvasId: "my-app",
    cadFile: "test2.dwg",
    callback(mxDraw, { canvas, canvasParent }) {
    console.log(mxDraw, canvas, canvasParent)
    },
    isNewFile: true
    })

    Parameters

    • __namedParameters: { cadFile?: string | string[]; canvasId?: string; isAutoResize?: boolean; isMxCAD?: boolean; isNewFile?: boolean; mapBox?: any; useWebsocket?: boolean; userIdentitySign?: string; callback?: any }
      • Optional cadFile?: string | string[]
      • Optional canvasId?: string
      • Optional isAutoResize?: boolean
      • Optional isMxCAD?: boolean
      • Optional isNewFile?: boolean
      • Optional mapBox?: any
      • Optional useWebsocket?: boolean
      • Optional userIdentitySign?: string
      • callback?:function
        • callback(mxDraw: MxDrawObject, dom: { canvas: HTMLCanvasElement; canvasParent: CanvasParent }): void
        • Parameters

          • mxDraw: MxDrawObject
          • dom: { canvas: HTMLCanvasElement; canvasParent: CanvasParent }
            • canvas: HTMLCanvasElement
            • canvasParent: CanvasParent

          Returns void

    Returns void

    void

docCoord2Screen

  • docCoord2Screen(x: number | Vector3, y?: number): Vector3
  • 文档转屏幕坐标.

    example
    const vector3 = Mx.MxFun.docCoord2Screen(36, 21, 0)
    console.log(vector3)

    Parameters

    • x: number | Vector3

      坐标x

    • Optional y: number

      坐标y

    Returns Vector3

    THREE.Vector3 屏幕坐标

docCoord2World

  • docCoord2World(x: number, y: number, z: number): Vector3
  • 文档坐标转THREE.JS坐标 说明: 文档坐标,THREE.JS坐标的X轴都是从左到右,Y轴是下到上,但是屏幕像素坐标系:X轴都是从左到右,Y轴是上到下

    example
    const vector3 = Mx.MxFun.docCoord2World(36, 21, 0)
    console.log(vector3)

    Parameters

    • x: number

      坐标x

    • y: number

      坐标y

    • z: number

      坐标z

    Returns Vector3

    THREE.Vector3 THREE.JS坐标

docCoordLong2Screen

  • docCoordLong2Screen(len: number): number
  • 文档坐标长度转屏幕坐标长度

    example
    const len = Mx.MxFun.docCoordLong2Screen(36)
    console.log(len)

    Parameters

    • len: number

      文档坐标长度

    Returns number

    number 屏幕坐标长度

docCoordLong2World

  • docCoordLong2World(l: number): number
  • DWG文档坐标长度到ThreeJS坐标长度

    example

    Parameters

    • l: number

    Returns number

    number

enablStaticLoad

  • enablStaticLoad(isStaticLoad?: boolean): void
  • 设置加载dwg文件,直接使用html get协议加载数据,这样就不需要梦想后台服务器程序。

    example
    Mx.MxFun.enablStaticLoad(true)
    

    Parameters

    • Optional isStaticLoad: boolean

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

    Returns void

    void

getCurrentDatabase

  • 获得到当前数据库对象.

    example
    
    

    Returns MxDbDatabase

    MxDbDatabase

getCurrentDraw

  • 获取当前绘图控件对象

    example
    const mxDraw = Mx.MxFun.getCurrentDraw()
    mxDraw.getScene()

    Returns MxDrawObject

    MxDrawObjectType 当前绘图控件对象

getCurrentMxCAD

  • 获取当前MxCAD对象,该函数在MxCAD模式下使用

    example
    const mxcad = Mx.MxFun.getCurrentMxCAD()
    console.log(mxcad)

    Returns MxCADObject

    MxDrawObjectType MxCAD对象

getMxFunTHREE

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

    Returns any

getMxFunThreeTool

  • getMxFunThreeTool(): any
  • 返回mxfun.min.js中的ThreeJsTool对象

    Returns any

getQueryString

  • getQueryString(name: string): string
  • 得到地址栏参数

    example
     if(Mx.MxFun.getQueryString("mousetest") === "y")
    

    Parameters

    • name: string

    Returns string

    string 地址栏参数

getUIData

  • getUIData(): MxVueInterface
  • 获取UI数据对象

    example
    
    

    Returns MxVueInterface

    mxUiData

initUiDataObject

  • initUiDataObject(uiDataObj: MxVueInterface): void
  • 初始化插件的UI数据对象。

    example
    
    

    Parameters

    • uiDataObj: MxVueInterface

    Returns void

isRunningCommand

  • isRunningCommand(): boolean
  • 当前是否有命令在运行

    example
    if(Mx.MxFun.isRunningCommand()) {
    // 当前已有命令在运行
    }

    Returns boolean

    boolean

listenForCommandLineInput

  • listenForCommandLineInput(callback: undefined | ((data: { msCmdDisplay: string; msCmdText: string; msCmdTip: string }) => void)): void
  • 监听命令行消息动态更新的数据 在取点对象中设置的命令以及我们提供的图形对象中是有一套命令提示和参数化绘图,而该回调函数主要用来监听消息变化

    parma

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

    Parameters

    • callback: undefined | ((data: { msCmdDisplay: string; msCmdText: string; msCmdTip: string }) => void)

    Returns void

listenForCoordTip

  • listenForCoordTip(callback: (coordTip: string) => void): void
  • 监听指针(鼠标光标)移动变化的坐标信息

    parma

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

    Parameters

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

          • coordTip: string

          Returns void

    Returns void

listenForUpdateCursor

  • listenForUpdateCursor(callback: undefined | ((cursorType: string) => void)): void
  • 监听光标更新

    parma

    cursorType当前使用的光标类型

    Parameters

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

    Returns void

loadImageMaterial

  • loadImageMaterial(imageUrlPath: string, callResult: (material: MeshLambertMaterial) => null | void): Promise<null | MeshLambertMaterial>
  • 加载一个图片对象,返回Three.js材质对象,该函数具有缓存功能,下次加载同样的图片,可以直接返回.

    example
    
    

    Parameters

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

          • material: MeshLambertMaterial

          Returns null | void

    Returns Promise<null | MeshLambertMaterial>

    any

openFile

  • openFile(sFile: string | string[], useWebsocket?: boolean): boolean
  • 重新打开cad文件,该函数在控件创建完后,需要再次重新打开文件,调用。

    example
    
    

    Parameters

    • sFile: string | string[]

      打的cad文件路径

    • useWebsocket: boolean = false

    Returns boolean

    any

screenCoord2Doc

  • screenCoord2Doc(x: number | Vector3, y?: number): Vector3
  • 屏幕转文档坐标

    example
    const vector3 = Mx.MxFun.screenCoord2Doc(36, 21, 0)
    console.log(vector3)

    Parameters

    • x: number | Vector3

      坐标x

    • Optional y: number

      坐标y

    Returns Vector3

    THREE.Vector3 文档坐标

screenCoord2World

  • screenCoord2World(x: number | Vector3, y?: number, z?: number): Vector3
  • 屏幕坐标转THREE.JS坐标.

    example
    const vector3 = Mx.MxFun.screenCoord2World(36, 21, 0)
    console.log(vector3)

    Parameters

    • x: number | Vector3

      坐标x

    • Optional y: number

      坐标y

    • Optional z: number

      坐标z

    Returns Vector3

    THREE.Vector3 THREE.JS坐标

screenCoordLong2Doc

  • screenCoordLong2Doc(len: number): number
  • 屏幕坐标长度转文档坐标长度

    example
    const len = Mx.MxFun.screenCoordLong2Doc(36)
    console.log(len)

    Parameters

    • len: number

      屏幕坐标长度

    Returns number

    number 文档坐标长度

screenCoordLong2World

  • screenCoordLong2World(len: number): number
  • 屏幕坐标长度转THREE.JS坐标长度

    example
    const len = Mx.MxFun.screenCoordLong2World(36)
    console.log(len)

    Parameters

    • len: number

      屏幕坐标长度

    Returns number

    number THREE.JS坐标长度

selectEnt

  • selectEnt(strPrompt: string, filter?: any): Promise<number>
  • 在图上选择一个对象。

    example

    Parameters

    • strPrompt: string

      提示字符串

    • filter: any = null

      过滤条件

    Returns Promise<number>

    number 返回对象的id

sendStringToExecute

  • sendStringToExecute(cmdName: string, ...ages: any[]): boolean
  • 执行命令

    example
    if(Mx.MxFun.sendStringToExecute("draw")) {
    console.log("成功执行draw命令")
    }

    Parameters

    • cmdName: string

      命令名

    • Rest ...ages: any[]

    Returns boolean

    boolean 命令执行成功为true

setCommandLineInputData

  • setCommandLineInputData(msCmdText: string, keyCode: number): void
  • 设置命令行消息数据 (在监听input输入框的onKeydown事件的回调函数中调用)

    Parameters

    • msCmdText: string

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

    • keyCode: number

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

    Returns void

setIniset

  • setIniset(iniObj: object): void
  • 设置控件的配制参数.

    example
          Mx.MxFun.setIniset({
    EnableIntelliSelect: true
    })

    Parameters

    • iniObj: object

    Returns void

    object 配制参数.

setMxServer

  • setMxServer(MXSERVER?: string): void
  • 为程序设置服务器地址

    example
    Mx.MxFun.setMxServer("ws://localhost:5090")
    

    Parameters

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

      服务器地址

    Returns void

    void

setStaticServer

  • setStaticServer(server: string): void
  • 设置加载dwg文件,直接使用html get协议加载数据时,使用的服务器地址。

    example
    Mx.MxFun.setStaticServer("http://localhost:3000/demo");
    

    Parameters

    • server: string

      服务网络地址.

    Returns void

    void

showLayer

  • showLayer(idLayer: string | number, isShow: boolean, isSketch?: boolean): void
  • 显示或隐藏图层

    example
    Mx.MxFun.showLayer(366, true, false)
    Mx.MxFun.showLayer("2363", fasle, false)

    Parameters

    • idLayer: string | number

      图层id,或层名

    • isShow: boolean

      是否显示

    • Optional isSketch: boolean

      暂不使用

    Returns void

    void

testMX

  • testMX(p?: any): any
  • 梦想开发测试

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

    Parameters

    • Optional p: any

    Returns any

    any

upDisplayForLayerData

  • upDisplayForLayerData(dataLayers: any): boolean
  • 更新图纸图层数据

    example
    if(Mx.MxFun.upDisplayForLayerData({

    })) {
    console.log("更新成功")
    }

    Parameters

    • dataLayers: any

    Returns boolean

    boolean 更新成功或失败

updateDisplay

  • updateDisplay(): void
  • 更新显示,使用Three.js绘制了对象,调用该函数更新显示。

    example
    Mx.MxFun.updateDisplay()
    

    Returns void

    void

worldCoord2Doc

  • worldCoord2Doc(x: number, y: number, z: number): Vector3
  • THREE.JS坐标转文档坐标.

    example
    const vector3 = Mx.MxFun.worldCoord2Doc(36, 21, 0)
    console.log(vector3)

    Parameters

    • x: number

      坐标x

    • y: number

      坐标y

    • z: number

      坐标z

    Returns Vector3

    THREE.Vector3 文档坐标

worldCoord2Screen

  • worldCoord2Screen(x: number | Vector3, y?: number, z?: number): Vector3
  • THREE.JS坐标转屏幕坐标.,屏幕坐标的Y轴向下。坐标原点在左上角.

    example
    const vector3 = Mx.MxFun.worldCoord2Screen(36, 21, 0)
    console.log(vector3)

    Parameters

    • x: number | Vector3

      坐标x

    • Optional y: number

      坐标y

    • Optional z: number

      坐标z

    Returns Vector3

    THREE.Vector3 屏幕坐标

worldCoordLong2Doc

  • worldCoordLong2Doc(len: number): number
  • THREE.JS坐标长度转屏幕坐标长度

    example
    const len = Mx.MxFun.worldCoordLong2Doc(36)
    console.log(len)

    Parameters

    • len: number

      THREE.JS坐标长度

    Returns number

    number 屏幕坐标长度

zoomW

  • zoomW(dLBx: number, dLBy: number, dRTx: number, dRTy: number, isWorld?: boolean): void
  • 窗口缩放,把指定的范围内的图形放到视区中

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

    Parameters

    • dLBx: number

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

    • dLBy: number

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

    • dRTx: number

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

    • dRTy: number

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

    • Optional isWorld: boolean

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

    Returns void

    void