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

    Class BlockDefinition

    块定义类 表示CAD中的块定义,包含块的所有实体和属性 块是可重复使用的图形元素集合

    import { BlockDefinition, LineEnt, Point2D, Engine } from '@aspect/webcad-lib-ts';

    // 获取块定义
    const block = Engine.currentDoc.blocks.itemByName("我的块");

    // 遍历块中的实体
    for (const entity of block.items) {
    console.log(entity.type);
    }
    Index

    Constructors

    • 构造函数

      Parameters

      • document: any

        文档对象

      Returns BlockDefinition

    Properties

    blockId: string

    块ID(8位GUID字符串,空字符串表示未分配)

    isLayout: boolean

    是否为布局块

    isXref: boolean

    是否为外部引用

    name: string

    块名称

    lookPt: Point2D

    视点坐标

    twistAngle: number

    扭转角度

    zoom: number

    缩放比例

    UCSXANG: number

    用户坐标系X轴角度

    UCSORG: Point2D

    用户坐标系原点

    items: any[]

    块中的实体数组

    所属文档

    initBounds: number[]

    初始范围 [minX, minY, maxX, maxY](WCS坐标) 用于 zoom=0 时前端自动缩放到初始范围

    lazyEntities: Map<string, { entity: any; originalIndex: number }[]>
    readOnlyGraphics: CadGraphics = null

    只读层的 Graphics 引用

    Accessors

    • get basePoint(): Point2D

      获取块基点

      Returns Point2D

    • set basePoint(value: Point2D | [number, number]): void

      设置块基点,支持 Point2D 或 [x, y] 数组形式

      Parameters

      Returns void

    • get count(): number

      Returns number

    • get aliveItems(): any[]

      Returns any[]

    Methods

    • Parameters

      • document: any

      Returns void

    • Parameters

      • zoomValue: number

      Returns void

    • Parameters

      • zoomFactor: number = 0.9

      Returns void

    • Parameters

      • zoomFactor: number = 0.9

      Returns void

    • Returns boolean

    • 添加实体到块定义(add的别名,使API更清晰)

      Parameters

      Returns EntityBase

      添加的实体或null(如果被事件取消)

    • 获取视图中心的WCS坐标 用于计算渲染原点是否需要更新

      Returns Point2D

      视图中心的WCS坐标

    • 判断是否需要重新设置渲染原点

      Parameters

      • centerWcs: Point2D

        当前视图中心的WCS坐标

      • threshold: number = 50000

        触发Rebase的阈值,默认50000

      Returns boolean

      是否需要Rebase

    • 重新设置渲染原点

      Parameters

      • centerWcs: Point2D

        新的中心WCS坐标

      • step: number = 10000

        吸附步长,默认10000,减少频繁Rebase

      Returns boolean

      渲染原点是否发生了变化

    • 获取图元局部坐标系的渲染偏移 用于设置CadGraphics的position,将大坐标变为小坐标

      Returns Point2D

      局部渲染偏移 (-renderOrigin.x, +renderOrigin.y)

    • 获取容器的补偿位移 用于在容器层级补偿局部坐标系的偏移,保持视觉效果不变

      Returns Point2D

      容器补偿位移

    • 启用渲染原点功能 根据当前视图中心自动设置渲染原点,解决大坐标精度问题

      Parameters

      • centerWcs: Point2D = null

        可选的中心点,默认使用当前视图中心

      • step: number = 10000

        吸附步长,默认10000

      Returns boolean

      是否成功启用

    • 禁用渲染原点功能 将渲染原点设置为null,恢复传统渲染方式

      Returns void

    • 检查渲染原点是否已启用

      Returns boolean

      是否已启用渲染原点

    • 强制启用渲染原点并触发重绘 用于解决大坐标精度问题的快速修复方法

      Parameters

      • centerWcs: Point2D = null

        可选的中心点,默认使用当前视图中心

      Returns void

    • Parameters

      Returns void

    • Returns DbBlock

    • Parameters

      • dbData: any

      Returns void

    • 加载指定图层的延迟实体 当图层第一次被打开时,从延迟加载的数据中创建实体对象 根据原始索引将实体插入到正确位置以保持绘制次序

      Parameters

      • layerId: string

        图层ID(字符串类型)

      Returns Promise<void>

      加载的实体数量

    • 处理图层删除时的lazyEntities清理 直接删除该图层的延迟加载实体数据

      Parameters

      • deletedLayerId: string

        被删除的图层ID(字符串类型)

      Returns void

    • 处理图层ID重新映射时的lazyEntities更新 注意:layerId 现在使用 GUID 字符串,通常不需要重新编号 此方法保留用于特殊情况下的图层ID迁移

      Parameters

      • idMapping: Map<string, string>

        图层ID映射表,格式:Map<oldId, newId>

      Returns void

    • 加载只读实体并渲染到底图层 渲染完成后释放临时实体对象以节省内存

      Parameters

      • dbEntities: any[]

        只读实体的数据库数据数组

      • renderer: EntityRenderer

        实体渲染器

      • graphics: CadGraphics

        目标 Graphics 对象(只读层)

      Returns void

    • 清除只读层

      Returns void

    • 设置只读层透明度

      Parameters

      • alpha: number

        透明度值 (0-1)

      Returns void

    • 释放块内资源,避免引用悬挂

      Returns void