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

    Class CadDocument

    CAD文档类 表示一个完整的CAD文档,包含所有图层、块、布局等

    import { Engine, CadDocument } from '@aspect/webcad-lib-ts';

    // 获取当前文档
    const doc = Engine.currentDoc;

    // 访问图层
    const layers = doc.layers;

    // 访问块定义
    const blocks = doc.blocks;

    // 获取模型空间
    const modelSpace = doc.modelSpace;
    Index

    Constructors

    Properties

    appName: string

    应用程序名称

    docVer: number

    文档版本

    docId: number

    文档ID

    name: string

    文档名称

    fileByte: number

    文件字节数

    path: string

    文件路径

    blocks: Blocks

    块集合

    图像集合

    layers: Layers

    图层集合

    layouts: Layouts

    布局集合

    plotStyles: PlotStyles

    打印样式

    textStyles: TextStyles

    文本样式集合

    dimensionStyles: DimensionStyles

    标注样式集合

    docEnv: DocEnv

    文档环境

    undoManager: UndoManager

    撤销管理器

    ActiveSpace: number

    活动空间

    MSpace: boolean

    是否在模型空间

    TILEMODE: number

    平铺模式

    DBMOD: number

    数据库修改标志

    STATE: string

    状态

    isReadOnly: boolean

    是否只读

    isNewDocument: boolean

    是否为新建文档

    linetypeDefinitions: string

    线型定义字符串

    shapeDefinitions: string

    形状定义字符串

    patternDefinitions: string

    填充图案定义字符串

    maxEntityId: number

    最大实体ID - 用于版本比对,只增不减 即使删除了所有实体,这个值也会保留

    readOnlyEntityIds: Set<number>

    只读实体ID集合 - 部分打开图纸时,记录只读实体的ID 保存时这些ID不参与diff比较,避免被误认为是删除的实体

    serverSource?: {
        type: "imports" | "designs";
        mapid?: string;
        version?: string;
        designPath?: string;
        branchName?: string;
        originalJsonCompressed?: Uint8Array;
        lastPatchId?: string;
        editAreas?: BoundingBox[];
        loadedEntityIds?: Set<number>;
        editLayers?: string[];
        tileAlpha?: number;
    }

    服务器来源信息 - 用于追踪从服务器打开的图纸

    Type Declaration

    • type: "imports" | "designs"
    • Optionalmapid?: string
    • Optionalversion?: string
    • OptionaldesignPath?: string
    • OptionalbranchName?: string

      分支名称,默认 "main"

    • OptionaloriginalJsonCompressed?: Uint8Array

      原始JSON压缩后的二进制数据(使用gzip压缩,节省内存)

    • OptionallastPatchId?: string

      当前图的父版本ID (parentId) 即当前编辑是基于哪个patch版本的 保存时作为 parentId 发送给后端用于版本比对和冲突检测

    • OptionaleditAreas?: BoundingBox[]

      编辑区域列表(瓦片模式下) 每个区域是一个独立的矩形范围

    • OptionalloadedEntityIds?: Set<number>

      已加载的实体ID集合(用于多区域编辑时去重) 避免同一个实体在多个区域选择时重复显示

    • OptionaleditLayers?: string[]

      编辑图层名称列表(瓦片模式下) 记录要编辑的图层名称,与 editAreas 是"或"的关系

    • OptionaltileAlpha?: number

      瓦片图层透明度(0-1) 瓦片模式下保存瓦片图层的透明度设置,下次打开时恢复

    Accessors

    • get LTSCALE(): number

      获取线型比例

      Returns number

      线型比例值

    • set LTSCALE(newLineTypeScale: number): void

      设置线型比例

      Parameters

      • newLineTypeScale: number

        新的线型比例值

      Returns void

    • get DIMSCALE(): number

      获取标注比例

      Returns number

      标注比例值

    • set DIMSCALE(newDimensionScale: number): void

      设置标注比例

      Parameters

      • newDimensionScale: number

        新的标注比例值

      Returns void

    • get CECOLOR(): any

      获取当前实体颜色

      Returns any

      当前颜色

    • set CECOLOR(newEntityColor: any): void

      设置当前实体颜色

      Parameters

      • newEntityColor: any

        新的颜色值

      Returns void

    • get CLAYER(): string

      获取当前图层名

      Returns string

      当前图层名

    • set CLAYER(layerName: string): void

      设置当前图层

      Parameters

      • layerName: string

        图层名

      Returns void

    • get CTAB(): string

      获取当前选项卡(布局)

      Returns string

      当前选项卡名

    • set CTAB(tabName: string): void

      设置当前选项卡(布局)

      Parameters

      • tabName: string

        选项卡名

      Returns void

    • get fullName(): string

      获取完整文件名(包含路径)

      Returns string

      完整文件路径

    • get baseName(): string

      获取基础文件名(不含扩展名)

      Returns string

      基础文件名

    • get fileName(): string

      获取文件名

      Returns string

      文件名

    • get extension(): string

      获取文件扩展名

      Returns string

      文件扩展名

    • get activeLayout(): Layout

      获取活动布局(属性形式)

      Returns Layout

      活动布局对象

    Methods

    • 设置原始JSON(压缩后存储)

      Parameters

      • json: string

        原始JSON字符串

      Returns Promise<boolean>

      是否成功

    • 获取原始JSON(解压后返回)

      Returns Promise<string>

      原始JSON字符串,失败返回null

    • 收集所有已修改的实体 ID 用于保存到本地时记录,以便从本地加载后恢复 _modified 标识

      Returns number[]

      已修改的实体 ID 数组

    • 根据保存的修改实体 ID 列表,恢复实体的 _isModifiedForDiff 标识

      Parameters

      • modifiedEntityIds: number[]

        已修改的实体 ID 数组

      Returns number

      恢复的实体数量

    • 合并区域编辑的数据到原始数据中 用于瓦片模式下多次区域编辑的场景

      Parameters

      • newData: any

        新加载的区域数据(webcad 对象格式)

      Returns Promise<boolean>

      是否成功

    • 设置当前图层(带界面更新)

      Parameters

      • layerName: string

        图层名

      • shouldUpdateUI: boolean = true

        是否更新界面,默认为true

      Returns void

    • 设置文档为已修改状态

      Returns void

    • 清除文档修改标志

      Returns void

    • 清空文档内容 重新初始化所有集合

      Returns void

    • 释放文档中引用的大块资源,供关闭文档时调用

      Returns void

    • 设置当前空间

      Parameters

      • blockObject: any

        块对象

      Returns void

    • 获取当前空间(方法形式)

      Returns BlockDefinition

      当前活动布局的块

    • 获取活动布局

      Returns Layout

      活动布局对象

    • 根据索引获取布局

      Parameters

      • layoutIndex: number

        布局索引

      Returns Layout

      布局对象

    • 转换为数据库对象 将文档转换为可持久化的数据库格式

      Returns DbDoc

      数据库文档对象

    • 从数据库实体数据创建实体对象

      Parameters

      • dbEntity: any

        数据库实体数据

      • blockDefinition: BlockDefinition

        块定义对象

      Returns any

      创建的实体对象,如果类型不支持则返回null

    • 从数据库对象加载 从数据库格式恢复文档数据

      Parameters

      • dbDocument: any

        数据库文档对象

      • OptionalonProgress: (progress: number) => void

        进度回调函数,参数为 0-100 的百分比

      Returns Promise<void>

    • 从数据库对象部分加载 支持两种模式:

      • append=false(默认):首次加载,会更新 maxId,不合并现有数据
      • append=true:追加模式,不更新 maxId,合并到现有数据中(用于区域编辑等场景)

      Parameters

      • dbDocument: any

        数据库文档对象

      • editableFilter: (dbEntity: any, layerMap: Map<string, string>) => boolean

        可编辑实体过滤器

      • readOnlyGraphics: CadGraphics

        只读层图形对象

      • renderer: EntityRenderer

        实体渲染器

      • OptionalonProgress: (progress: number) => void

        进度回调

      • append: boolean = false

        是否为追加模式(默认 false)

      Returns Promise<{ editableCount: number; readOnlyCount: number; needsRegen?: boolean }>

      加载统计信息,包括可编辑数量、只读数量、是否需要 regen

    • 加载指定图层的延迟实体 当图层第一次被打开时,从所有块中加载该图层的延迟实体

      Parameters

      • layerId: string

        图层ID(字符串类型)

      Returns void

    • 加载填充图案定义

      Parameters

      • patContent: string

        PAT格式的填充图案定义字符串

      • category: string = "loaded"

        图案分类(可选)

      Returns number

      成功加载的图案数量

    • 更新嵌套块 更新所有INSERT实体的嵌套实体引用

      Parameters

      • OptionalyieldControl: () => Promise<void>

        让出控制权的函数(可选)

      Returns Promise<void>