ZwDbLine
# 类: ZwDbLine
表示CAD绘图中的直线实体
此类定义直线的属性和行为,由起始点、终止点定义。
# 示例
// 创建示例
const instance = new ZwCloud2D.ZwDataDefinition.ZwDbEntity.ZwDbLine();
# 继承
# 构造函数
# new ZwDbLine()
new ZwDbLine():
ZwDbLine
# 返回
# 继承自
# 属性
# type
type:
string='ZcDbLine'
实体类型标识
# 默认值
'ZcDbLine'
# 重写了
# endPoint
endPoint:
undefined|Point3D
直线的终点坐标 使用三维点坐标表示
# startPoint
startPoint:
undefined|Point3D
直线的起点坐标 使用三维点坐标表示
# entityHandle
entityHandle:
undefined|string
实体句柄,用于唯一标识CAD数据库中的实体
# 继承自
# color
color:
number|RGB=0
实体颜色
# 备注
可以是颜色索引号(0-255)或RGB数组 0 = ByBlock, 256 = ByLayer
# 默认值
0 (ByBlock)
# 继承自
# layer
layer:
string='0'
实体所在图层名称
# 默认值
'0'
# 继承自
# lineType
lineType:
string='ByLayer'
实体线型名称
# 默认值
'ByLayer'
# 继承自
# lineTypeScale
lineTypeScale:
number=1
线型比例因子
# 默认值
1
# 继承自
# lineweight
lineweight:
number=-1
线宽值(毫米)
# 备注
-1 = ByLayer, -2 = ByBlock, -3 = 默认 0.0-2.11mm 具体线宽值
# 默认值
-1 (ByLayer)
# 继承自
# thickness
thickness:
number=0
实体厚度(拉伸高度)
# 默认值
0
# 继承自
# transparency
transparency:
number=0
实体透明度
# 备注
0 = 不透明, 90 = 几乎完全透明
# 默认值
0
# 继承自
# xDataList
xDataList:
object[] =[]
扩展数据列表
# xDataName
xDataName:
string
扩展数据名称
# xDataValue
xDataValue:
object
扩展数据值
# xDataValue.xDataString
xDataString:
string[]
扩展数据字符串数组
# 备注
用于存储应用程序特定的自定义数据
# 默认值
[]
# 继承自
# 方法
# draw()
draw():
Promise<unknown>
绘制直线到指定的绘图上下文
# 返回
Promise<unknown>
# Async
# 示例
// 使用示例
instance.draw();
# open()
open(
handleId):Promise<void>
根据实体句柄获取实体属性并赋值到当前类实例
若未找到实体,则不做处理
# 参数
# handleId
string
# 返回
Promise<void>
# 示例
// 使用示例
instance.open('511');
# 继承自
# copy()
copy():
any
创建当前对象的副本
该方法通过创建当前对象的新实例,并复制所有属性值, 实现对象的浅拷贝功能。
# 返回
any
返回当前对象的一个新副本,具有相同的属性和值
# 示例
// 使用示例
const copy = instance.copy();
console.log(copy instanceof ZwDbLine); // 输出: true
# 继承自
# delete()
delete():
void
删除实例方法 该方法用于删除当前实例,通过删除实例的所有属性来清理对象 注意:这不会从内存中立即删除对象,但会使对象变为空,便于垃圾回收
# 返回
void
# 示例
// 使用示例
instance.delete();
# 继承自
# setXdata()
setXdata(
key,value):void
设置扩展数据(XData)
该方法用于为实体设置扩展数据,扩展数据是存储在实体上的附加信息。 如果已存在相同键名的扩展数据,则会替换原有值;否则添加新的扩展数据项。
# 参数
# key
string
扩展数据的键名,用于标识数据类型
# value
string[]
扩展数据的值,字符串数组形式
# 返回
void
# 示例
// 使用示例
instance.setXdata("自定义属性", ["值1", "值2", "值3"]);
# 继承自
# getXdata()
getXdata():
object[]
获取扩展数据列表
该方法返回当前实例的所有扩展数据(XData)。 扩展数据是存储在实体上的附加信息,可以包含各种自定义属性。
# 返回
object[]
扩展数据列表,包含xDataName和xDataValue对象
# 示例
// 使用示例
const xData = instance.getXdata();
xData.forEach(data => {
console.log(`名称: ${data.xDataName}, 值: ${data.xDataValue.xDataString}`);
});
# 继承自
# getJson()
getJson():
string
将当前实例转换为JSON字符串
该方法将当前对象的所有属性序列化为JSON字符串格式, 便于存储或传输对象数据。
# 返回
string
当前实例的JSON字符串表示
# 示例
// 使用示例
const jsonString = instance.getJson();
console.log(jsonString); // 输出: {"color":0,"layer":"",...}
# 继承自
# setJson()
setJson(
input):void
通过JSON对象设置当前实例的属性值
该方法接受JSON字符串或对象,将其解析后遍历所有属性, 并将存在的属性值赋给当前实例的对应属性。
# 参数
# input
包含属性键值对的JSON字符串或对象
string | object
# 返回
void
# 示例
// 使用示例
instance.setJson('{"color": 255, "layer": "新建图层"}');
// 或
instance.setJson({color: 255, layer: "新建图层"});
# 继承自
# append()
append():
Promise<boolean>
追加实体到数据库
该方法根据当前对象是否已有实体句柄,执行更新或创建操作。 如果已有实体句柄,则更新现有实体;否则创建新实体。
# 返回
Promise<boolean>
返回一个Promise,解析为操作结果:
- true: 实体创建或更新成功
- false: 实体操作失败
# 示例
// 使用示例
const success = await instance.append();
if (success) {
console.log('实体操作成功');
} else {
console.log('实体操作失败');
}
# 继承自
# detach()
detach():
undefined|Promise<boolean>
删除实体
该方法用于从数据库中删除当前实体。如果实体尚未创建(无entityHandle), 则不会执行删除操作并输出提示信息。
# 返回
undefined | Promise<boolean>
返回一个Promise,解析为删除操作结果:
- true: 实体删除成功
- false: 实体删除失败或未创建实体
# 示例
// 使用示例
const success = await instance.detach();
if (success) {
console.log('实体已成功删除');
} else {
console.log('实体删除失败');
}