标注管理 MarkManager
标注管理是用于控制云渲染标注元素的工具,通过获取该管理器,用户可以方便地进行标注元素的控制和管理。 该工具的主要功能包括:
- 根据层名获取标注层对象
- 清除所有图层及其标注
- 移除对应层
- 获取所有层
- 创建标注
- 更新图层标注样式
- 更新某一标注对象样式数据
- 根据url批量创建层以及层中的标注
- 根据标注json对象批量创建层以及层中的标注
我们将提供详细的使用指南和功能说明,帮助用户更好地使用该工具。
MarkManager
用户可以调用云渲染实例 cloud
上的 getMarkManager()
方法来获取 MarkManager
标注元素管理器。
ts
const markManager = await cloud.getMarkManager()
const markManager = await cloud.getMarkManager()
用户调用 cloud.getMarkManager()
后,MarkManager
会被自动挂载到当前 cloud
实例上。
ts
await cloud.getMarkManager()
const markManager = cloud.getMarkManager
await cloud.getMarkManager()
const markManager = cloud.getMarkManager
根据层名获取标注层对象 | getMarkLayerByName
- 说明:根据层名获取标注层对象
我们可以调用 MarkManager
上面的 getMarkLayerByName
方法来根据层名获取标注层对象。
- 参数说明
Name | Type | Description |
---|---|---|
layerName | string | 层名 |
调用示例:
ts
const markManager = await cloud.getMarkManager()
await markManager.getMarkLayerByName("tuceng")
const markManager = await cloud.getMarkManager()
await markManager.getMarkLayerByName("tuceng")
清除所有图层及其标注 | clearAllLayer
- 说明:清除所有图层及其标注
我们可以调用 MarkManager
上面的 clearAllLayer
方法来清除所有图层及其标注。
调用示例:
ts
const markManager = await cloud.getMarkManager()
await markManager.clearAllLayer()
const markManager = await cloud.getMarkManager()
await markManager.clearAllLayer()
移除对应层 | removeMarkLayer
- 说明:移除对应层
我们可以调用 MarkManager
上面的 removeMarkLayer
方法来移除对应层。
- 参数说明
Name | Type | Description |
---|---|---|
layerList | MarkLayer [] | 层列表 |
调用示例:
ts
const markManager = await cloud.getMarkManager()
var layerList = await markManager.getAllMarkLayer()
await markManager.removeMarkLayer(layerList)
const markManager = await cloud.getMarkManager()
var layerList = await markManager.getAllMarkLayer()
await markManager.removeMarkLayer(layerList)
获取所有层 | getAllMarkLayer
- 说明:获取所有层
我们可以调用 MarkManager
上面的 getAllMarkLayer
方法来获取所有层。
调用示例:
ts
const markManager = await cloud.getMarkManager()
const layerList = await markManager.getAllMarkLayer()
const markManager = await cloud.getMarkManager()
const layerList = await markManager.getAllMarkLayer()
创建标注 | createMark
- 说明:创建标注
我们可以调用 MarkManager
上面的 createMark
方法来创建标注。
- 参数说明
Name | Type | Description |
---|---|---|
layerName | string | 层名 |
markStyle | null | MarkStyle | 标注样式 |
markData | MarkData | 标注数据 |
调用示例:
ts
const markStyle = {
dimLineColor: 0xffff0000,
fontLabelStyle: {
face: '宋体',
color: 0xffffff00,
size: 30,
fontLabelPos: 6,
backgroundColor: 0xeeff0000,
height: 35,
textScale: 0.4,
outLineColor: 0xff000000,
outLineWide: 0,
borderColor: 0xffff0000,
fontDir:0,
fontOff:0.01
},
labelType: 'space',
accuracy: 3,
geometryStyle: {
cylinderRadius: 0.01,
rigthConeRadius: 0.02,
rigthConeHeight: 0.10
}
}
const textStyle = {
type: "textMark",
style: markStyle,
skewLeadLength: 1,
flatLeadLength: 0.6,
slopeAngle: 60
}
const textData = {
type: "textMark",
normalDir: {x:1, z:1, y:1},
pos: {X:6.0, y:11.5, z:5.0},
content :"22"
}
const markManager = await cloud.getMarkManager()
await markManager.CreateMark("1",textStyle,textData)
const markStyle = {
dimLineColor: 0xffff0000,
fontLabelStyle: {
face: '宋体',
color: 0xffffff00,
size: 30,
fontLabelPos: 6,
backgroundColor: 0xeeff0000,
height: 35,
textScale: 0.4,
outLineColor: 0xff000000,
outLineWide: 0,
borderColor: 0xffff0000,
fontDir:0,
fontOff:0.01
},
labelType: 'space',
accuracy: 3,
geometryStyle: {
cylinderRadius: 0.01,
rigthConeRadius: 0.02,
rigthConeHeight: 0.10
}
}
const textStyle = {
type: "textMark",
style: markStyle,
skewLeadLength: 1,
flatLeadLength: 0.6,
slopeAngle: 60
}
const textData = {
type: "textMark",
normalDir: {x:1, z:1, y:1},
pos: {X:6.0, y:11.5, z:5.0},
content :"22"
}
const markManager = await cloud.getMarkManager()
await markManager.CreateMark("1",textStyle,textData)
更新图层标注样式 | updateLayerStyle
- 说明:更新图层标注样式
我们可以调用 MarkManager
上面的 updateLayerStyle
方法来更新图层标注样式。
- 参数说明
Name | Type | Description |
---|---|---|
layerName | string | 层名 |
markStyle | null | MarkStyle | 标注样式 |
markData | MarkData | 标注数据 |
调用示例:
ts
const markStyle: MarkUniversalStyle = {
dimLineColor: 0xffff0000,
fontLabelStyle: {
face: '宋体',
color: 0xffffff00,
size: 30,
fontLabelPos: 6,
backgroundColor: 0xeeff0000,
height: 35,
textScale: 0.4,
outLineColor: 0xff000000,
outLineWide: 0,
borderColor: 0xffff0000,
fontDir:0,
fontOff:0.01
},
labelType: 'space',
accuracy: 3,
geometryStyle: {
cylinderRadius: 0.01,
rigthConeRadius: 0.02,
rigthConeHeight: 0.10
}
}
const textStyle: TextMarkStyle = {
type: "textMark",
style: markStyle,
skewLeadLength: 1,
flatLeadLength: 0.6,
slopeAngle: 60
}
const textData: TextMarkData = {
type: "textMark",
normalDir: {x:1, z:1, y:1},
pos: {X:6.0, y:11.5, z:5.0},
content :"22"
}
const layerNameList = ['1','qq']
const markManager = await cloud.getMarkManager()
await markManager.updateLayerStyle(layerNameList,textStyle,textData)
const markStyle: MarkUniversalStyle = {
dimLineColor: 0xffff0000,
fontLabelStyle: {
face: '宋体',
color: 0xffffff00,
size: 30,
fontLabelPos: 6,
backgroundColor: 0xeeff0000,
height: 35,
textScale: 0.4,
outLineColor: 0xff000000,
outLineWide: 0,
borderColor: 0xffff0000,
fontDir:0,
fontOff:0.01
},
labelType: 'space',
accuracy: 3,
geometryStyle: {
cylinderRadius: 0.01,
rigthConeRadius: 0.02,
rigthConeHeight: 0.10
}
}
const textStyle: TextMarkStyle = {
type: "textMark",
style: markStyle,
skewLeadLength: 1,
flatLeadLength: 0.6,
slopeAngle: 60
}
const textData: TextMarkData = {
type: "textMark",
normalDir: {x:1, z:1, y:1},
pos: {X:6.0, y:11.5, z:5.0},
content :"22"
}
const layerNameList = ['1','qq']
const markManager = await cloud.getMarkManager()
await markManager.updateLayerStyle(layerNameList,textStyle,textData)
根据url批量创建层以及层中的标注 | addMarkByUrl
- 说明:根据url批量创建层以及层中的标注
我们可以调用 MarkManager
上面的 addMarkByUrl
方法来根据url批量创建层以及层中的标注。
- 参数说明
Name | Type | Description |
---|---|---|
url | string | url地址 |
调用示例:
ts
{
"marks": [
{
"layerName": "焊点",
"markList": [
{
"markstyle": {
"type": "textMark",
"style": {
"dimLineColor": "0xff87ceeb",
"fontLabelStyle": {
"face": "宋体",
"color": "0xff87ceeb",
"size": 30,
"fontLabelPos": 6,
"backgroundColor": "0x00ff0000",
"height": 35,
"textScale": 0.4,
"outLineColor": "0x00000000",
"outLineWide": 0,
"borderColor": "0x00000000",
"fontDir": 0,
"fontOff": 0.01
},
"labelType": "space",
"accuracy": 3,
"geometryStyle": {
"cylinderRadius": 0.001,
"rigthConeRadius": 0.002,
"rigthConeHeight": 0.008
}
},
"skewLeadLength": 1,
"flatLeadLength": 0.6,
"slopeAngle": 60
},
"markData": {
"type": "textMark",
"normalDir": {
"x": 0,
"y": 1,
"z": 0
},
"extensionDir": {
"x": 1,
"y": 1,
"z": 1
},
"pos": {
"x": 6.0,
"y": 11.5,
"z": 5.0
},
"content": "22"
}
}
],
}
]
}
const markManager = await cloud.getMarkManager()
const import = await markManager.addMarkByUrl('http://127.0.0.1/a')
{
"marks": [
{
"layerName": "焊点",
"markList": [
{
"markstyle": {
"type": "textMark",
"style": {
"dimLineColor": "0xff87ceeb",
"fontLabelStyle": {
"face": "宋体",
"color": "0xff87ceeb",
"size": 30,
"fontLabelPos": 6,
"backgroundColor": "0x00ff0000",
"height": 35,
"textScale": 0.4,
"outLineColor": "0x00000000",
"outLineWide": 0,
"borderColor": "0x00000000",
"fontDir": 0,
"fontOff": 0.01
},
"labelType": "space",
"accuracy": 3,
"geometryStyle": {
"cylinderRadius": 0.001,
"rigthConeRadius": 0.002,
"rigthConeHeight": 0.008
}
},
"skewLeadLength": 1,
"flatLeadLength": 0.6,
"slopeAngle": 60
},
"markData": {
"type": "textMark",
"normalDir": {
"x": 0,
"y": 1,
"z": 0
},
"extensionDir": {
"x": 1,
"y": 1,
"z": 1
},
"pos": {
"x": 6.0,
"y": 11.5,
"z": 5.0
},
"content": "22"
}
}
],
}
]
}
const markManager = await cloud.getMarkManager()
const import = await markManager.addMarkByUrl('http://127.0.0.1/a')
根据标注json对象批量创建层以及层中的标注 | addMarkByJson
- 说明:根据标注json对象批量创建层以及层中的标注
我们可以调用 MarkManager
上面的 addMarkByJson
方法来根据标注json对象批量创建层以及层中的标注。
- 参数说明
Name | Type | Description |
---|---|---|
marks | object | 标注json对象 |
调用示例:
ts
"marks": [
{
"layerName": "焊点",
"markList": [
{
"markstyle": {
"type": "textMark",
"style": {
"dimLineColor": "0xff87ceeb",
"fontLabelStyle": {
"face": "宋体",
"color": "0xff87ceeb",
"size": 30,
"fontLabelPos": 6,
"backgroundColor": "0x00ff0000",
"height": 35,
"textScale": 0.4,
"outLineColor": "0x00000000",
"outLineWide": 0,
"borderColor": "0x00000000",
"fontDir": 0,
"fontOff": 0.01
},
"labelType": "space",
"accuracy": 3,
"geometryStyle": {
"cylinderRadius": 0.001,
"rigthConeRadius": 0.002,
"rigthConeHeight": 0.008
}
},
"skewLeadLength": 1,
"flatLeadLength": 0.6,
"slopeAngle": 60
},
"markData": {
"type": "textMark",
"normalDir": {
"x": 0,
"y": 1,
"z": 0
},
"extensionDir": {
"x": 1,
"y": 1,
"z": 1
},
"pos": {
"x": 6.0,
"y": 11.5,
"z": 5.0
},
"content": "22"
}
}
],
}
]
const markManager = await cloud.getMarkManager()
const import = await markManager.addMarkByJson(marks)
"marks": [
{
"layerName": "焊点",
"markList": [
{
"markstyle": {
"type": "textMark",
"style": {
"dimLineColor": "0xff87ceeb",
"fontLabelStyle": {
"face": "宋体",
"color": "0xff87ceeb",
"size": 30,
"fontLabelPos": 6,
"backgroundColor": "0x00ff0000",
"height": 35,
"textScale": 0.4,
"outLineColor": "0x00000000",
"outLineWide": 0,
"borderColor": "0x00000000",
"fontDir": 0,
"fontOff": 0.01
},
"labelType": "space",
"accuracy": 3,
"geometryStyle": {
"cylinderRadius": 0.001,
"rigthConeRadius": 0.002,
"rigthConeHeight": 0.008
}
},
"skewLeadLength": 1,
"flatLeadLength": 0.6,
"slopeAngle": 60
},
"markData": {
"type": "textMark",
"normalDir": {
"x": 0,
"y": 1,
"z": 0
},
"extensionDir": {
"x": 1,
"y": 1,
"z": 1
},
"pos": {
"x": 6.0,
"y": 11.5,
"z": 5.0
},
"content": "22"
}
}
],
}
]
const markManager = await cloud.getMarkManager()
const import = await markManager.addMarkByJson(marks)