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

    Class WebCadCoreService

    Index

    Constructors

    Properties

    worker: Worker
    workerProxy: any
    workerUrl: string
    isInitialized: boolean
    initPromise: Promise<boolean>
    version: string

    Methods

    • 初始化服务

      Returns Promise<boolean>

      初始化是否成功

    • 获取服务信息

      Returns Promise<any>

      服务信息

    • 清理资源

      Returns void

    • 检查服务是否可用

      Returns boolean

      服务是否可用

    • 获取版本信息

      Returns string

      版本号

    • 初始化同步 WASM 模块(用于主线程直接调用)

      Returns Promise<boolean>

      初始化是否成功

    • 同步生成填充图案(主线程调用)

      Parameters

      • patContent: string

        PAT 文件内容

      • options: HatchOptions = {}

        渲染选项

      Returns HatchResult

      填充图案线段数组

    • 检查同步 WASM 模块是否已初始化

      Returns boolean

      是否已初始化

    • 渲染单行文本 V2(高效版本,使用二进制格式)

      Parameters

      • input: SingleLineTextInput

        单行文本渲染参数

      Returns TextRenderResult

      渲染结果(多边形数组)

    • 渲染多行文本

      Parameters

      • input: MultiLineTextInput

        多行文本渲染参数

      Returns MultiTextRenderResult

      渲染结果(带颜色的多边形组数组)

    • 渲染多行文本 V2(高效版本,使用二进制格式)

      Parameters

      • input: MultiLineTextInput

        多行文本渲染参数

      Returns MultiTextRenderResult

      渲染结果(带颜色的多边形组数组)

    • 加载字体文件到 WASM

      Parameters

      • fontPath: string

        字体文件路径

      • OptionalfontName: string

        字体名称(可选,用于标识)

      • OptionalfontKind: "ttf" | "woff" | "otf" | "shx"

        字体类型(可选,自动检测)

      Returns Promise<FontInfo>

      字体信息,失败返回 null

    • 批量加载字体

      Parameters

      • fonts: { path: string; name?: string; kind?: "ttf" | "woff" | "otf" | "shx" }[]

        字体配置数组

      Returns Promise<FontInfo[]>

      加载结果数组

    • 根据路径或名称获取字体信息

      Parameters

      • pathOrName: string

        字体路径或名称

      Returns FontInfo

      字体信息,未找到返回 null

    • 获取所有已加载的字体

      Returns FontInfo[]

      字体信息数组

    • Returns FontInfo

    • Returns FontInfo

    • 根据字体文件名或逻辑名称解析字体信息,并提供类型化的默认回退。

      • 当传入 SHX 字体名但未找到对应字体时,使用第一个已加载的 SHX 字体。
      • 当传入 TrueType/WOFF/OTF 名称但未找到时,使用第一个已加载的非 SHX 字体。
      • 当未传入名称时,优先返回 TrueType 默认字体(若不存在则返回任意字体)。

      Parameters

      • OptionalfontNameOrFile: string

      Returns FontInfo

    • 检查数据是否为 gzip/zlib 压缩格式

      Parameters

      • data: Uint8Array

        数据

      Returns boolean

      是否为压缩数据

    • 解压 gzip/zlib 压缩数据

      Parameters

      • compressedData: Uint8Array

        压缩数据

      Returns Uint8Array<ArrayBufferLike>

      解压后的数据,失败返回 null

    • 压缩数据为 gzip 格式

      Parameters

      • data: Uint8Array

        原始数据

      • level: number = 6

        压缩级别 1-9,默认 6

      Returns Uint8Array<ArrayBufferLike>

      压缩后的数据,失败返回 null

    • 解压 .vcad 文件内容为 .webcad JSON 字符串

      Parameters

      • vcadData: Uint8Array

        .vcad 文件的二进制数据

      Returns string

      解压后的 JSON 字符串,失败返回 null

    • 将 .webcad JSON 内容压缩为 .vcad 格式

      Parameters

      • webcadJson: string

        .webcad JSON 字符串

      • level: number = 6

        压缩级别 1-9,默认 6

      Returns Uint8Array<ArrayBufferLike>

      压缩后的数据,失败返回 null

    • 创建 JSON 合并补丁 (merge patch) 比较两个 JSON 字符串,生成从 oldJson 到 newJson 的差异补丁

      Parameters

      • oldJson: string

        原始 JSON 字符串

      • newJson: string

        新 JSON 字符串

      • OptionalexcludeEntityIds: Set<number>

        要排除的实体 ID 集合(只读实体),这些实体不参与 diff 比较

      Returns string

      差异补丁 JSON 字符串,失败返回 null

    • 应用 JSON 合并补丁 (merge patch) 将补丁应用到目标 JSON,生成更新后的 JSON

      Parameters

      • targetJson: string

        目标 JSON 字符串

      • patch: string

        补丁 JSON 字符串

      Returns string

      更新后的 JSON 字符串,失败返回 null

    • 创建 WebCAD 文档的差异补丁 用于比较编辑前后的文档,生成可以保存到服务器的补丁

      Parameters

      • oldWebcad: string

        原始 .webcad JSON 字符串

      • newWebcad: string

        编辑后的 .webcad JSON 字符串

      • OptionalexcludeEntityIds: Set<number>

        要排除的实体 ID 集合(只读实体),这些实体不参与 diff 比较

      Returns string

      差异补丁 JSON 字符串,失败返回 null

    • 应用 WebCAD 补丁 将服务器返回的补丁应用到本地文档

      Parameters

      • webcadJson: string

        当前 .webcad JSON 字符串

      • patch: string

        补丁 JSON 字符串

      Returns string

      更新后的 .webcad JSON 字符串,失败返回 null

    • Get font metrics cache data for glyph rendering

      Returns string

      Cached metrics data string, or null if not available

    • Update font metrics index from external data source

      Parameters

      • metricsData: string

        Encoded metrics data string

      Returns boolean

      true if update successful

    • Get default glyph advance value for font metrics

      Returns number

      Glyph advance value (-1 if not cached)

    • Get font ascent baseline value

      Returns number

      Ascent value (-1 if not cached)

    • Get font descent baseline value

      Returns number

      Descent value (-1 if not cached)

    • Get font line gap spacing value

      Returns number

      Line gap value (0 if not set)

    • Release font metrics cache memory

      Returns void

    • 同步检测边界(主线程调用)

      Parameters

      • input: BoundaryDetectionInput

        边界检测输入参数

      Returns BoundaryDetectionOutput

      边界检测结果

    • 解析SVG内容并转换为WebCAD JSON格式

      Parameters

      • svgContent: string

        SVG内容字符串

      • whiteColorProcessing: number = 0

        白色处理模式: 0=保留, 1=反色, 2=过滤

      • blackColorProcessing: number = 0

        黑色处理模式: 0=保留, 1=反色, 2=过滤

      • enableFill: number = 1

        是否启用填充 (1=是, 0=否)

      • displayLineWeight: number = 1

        是否显示线宽 (1=是, 0=否)

      • lineWeightScale: number = 1.0

        线宽缩放比例

      Returns Promise<string>

      WebCAD JSON字符串,失败返回null