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

    Class AlignedDimensionEnt

    对齐标注实体

    用于标注两点之间的实际距离,标注线与两点连线平行。

    • 对齐标注:标注线平行于两个定义点的连线,显示实际距离
    • 线性标注:标注线可以旋转到任意角度,显示投影距离
    import { AlignedDimensionEnt, Point2D } from 'webcad-lib-ts';

    // 创建对齐标注
    const alignedDim = new AlignedDimensionEnt(
    new Point2D(0, 0), // xLine1Point: 第一延伸线定义点
    new Point2D(100, 50), // xLine2Point: 第二延伸线定义点
    new Point2D(50, 40) // dimLinePoint: 标注线位置点
    );

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    type: string = "CUSTOM"

    实体类型标识(固定为 "CUSTOM")

    _nestEntsCache: EntityBase[] = null

    嵌套实体缓存 用于避免重复生成嵌套实体,提高渲染性能

    objectId: string

    DWG对象ID(句柄)- 从DWG文件导入时的唯一标识符 这个值不应该在克隆时复制,新创建的实体应该为空字符串

    id: number

    实体索引ID - 从1开始递增的唯一索引 用于在WebCAD格式中标识实体

    _lineType: string
    _isAlive: boolean
    isDirty: boolean

    是否处于脏状态,供渲染器增量更新

    block?: any
    customType: string = 'ALIGNED_DIMENSION'

    自定义实体类型标识

    customDisplayName: string = '对齐标注'

    自定义实体显示名称

    dimensionType: DimensionType = DimensionType.Aligned

    标注类型

    _textPosition: Point2D = ...

    文本位置(用户指定位置)

    _textOverride: string = ''

    文本覆盖内容

    _textRotation: number = 0

    文本旋转角度

    _useDefaultTextPosition: boolean = true

    是否使用默认文本位置

    _dimText: MTextEnt = null

    缓存的文本实体

    标注样式

    _ownerRefs: OwnerReference[] = []

    关联的源实体引用

    _reactorDirty: boolean = false

    反应器是否脏

    _reactorRegistered: boolean = false

    是否已注册反应器

    Accessors

    • get color(): number

      获取颜色索引

      Returns number

      颜色索引值(256表示"随图层"颜色)

    • set color(value: number): void

      设置颜色索引

      Parameters

      • value: number

        颜色索引值(256表示"随图层"颜色)

      Returns void

    • get layerId(): string

      获取图层ID

      Returns string

      图层ID字符串

    • set layerId(value: string): void

      设置图层ID

      Parameters

      • value: string

        图层ID字符串

      Returns void

    • get lineTypeScale(): number

      获取线型比例

      Returns number

      线型比例因子

    • set lineTypeScale(value: number): void

      设置线型比例

      Parameters

      • value: number

        线型比例因子

      Returns void

    • get lineWeight(): number

      获取线宽

      Returns number

      线宽值(-1=ByLayer, -2=ByBlock, >=0为具体值,单位为0.01mm)

    • set lineWeight(value: number): void

      设置线宽

      Parameters

      • value: number

        线宽值(-1=ByLayer, -2=ByBlock, >=0为具体值)

      Returns void

    • get transpMgr(): TransparencyManager

      获取透明度管理器

      Returns TransparencyManager

      透明度管理器实例

    • set transpMgr(value: TransparencyManager): void

      设置透明度管理器

      Parameters

      Returns void

    • get isAlive(): boolean

      获取实体存活状态

      Returns boolean

      是否存活(true表示有效,false表示已删除)

    • set isAlive(value: boolean): void

      设置实体存活状态

      Parameters

      • value: boolean

        是否存活

      Returns void

    • get xdataRaw(): Record<string, string>

      获取原始扩展数据(用于序列化) 格式: { "1001": "AppName", "1000": "JSON字符串" }

      Returns Record<string, string>

      原始xdata对象或undefined

    • set xdataRaw(value: Record<string, string>): void

      设置原始扩展数据(从数据库加载时使用)

      Parameters

      • value: Record<string, string>

        原始xdata对象

      Returns void

    • get extData(): Record<string, any>

      获取扩展数据(用户友好格式) 自动解析JSON字符串返回对象

      Returns Record<string, any>

      解析后的扩展数据对象,或undefined

      const data = entity.extData;
      console.log(data?.sensorVal); // 10
    • get extDataAppName(): string

      获取扩展数据的应用程序名(AppName)

      Returns string

      AppName字符串,或undefined

    • get doc(): any

      获取所属文档

      通过实体所在的块来获取文档对象。在CAD系统中, 实体总是属于某个块,而块又属于某个文档。

      Returns any

      文档对象,如果无法获取则返回undefined

    • get layer(): string

      获取图层名称

      根据实体的layerId从文档的图层集合中查找对应的图层名称。 如果找不到对应的图层,则返回默认图层"0"。

      Returns string

      图层名称,默认为"0"

    • set layer(layerName: string): void

      设置图层名称

      根据图层名称查找对应的图层ID并设置给实体。 如果找不到指定的图层,则使用默认图层ID("0")。

      注意:优先使用实体所属文档的图层列表,如果实体尚未添加到文档, 则使用 Engine.currentDoc 的图层列表。

      Parameters

      • layerName: string

        图层名称

      Returns void

    • get lineType(): string

      获取线型

      返回实体当前的线型设置。线型控制线条的显示样式 (如实线、虚线、点划线等)。

      Returns string

      线型名称

    • set lineType(lineTypeName: string): void

      设置线型

      设置实体的线型,支持标准CAD线型、常见别名和自定义线型。 输入的线型名称会被转换为大写进行匹配。

      支持的线型:

      • CONTINUOUS: 连续线(实线)
      • HIDDEN/DASHED: 虚线(虚线)
      • CENTER: 中心线
      • PHANTOM: 幻影线
      • DOT: 点线(映射为虚线)
      • 自定义线型:通过LinetypeManager管理的线型

      Parameters

      • lineTypeName: string

        线型名称

      Returns void

    • get xLine1Point(): Point2D

      第一延伸线定义点

      Returns Point2D

    • set xLine1Point(value: Point2D): void

      Parameters

      Returns void

    • get xLine2Point(): Point2D

      第二延伸线定义点

      Returns Point2D

    • set xLine2Point(value: Point2D): void

      Parameters

      Returns void

    • get dimLinePoint(): Point2D

      标注线位置点

      Returns Point2D

    • set dimLinePoint(value: Point2D): void

      Parameters

      Returns void

    • get oblique(): number

      延伸线倾斜角度

      Returns number

    • set oblique(value: number): void

      Parameters

      • value: number

      Returns void

    • get lineAngle(): number

      获取两点连线的角度

      Returns number

    • get dimLineAngle(): number

      获取标注线角度(等于连线角度)

      Returns number

    • get extensionLineAngle(): number

      获取延伸线角度(垂直于标注线 + 倾斜)

      Returns number

    • get dimLineDistance(): number

      获取标注距离(标注线到定义点的距离)

      Returns number

    • get dimLine1Point(): Point2D

      获取标注线上第一个端点

      Returns Point2D

    • get dimLine2Point(): Point2D

      获取标注线上第二个端点

      Returns Point2D

    • get textPosition(): Point2D

      文本位置

      Returns Point2D

    • set textPosition(value: Point2D): void

      Parameters

      Returns void

    • get textOverride(): string

      文本覆盖内容

      Returns string

    • set textOverride(value: string): void

      Parameters

      • value: string

      Returns void

    • get textRotation(): number

      文本旋转角度

      Returns number

    • set textRotation(value: number): void

      Parameters

      • value: number

      Returns void

    • get useDefaultTextPosition(): boolean

      是否使用默认文本位置

      Returns boolean

    • set useDefaultTextPosition(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get style(): DimensionStyle

      标注样式

      Returns DimensionStyle

    • set style(value: DimensionStyle): void

      Parameters

      Returns void

    • get scaleFactor(): number

      缩放因子

      Returns number

    • set scaleFactor(value: number): void

      Parameters

      • value: number

      Returns void

    • get textHeight(): number

      文本高度

      Returns number

    • set textHeight(value: number): void

      Parameters

      • value: number

      Returns void

    • get arrowSize(): number

      箭头大小

      Returns number

    • set arrowSize(value: number): void

      Parameters

      • value: number

      Returns void

    • get textColor(): number

      文本颜色

      Returns number

    • set textColor(value: number): void

      Parameters

      • value: number

      Returns void

    • get dimensionLineColor(): number

      标注线颜色

      Returns number

    • set dimensionLineColor(value: number): void

      Parameters

      • value: number

      Returns void

    • get extensionLineColor(): number

      延伸线颜色

      Returns number

    • set extensionLineColor(value: number): void

      Parameters

      • value: number

      Returns void

    • get decimalPlaces(): number

      小数位数

      Returns number

    • set decimalPlaces(value: number): void

      Parameters

      • value: number

      Returns void

    • get linearScaleFactor(): number

      线性比例因子

      Returns number

    • set linearScaleFactor(value: number): void

      Parameters

      • value: number

      Returns void

    • get textGap(): number

      文本间距

      Returns number

    • set textGap(value: number): void

      Parameters

      • value: number

      Returns void

    • get extensionLineOffset(): number

      延伸线偏移

      Returns number

    • set extensionLineOffset(value: number): void

      Parameters

      • value: number

      Returns void

    • get extensionLineExtend(): number

      延伸线超出量

      Returns number

    • set extensionLineExtend(value: number): void

      Parameters

      • value: number

      Returns void

    • get isAssociative(): boolean

      检查是否为关联标注

      Returns boolean

    Methods

    • 炸开实体

      将自定义实体分解为基本图元(线、圆弧等)。 用于分解命令和DXF导出。

      子类可以重写此方法以提供自定义的炸开逻辑。 如果不重写,默认使用 getNestEnts() 返回的实体进行炸开。

      Returns EntityBase[]

      炸开后的基本实体数组

      explode(): EntityBase[] {
      const line1 = new LineEnt(this.point1, this.point2);
      const arc = new ArcEnt(this.center, this.radius, this.startAng, this.endAng);
      return [line1, arc];
      }
    • 获取嵌套实体(带缓存)

      返回组成该自定义实体的子实体,用于渲染显示。

      此方法使用内部缓存来避免重复生成嵌套实体,提高渲染性能:

      • 如果缓存有效,直接返回缓存的实体数组
      • 如果缓存无效(为 null),调用 buildNestEnts() 生成新实体并缓存
      • 当实体被修改(调用 setModified())时,缓存自动清除

      子类如需重写此方法(如需支持额外参数),应注意正确处理缓存逻辑。

      Returns EntityBase[]

      嵌套实体数组

    • 清除嵌套实体缓存

      在需要强制重新生成嵌套实体时调用。 通常在setModified时会自动调用。

      Returns void

    • 计算边界框

      默认实现:根据 getNestEnts() 返回的子实体计算合并边界框。 子类可以重写此方法以提供自定义的边界框计算逻辑。

      Parameters

      Returns BoundingBox

      边界框

    • 将属性映射到数据库默认属性对象(重写父类方法)

      除了调用父类的基础属性映射外,还会序列化嵌套实体用于DWG导出。

      Parameters

      • targetDbObject: any

        目标数据库属性对象

      Returns any

      映射后的属性对象

    • 获取属性面板显示名称

      返回在属性面板中显示的实体名称。 超过指定长度的内容将被截断并显示"..."

      Parameters

      • maxLength: number = 20

        最大显示长度,默认为20

      Returns string

      显示名称

    • 标记实体已修改

      重写父类方法,在标记修改时同时清除嵌套实体缓存。

      Returns void

    • 设置扩展数据(用户友好格式) 自动将对象序列化为JSON字符串存储

      Parameters

      • appName: string

        应用程序名(用于在DWG中标识数据来源)

      • data: Record<string, any>

        要存储的数据对象(将被序列化为JSON)

      Returns void

      entity.setExtData("MY_SENSOR", {
      sensorVal: 10,
      deviceName: "温度传感器",
      isActive: true
      });
    • 清除扩展数据

      Returns void

    • 检查是否有扩展数据

      Returns boolean

      是否存在扩展数据

    • 从默认属性对象复制属性

      将指定的默认属性对象的所有相关属性复制到当前实体。 这通常用于创建新实体时应用默认设置。

      Parameters

      • defaultPropsObject: any

        默认属性对象,包含layer、colorIndex、lineType等属性

      Returns this

      当前实例(支持链式调用)

    • 设置为系统默认值

      从全局CAD系统设置中获取当前的默认属性值并应用到实体。 这些默认值包括当前图层、当前颜色、当前线型等。

      使用的全局变量:

      • Engine.currentDoc.CLAYER: 当前图层名称
      • Engine.CECOLOR: 当前实体颜色
      • Engine.CELTYPE: 当前实体线型
      • Engine.CELTSCALE: 当前实体线型比例

      Returns void

    • 从数据库默认属性对象设置属性

      从数据库查询结果或序列化数据中恢复实体属性。 这个方法处理数据库中可能存在的空值和默认值情况。

      Parameters

      • dbPropsObject: any

        数据库属性对象,包含layerId、colorIndex等属性

      Returns this

      当前实例(支持链式调用)

    • 获取测量值(两点间距离)

      Returns number

    • 获取默认文本旋转角度

      Returns number

    • 旋转变换

      Parameters

      Returns void

    • 缩放变换

      Parameters

      Returns void

    • 夹点编辑

      Parameters

      Returns void

    • 设置源实体(建立关联)

      Parameters

      • line1Id: number

        第一点关联线的实体ID(-1表示无关联)

      • line1SegIdx: number

        第一点关联线的线段索引(-1表示整条线)

      • line2Id: number

        第二点关联线的实体ID(-1表示无关联)

      • line2SegIdx: number

        第二点关联线的线段索引(-1表示整条线)

      • Optionalpoint1Type: "midpoint" | "center" | "start" | "end"

        第一点在关联线上的点类型

      • Optionalpoint2Type: "midpoint" | "center" | "start" | "end"

        第二点在关联线上的点类型

      • Optionalpoint1ParameterT: number

        第一点在关联线上的线性参数 t (0-1)

      • Optionalpoint2ParameterT: number

        第二点在关联线上的线性参数 t (0-1)

      Returns void

    • 从源实体更新

      Returns boolean

    • 从当前文档应用标注样式 获取文档中当前的标注样式并应用到此实体

      Returns void

    • 获取实际箭头大小(考虑缩放)

      Returns number

    • 获取实际文本高度(考虑缩放)

      Returns number

    • 获取实际文本间距(考虑缩放)

      Returns number

    • 获取实际延伸线超出量(考虑缩放)

      Returns number

    • 获取显示文本

      Returns string

    • 更新文本实体

      Returns void

    • 确保文本可读(不会上下颠倒)

      Parameters

      • rotation: number

      Returns number

    • 创建标注线实体

      Parameters

      • start: Point2D

        起点

      • end: Point2D

        终点

      • isDimensionLine: boolean = true

        是否是标注线(true: 标注线, false: 延伸线)

      Returns LineEnt

    • 创建弧实体

      Parameters

      • center: Point2D
      • radius: number
      • startAngle: number
      • endAngle: number
      • OptionalcolorOverride: number

      Returns ArcEnt

    • 创建标注弧实体

      Parameters

      • center: Point2D
      • radius: number
      • startAngle: number
      • endAngle: number

      Returns ArcEnt

    • 检查是否应该绘制延伸线1

      Returns boolean

    • 检查是否应该绘制延伸线2

      Returns boolean

    • 检查是否应该绘制标注线1(第一段,起点到中间)

      Returns boolean

    • 检查是否应该绘制标注线2(第二段,中间到终点)

      Returns boolean

    • 格式化线性测量值

      Parameters

      • value: number

      Returns string

    • 格式化角度测量值

      Parameters

      • valueRadians: number

      Returns string

    • 格式化半径测量值

      Parameters

      • value: number

      Returns string

    • 格式化直径测量值

      Parameters

      • value: number

      Returns string

    • 格式化弧长测量值

      Parameters

      • value: number

      Returns string

    • 格式化带公差的测量值

      Parameters

      • value: number

      Returns string

    • 规范化文本角度

      Parameters

      • angle: number

      Returns number

    • 获取此反应器订阅的所有Owner实体ID

      Returns number[]

    • 标记反应器需要更新

      Returns void

    • 检查反应器是否脏

      Returns boolean

    • 断开与所有Owner的关联

      Returns void

    • 尝试注册到反应器管理器

      Parameters

      • docId: number

      Returns boolean

    • 验证源实体是否有效

      Returns boolean

    • 获取颜色显示文本

      Parameters

      • colorIndex: number

        颜色索引

      Returns string

      颜色显示文本

    • 获取箭头类型选项列表

      Returns { label: string; value: number }[]

    • 释放资源

      Returns void