WebCAD-Lib-TS API 文档 - v1.0.0
    Preparing search index...

    Class MainView

    主视图类 - 使用 Lit 官方推荐的静态属性写法

    Hierarchy (View Summary)

    Index

    Constructors

    • 构造函数

      Parameters

      • Optionalconfig: MainViewConfig

        配置对象

        主视图配置接口

        • Optionalappname?: string
        • Optionalversion?: string
        • OptionalwasmServiceUrl?: string
        • OptionalserviceUrl?: string
        • Optionalworkspace?: string
        • OptionalaccessToken?: string
        • OptionalaccessKey?: string
        • Optionalfonts?: { path: string; name?: string; kind?: "ttf" | "woff" | "otf" | "shx" }[]
        • OptionalcloseDocOnOpen?: boolean

          打开图纸时关闭当前文档(单文档打开模式)

          • true(默认): 打开新图纸时先关闭当前文档,节省内存
            • 新建文档不受影响,可以正常增加文档数量
          • false: 打开新图纸时保留当前文档(传统方式)
        • Optionalplugins?: PluginConfig[]

          插件配置列表 - 启动时自动加载的插件

          plugins: [
          { url: '/plugins/find-replace/plugin.js' },
          { url: 'https://example.com/my-plugin.js', cssUrl: 'https://example.com/my-plugin.css' }
          ]
        • OptionalpluginMarketUrl?: string

          服务端插件市场地址

          访问此地址可获取服务端插件市场的插件列表(JSON格式)。 自动加载的插件会在程序启动时自动下载并加载。

          pluginMarketUrl: "http://127.0.0.1:8082/plugins.json"
          
        • OptionaldocUrl?: string

          官方文档地址

          点击顶栏右侧的文档按钮时打开此地址。 默认为 https://www.vjmap.com

          docUrl: "https://www.vjmap.com/docs"
          
        • OptionalsidebarStyle?: "left" | "right" | "none" | "both"

          侧边栏样式

          控制侧边栏的初始显示位置:

          • "both": 左右两侧都显示
          • "left": 只显示左侧
          • "right": 只显示右侧(默认)
          • "none": 不显示侧边栏
          sidebarStyle: "none" // 初始不显示侧边栏
          
        • OptionalviewMode?: "full" | "viewer"

          视图模式

          控制 UI 组件的显示:

          • "full": 完整模式,显示所有 UI 组件(默认)
          • "viewer": 查看模式,只显示绘图区域,隐藏菜单、工具栏、命令行等

          viewer 模式适用于只需要查看和选择实体的场景,可通过 SDK 获取选中实体信息。

          viewMode: "viewer" // 只显示绘图区域
          
        • OptionalshowMenuBar?: boolean

          是否显示菜单栏(细粒度控制) 默认 true。设为 false 时隐藏菜单栏。

        • OptionalshowToolBar?: boolean

          是否显示工具栏/Ribbon(细粒度控制) 默认 true。设为 false 时隐藏工具栏。

        • OptionalshowDocBar?: boolean

          是否显示文档栏(细粒度控制) 默认 true。设为 false 时隐藏文档标签栏。

        • OptionalshowCoordsBar?: boolean

          是否显示坐标栏(细粒度控制) 默认 true。设为 false 时隐藏坐标栏。

        • OptionalshowCommandLine?: boolean

          是否显示命令行(细粒度控制) 默认 true。设为 false 时隐藏命令行。

        • OptionalshowBottomBar?: boolean

          是否显示底部状态栏(细粒度控制) 默认 true。设为 false 时隐藏底部状态栏。

        • OptionalenableContextMenu?: boolean

          是否启用右键菜单(细粒度控制) 默认 true。设为 false 时禁用右键菜单。 viewer 模式下默认禁用。

        • OptionalshowGrips?: boolean

          是否显示选择夹点(细粒度控制) 默认 true。设为 false 时选择实体后不显示夹点。 viewer 模式下默认禁用(防止通过夹点拖动修改实体)。

        • OptionalshowUcsIcon?: boolean

          是否显示左下角的坐标轴图标(UCS 图标) 默认 true。设为 false 时隐藏左下角的坐标轴指示器。

        • OptionalshowAxis?: boolean

          是否显示图中绘制的坐标轴 默认 true。设为 false 时隐藏图中绘制的坐标轴。

        • OptionalbackgroundAlpha?: number

          背景透明度 (0-1) 默认 1(不透明)。设为 0 可实现透明背景,用于图层叠加场景。

        • OptionalshowCrosshair?: boolean

          是否显示十字光标 默认 true。设为 false 时隐藏十字光标和拾取框。

        • OptionaldisablePointerEvents?: boolean

          是否禁用鼠标事件(允许事件穿透) 默认 false。设为 true 时 canvas 不接收鼠标事件,用于图层叠加场景。

        • OptionalthemeMode?: number

          主题模式 0=深色(默认),1=浅色。影响实体默认颜色等。

      Returns MainView

    Properties

    properties: { theme: { type: StringConstructor } } = ...

    定义响应式属性 - 使用静态属性

    这是 Lit 官方推荐的写法,会自动处理属性的响应式更新 使用 query 来查询 DOM 元素

    styles: r = ...

    定义样式 - 使用静态属性

    theme: string
    pcanvas: any
    editor: any
    splitterController: any
    panelController: any
    autoComplete: any
    contextMenu: any
    sidePalettes: any
    container: any
    pixiCanvasContainer: any
    commandLine: any
    docBar: any
    menuBar: any
    ribbonBar: any
    documentTabs: any
    toolBar: any
    coordsBar: any
    actBarLeft: any
    actBarRight: any
    sidebarFrameLeft: any
    sidebarFrameRight: any
    fontsConfig?: {
        path: string;
        name?: string;
        kind?: "ttf" | "woff" | "otf" | "shx";
    }[]
    pluginsConfig?: PluginConfig[]
    pluginMarketUrl?: string
    sidebarStyleConfig?: "left" | "right" | "none" | "both"
    viewModeConfig?: "full" | "viewer"
    showMenuBarConfig?: boolean
    showToolBarConfig?: boolean
    showDocBarConfig?: boolean
    showCoordsBarConfig?: boolean
    showCommandLineConfig?: boolean
    showBottomBarConfig?: boolean
    enableContextMenuConfig?: boolean
    showGripsConfig?: boolean
    showUcsIconConfig?: boolean
    showAxisConfig?: boolean
    backgroundAlphaConfig?: number
    showCrosshairConfig?: boolean
    disablePointerEventsConfig?: boolean
    themeModeConfig?: number
    URL_PARAM_PREFIX: "vcad_" = 'vcad_'

    URL 参数前缀,用于防止与其他系统参数冲突

    URL_PARAMS: {
        MAPID: string;
        VERSION: string;
        BRANCH: string;
        PATCH: string;
        READONLY: string;
        TILE: string;
    } = ...

    URL 参数名称常量

    Type Declaration

    • MAPID: string

      图纸 ID (mapid)

    • VERSION: string

      版本号,可选,默认最新版本

    • BRANCH: string

      分支名称,可选,默认 main

    • PATCH: string

      Patch ID,可选,默认 base

    • READONLY: string

      是否只读打开,可选,默认 false

    • TILE: string

      是否以瓦片方式打开,可选,默认 false

    renderRoot: any

    Accessors

    • get observedAttributes(): any[]

      Returns any[]

    • get updateComplete(): any

      Returns any

    Methods

    • 清空文件数据

      Returns void

    • 设置主题

      Parameters

      • t: string

        主题名称

      Returns void

    • 首次更新后回调

      Returns Promise<void>

    • 等待视图初始化完成

      在初始化完成后返回,可用于替代 DocumentCreated 事件监听。 初始化包括:画布创建、WASM 加载、插件加载、URL 参数处理等。

      Returns Promise<void>

      初始化完成后 resolve

      const cadView = new MainView({ ... });
      initCadContainer("map", cadView);

      // 等待初始化完成
      await cadView.onLoad();

      // 现在可以直接操作 CAD
      const line = new LineEnt(new Point2D(0, 0), new Point2D(100, 100));
      Engine.pcanvas.addLine(line);
    • 加载插件列表

      Parameters

      Returns Promise<void>

    • 动态加载单个插件

      Parameters

      • url: string

        插件JS文件URL

      • OptionalcssUrl: string

        插件CSS文件URL(可选)

      Returns Promise<string>

      插件ID

    • 卸载插件

      Parameters

      • pluginId: string

        插件ID

      Returns Promise<void>

    • 初始化事件监听器

      Returns void

    • 隐藏UI元素

      Returns void

    • 命令行输入回调

      Parameters

      • t: any

        事件对象

      Returns void

    • 文档变更回调

      Parameters

      • t: any

        事件对象

      Returns Promise<void>

    • 新建文档

      Returns any

      新文档对象

    • 下载文档

      Parameters

      • t: string

        文件名

      Returns Promise<void>

    • 另存为文档

      Parameters

      • t: any

        文档对象

      • e: string

        文件名

      • i: string = ""

        文件路径

      Returns Promise<void>

    • 克隆另存为文档

      Parameters

      • t: any

        源文档对象

      • e: string

        文件名

      • i: string = ""

        文件路径

      Returns Promise<void>

    • 打开或激活文档

      Parameters

      • t: string

        文档全名

      Returns Promise<boolean>

      是否成功

    • 打开文档

      Parameters

      • t: any

        文档对象

      Returns Promise<void>

    • 打开数据库文档

      Parameters

      • t: File

        文件对象

      • e: any

        数据库数据

      • i: boolean = false

        是否只读

      Returns Promise<boolean>

      是否成功打开

    • 通过文件打开文档

      Parameters

      • t: File

        文件对象

      • e: boolean = false

        是否只读

      Returns Promise<void>

    • 读取文件为数据库文档

      Parameters

      • t: File

        文件对象

      Returns Promise<any>

      数据库数据

    • 开始监听坐标

      Returns void

    • 画布鼠标移动回调

      Parameters

      • t: any

        事件对象

      Returns void

    • 根据名称关闭文档

      Parameters

      • t: string

        文档名称

      Returns void

    • 根据ID关闭文档

      Parameters

      • t: string

        文档ID

      Returns void

    • 关闭当前文档

      Returns void

    • 渲染方法

      Returns any

      渲染结果

    • Parameters

      • t: any

      Returns void

    • Parameters

      • t: any
      • e: {
            attribute: boolean;
            type: StringConstructor;
            converter: {
                toAttribute(t: any, e: any): any;
                fromAttribute(t: any, e: any): any;
            };
            reflect: boolean;
            hasChanged: (t: any, e: any) => boolean;
        } = y

      Returns void

    • Parameters

      • t: any
      • e: any
      • s: any

      Returns { get(): any; set(e: any): void; configurable: boolean; enumerable: boolean }

    • Parameters

      • t: any

      Returns any

    • Returns void

    • Returns void

    • Parameters

      • t: any

      Returns any[]

    • Parameters

      • t: any
      • e: any

      Returns string

    • Returns void

    • Parameters

      • t: any

      Returns void

    • Parameters

      • t: any

      Returns void

    • Returns void

    • Parameters

      • t: any

      Returns void

    • Parameters

      • t: any
      • e: any
      • s: any

      Returns void

    • Parameters

      • t: any
      • e: any

      Returns void

    • Parameters

      • t: any
      • e: any

      Returns void

    • Parameters

      • Optionalt: any
      • Optionale: any
      • Optionals: any

      Returns void

    • Parameters

      • t: any
      • e: any
      • s: any

      Returns void

    • Returns Promise<boolean>

    • Parameters

      • t: any

      Returns void

    • Parameters

      • t: any

      Returns void

    • Returns void

    • Parameters

      • t: any

      Returns boolean

    • Parameters

      • t: any

      Returns void

    • Returns ShadowRoot

    • Parameters

      • t: any

      Returns void