构造函数
创建一个直线实体,设置起点、终点和颜色。
支持简化的数组写法 [x, y] 或 [x, y, z]。
起点坐标,支持 Point2D 或数组 [x, y],默认为原点(0,0)
终点坐标,支持 Point2D 或数组 [x, y],默认为(1,0)
颜色索引,默认为256(随图层颜色)
DWG对象ID(句柄)- 从DWG文件导入时的唯一标识符 这个值不应该在克隆时复制,新创建的实体应该为空字符串
实体索引ID - 从1开始递增的唯一索引 用于在WebCAD格式中标识实体
是否处于脏状态,供渲染器增量更新
Optionalblock实体类型标识符(如"LINE"、"CIRCLE"等)
获取颜色索引
颜色索引值(256表示"随图层"颜色)
设置颜色索引
颜色索引值(256表示"随图层"颜色)
获取图层ID
图层ID字符串
设置图层ID
图层ID字符串
获取线型比例
线型比例因子
设置线型比例
线型比例因子
获取线宽
线宽值(-1=ByLayer, -2=ByBlock, >=0为具体值,单位为0.01mm)
设置线宽
线宽值(-1=ByLayer, -2=ByBlock, >=0为具体值)
获取实体存活状态
是否存活(true表示有效,false表示已删除)
设置实体存活状态
是否存活
获取原始扩展数据(用于序列化) 格式: { "1001": "AppName", "1000": "JSON字符串" }
原始xdata对象或undefined
设置原始扩展数据(从数据库加载时使用)
原始xdata对象
获取扩展数据的应用程序名(AppName)
AppName字符串,或undefined
获取所属文档
通过实体所在的块来获取文档对象。在CAD系统中, 实体总是属于某个块,而块又属于某个文档。
文档对象,如果无法获取则返回undefined
获取图层名称
根据实体的layerId从文档的图层集合中查找对应的图层名称。 如果找不到对应的图层,则返回默认图层"0"。
图层名称,默认为"0"
设置图层名称
根据图层名称查找对应的图层ID并设置给实体。 如果找不到指定的图层,则使用默认图层ID("0")。
注意:优先使用实体所属文档的图层列表,如果实体尚未添加到文档, 则使用 Engine.currentDoc 的图层列表。
图层名称
获取线型
返回实体当前的线型设置。线型控制线条的显示样式 (如实线、虚线、点划线等)。
线型名称
设置线型
设置实体的线型,支持标准CAD线型、常见别名和自定义线型。 输入的线型名称会被转换为大写进行匹配。
支持的线型:
线型名称
获取起点Z坐标
起点Z坐标
设置起点Z坐标
新的起点Z坐标
获取终点Z坐标
终点Z坐标
设置终点Z坐标
新的终点Z坐标
获取直线角度
计算直线的角度,从起点指向终点的方向角。
角度值(弧度,0-2π范围)
获取直线长度
计算直线的长度,即起点和终点之间的距离。
直线长度
清除扩展数据
检查是否有扩展数据
是否存在扩展数据
从默认属性对象复制属性
将指定的默认属性对象的所有相关属性复制到当前实体。 这通常用于创建新实体时应用默认设置。
默认属性对象,包含layer、colorIndex、lineType等属性
当前实例(支持链式调用)
设置为系统默认值
从全局CAD系统设置中获取当前的默认属性值并应用到实体。 这些默认值包括当前图层、当前颜色、当前线型等。
使用的全局变量:
从数据库默认属性对象设置属性
从数据库查询结果或序列化数据中恢复实体属性。 这个方法处理数据库中可能存在的空值和默认值情况。
数据库属性对象,包含layerId、colorIndex等属性
当前实例(支持链式调用)
将属性映射到数据库默认属性对象
将当前实体的属性映射到数据库存储格式的对象中。 用于保存实体数据到数据库或序列化。
目标数据库属性对象
映射后的属性对象
通知渲染系统此实体已被修改。
在桶渲染模式下,这将标记对应的桶为"脏",以便在下次 regenPartial 时重绘。
注意:此方法只标记,不触发重绘。调用方需要在适当的时候(如命令结束时)调用 regenPartial()。
释放实体占用的外部资源 子类如持有 PIXI 对象或大尺寸缓冲,应覆盖此方法清理
检查所有关键点是否在指定框内
判断直线的起点和终点是否都在指定的边界框内。 这个方法用于快速的可见性检测和选择过滤。
边界框对象
如果起点和终点都在框内返回true,否则返回false
从前端按距离修剪直线
根据指定的距离从直线的起点开始修剪。 修剪后的起点会沿着直线方向移动指定距离。
修剪距离
从后端按距离修剪直线
根据指定的距离从直线的终点开始修剪。 修剪后的终点会沿着直线反方向移动指定距离。
修剪距离
计算边界框
根据指定的坐标系计算直线的最小边界矩形。 对于直线,边界框由起点和终点确定。
坐标系类型(M.WCS=世界坐标系,M.UCS=用户坐标系,M.DCS=显示坐标系)
边界框对象,包含最小点和最大点
反转点顺序
交换直线的起点和终点,改变直线的方向。 这个操作不改变直线的几何形状,只改变方向。
镜像变换
对直线进行镜像变换,以指定的两点为镜像轴。 镜像操作会改变起点和终点的位置。
镜像轴起点
镜像轴终点
移动变换
将直线从一个位置移动到另一个位置。 同时移动起点和终点,保持直线的长度和方向不变。
起始位置
目标位置
旋转变换
围绕指定点旋转直线。同时旋转起点和终点。
旋转中心点
旋转角度(弧度)
缩放变换
以指定点为中心对直线进行缩放。 同时缩放起点和终点的位置。
缩放中心点
缩放因子
拉伸变形操作
根据拉伸框和移动向量对直线进行拉伸变形。 拉伸行为取决于直线的哪些端点在拉伸框内:
拉伸起始点
拉伸目标点
拉伸框对象,包含pt1和pt2属性
夹点编辑操作
根据夹点类型和新位置更新直线的几何参数。 支持三种夹点类型:起点、终点、中点。
新的夹点位置
夹点类型("start"=起点,"end"=终点,"mid"=中点)
直线类
表示CAD中的直线实体,继承自实体基类。 直线是最基本的CAD几何图形,由起点和终点完全确定。
主要功能:
Example