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

    Class TemplateHandle

    模板句柄

    持有已加载的模板文档和 handle 索引,提供按 handle 克隆实体的能力。 由 TemplateService.loadTemplate 创建,同一个 mapid/version 会复用缓存。

    Index

    Constructors

    • Parameters

      • mapid: string
      • version: string
      • doc: CadDocument
      • rawJson: any

      Returns TemplateHandle

    Properties

    mapid: string

    模板地图 ID

    version: string

    模板版本

    模板文档,只读使用,不要直接修改

    rawJson: any

    模板原始 vcad JSON,用于派生新图纸

    Accessors

    • get from(): string

      模板引用,格式 "mapid/version"

      Returns string

    • get handles(): string[]

      模板中可克隆的实体 handle 列表

      Returns string[]

    Methods

    • 按 handle 取得模板实体(只读,不要直接修改)

      Parameters

      • handle: string

        DWG handle

      Returns EntityBase

    • 从模板克隆一个实体到目标文档

      克隆出的实体几何与样式都来自模板,props 中列出的属性会被覆盖; 未覆盖的字体、线型、填充图案在导出 DWG 时保持模板原样。

      Type Parameters

      Parameters

      • handle: string

        模板实体的 DWG handle

      • Optionalprops: Partial<T>

        要覆盖的属性

      • targetDoc: CadDocument = Engine.currentDoc

        目标文档,默认当前文档

      Returns T

      克隆出的实体;handle 不存在时返回 null。实体尚未加入图纸,需自行 Engine.addEntities

    • 批量克隆

      同一个 handle 重复克隆时,模板实体只解析一次;导出时后端也只做一次跨库克隆, 因此适合花纹填充这类同一图案重复成百上千次的场景。

      Type Parameters

      Parameters

      • specs: ICloneEntitySpec<T>[]

        每项指定 handle 与要覆盖的属性

      • targetDoc: CadDocument = Engine.currentDoc

        目标文档,默认当前文档

      Returns T[]

      克隆出的实体数组,跳过 handle 不存在的项

    • 用模板中指定的实体构造一个可交互插入的迷你文档

      产出的文档保留模板的全部符号表定义与块定义,模型空间只含选中的实体, 且实体的 objectId 已改写为克隆标记。可直接交给 SymbolInteractiveInserter 完成「指定插入点 -> 缩放 -> 旋转 -> 插入」的交互流程。

      Parameters

      • handles: string[]

        要插入的模板实体 handle

      • targetDoc: CadDocument = Engine.currentDoc

        将来要插入到的文档,用于决定克隆标记是否带 mapid,默认当前文档

      Returns Promise<CadDocument>

      迷你文档;没有可用实体时返回 null