1. 圆孔分析对象
位于 BOS3D.Plugins.HolesAnalysis
1.1. 类声明
//拿到4个html标签
let elementArray = [
document.getElementById("value1"),
document.getElementById("value2"),
document.getElementById("value3"),
document.getElementById("value4"),
];
//创建圆孔分析对象
let holesAnalysis = new BOS3D.Plugins.HolesAnalysis({
// BOS3D.Viewer对象
viewer: viewer3D,
// 用于标识连接线距离的html标签数组,如果不传,会自动创建
elements: elementArray,
// 用于标识圆孔位置的div,如果不传,会自动创建
holeElement: element,
// 构件参考面原点的mesh尺寸
originMeshSize: 1,
// 构件参考面原点mesh的颜色
originMeshColor: new Color(0xd400ff),
// 圆孔mesh的颜色
holeMeshColor: new Color(0xffff00),
// 连接线端点的尺寸
targetMeshSize: 1,
// 连接线端点的颜色
targetMeshColor: new Color(0xffff00),
// 连接线的宽度
lineWidth: 2,
});
//将该对象添加到场景中
viewer3D.add(holesAnalysis);
1.1.1. 参数
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
options | 一个有以下参数的对象 | Object | 否 | {} |
options.viewer | BOS3D.Viewer 对象 | String | 是 | |
options.elements | 用于标识连接线距离的 html 标签数组 | Array | 否 | |
options.holeElement | 用于标识圆孔位置的 div | domElement | 否 | |
options.originMeshSize | 构件参考面原点的 mesh 尺寸 | Number | 否 | 1 |
options.originMeshColor | 构件参考面原点 mesh 的颜色 | Number | 否 | new Color(0xd400ff) |
options.holeMeshColor | 圆孔 mesh 的颜色 | Number | 否 | new Color(0xffff00) |
options.targetMeshSize | 连接线端点的尺寸 | Number | 否 | 1 |
options.targetMeshColor | 连接线端点的颜色 | Number | 否 | new Color(0xffff00) |
options.lineWidth | 连接线的宽度 | Number | 否 | 2 |
1.2. 属性
1.3. 方法
1.3.1. getMiddlePosition
根据圆孔 key 返回 4 条连接线的中心点距离
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
/**
* 根据圆孔key返回4条连接线的中心点距离
* @param {String} key 圆孔的key
* @return {Array<Vector3>}
* @returns
*/
holesAnalysis.getMiddlePosition("M1610094394632_420452_0");
1.3.2. getDistance
根据圆孔 key 返回 4 条连接线的长度
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
/**
* 根据圆孔key返回4条连接线的长度
*
* @param {String} key 圆孔的key
* @return {Array<Number>} 4条连接线的距离数组
* @memberof HolesAnalysis
*/
holesAnalysis.getDistance("M1610094394632_420452_0");
1.3.3. getOrigin
获取该构件的构架参考面原点
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
componentKey | 构件的 key | String | 是 | "M1610094394632_420452" |
/**
* 获取该构件的构架参考面原点
* @param {String} componentKey 构件的key
* @returns {Array<Vector3>} 两个对角的构件参考面原点坐标诸城的数组
*/
holesAnalysis.getOrigin("M1610094394632_420452");
1.3.4. showOriginMesh
显示或隐藏代表构件参考面起点的 mesh
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
componentKey | 构件的 key | String | 是 | "M1610094394632_420452" |
value | 如果为 true 则显示,false 隐藏 | boolean | 否 | true |
/**
* 显示或隐藏代表构件参考面起点的mesh
* @param {String} componentKey 构件的key
* @param {boolean} [value=true] 如果为true则显示,false隐藏
* @memberof HolesAnalysis
*/
holesAnalysis.showOriginMesh("M1610094394632_420452", true);
1.3.5. getHoleKeys
获取所有圆孔的 key
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
/**
* 获取所有圆孔的key
* @returns {Array<String>}
*/
holesAnalysis.getHoleKeys();
1.3.6. getHoleInfo
根据圆孔的 key 获取该圆孔的信息
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
/**
* 根据圆孔的key获取该圆孔的信息
*
* @param {String} key 圆孔的key
* @return {*}
* @memberof HolesAnalysis
*/
holesAnalysis.getHoleInfo("M1610094394632_420452_0");
1.3.7. getHoleCenter
根据圆孔 key 返回圆孔的中心点坐标
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
/**
* 根据圆孔key返回圆孔的中心点坐标
* @param {String} key
* @returns {Vector3}
* @memberof HolesAnalysis
*/
holesAnalysis.getHoleCenter("M1610094394632_420452_0");
1.3.8. showHoleByKey
通过圆孔的 key,显示或者隐藏圆孔
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
value | 如果为 true 则显示,false 隐藏 | boolean | 否 | true |
/**
* 通过圆孔的key,显示或者隐藏圆孔
*
* @param {String} key 圆孔的key
* @param {boolean} [value=true] true:显示该圆孔,false: 隐藏该圆孔
* @return {*}
* @memberof HolesAnalysis
*/
holesAnalysis.showHoleByKey("M1610094394632_420452_0", true);
1.3.9. removeHoleByKey
根据圆孔的 key,从内存中移除圆孔 mesh
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
/**
* 根据圆孔的key,从内存中移除圆孔mesh
* @param {String} key 圆孔的key
* @returns
*/
holesAnalysis.removeHoleByKey("M1610094394632_420452_0");
1.3.10. showAllHoles
显示或隐藏所有的圆孔
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
value | 如果为 true 则显示,false 隐藏 | boolean | 否 | true |
/**
* 显示或隐藏所有的圆孔
*
* @param {boolean} [value=true] true: 显示所有的圆孔,false隐藏
* @memberof HolesAnalysis
*/
holesAnalysis.showAllHoles(true);
1.3.11. removeAllHoles
从内存中移除移除所有的圆孔
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
/**
* 从内存中移除移除所有的圆孔
*
* @memberof HolesAnalysis
*/
holesAnalysis.removeAllHoles();
1.3.12. showLineByKey
显示或隐藏圆孔 key 对应的连接线
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
value | 如果为 true 则显示,false 隐藏 | boolean | 否 | true |
/**
* 显示或隐藏圆孔key对应的连接线
*
* @param {String} key 圆孔的key
* @param {boolean} [value=true] 如果为true则显示连接线,否则隐藏
* @return {*}
* @memberof HolesAnalysis
*/
holesAnalysis.showLineByKey("M1610094394632_420452_0", true);
1.3.13. removeLineByKey
根据圆孔 key 从内存中移除对应的连接线
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
/**
* 根据圆孔key从内存中移除对应的连接线
*
* @param {String} key 圆孔的key
* @return {void}
* @memberof HolesAnalysis
*/
holesAnalysis.removeLineByKey("M1610094394632_420452_0");
1.3.14. showHoleObjectByKey
根据 key,显示或隐藏当前圆孔的所有对象
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
value | 如果为 true 则显示,false 隐藏 | boolean | 否 | true |
/**
* 根据key,显示或隐藏当前圆孔的所有对象
* @param {String} key 圆孔的key
* @param {Boolean} [value = true] 如果为true则显示连接线,否则隐藏
*/
holesAnalysis.showHoleObjectByKey("M1610094394632_420452_0");
1.3.15. removeHoloObjectByKey
根据 key,从内存中移除当前圆孔组件
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
/**
* 根据key,从内存中移除当前圆孔组件
* @param {String} key 圆孔的key
*/
holesAnalysis.removeHoloObjectByKey("M1610094394632_420452_0");
1.3.16. removeAllHoloObjects
移除所有的圆孔组件对象
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
/**
* 从内存中移除所有的圆孔组件对象
*/
holesAnalysis.removeAllHoloObjects();
1.3.17. updateLineWidthByKey
根据圆孔 key,更新对应的连接线的宽度
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
lineWidth | 线宽 | Number | 是 | 2.0 |
//设置连接线的线宽为2像素
holesAnalysis.updateLineWidthByKey("M1610094394632_420452_0", 2.0);
1.3.18. updateLineColorByKey
根据圆孔 key,更新对应的连接线的颜色
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
color | 颜色 | Color | 是 | new Color(0xf7219f) |
//设置连接线的线宽为2像素
holesAnalysis.updateLineColorByKey("M1610094394632_420452_0", new Color(0xf7219f));
1.3.19. updateHoleColorByKey
根据圆孔 key,更新对应的圆孔的颜色
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
color | 颜色 | Color | 是 | new Color(0xf7219f) |
//设置连接线的线宽为2像素
holesAnalysis.updateHoleColorByKey("M1610094394632_420452_0", new Color(0xf7219f));
1.3.20. updateOriginMeshSizeByComponentKey
根据圆孔 key,更新构件参考面原点 mesh 的尺寸
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 构件的 key | String | 是 | "M1610094394632_420452" |
size | 尺寸 | Number | 是 | 1 |
//设将原点的尺寸设置为原来的2倍
holesAnalysis.updateOriginMeshSizeByComponentKey("M1610094394632_420452", 2.0);
1.3.21. updateOriginMeshColorByComponentKey
根据圆孔 key,更新构件参考面原点 mesh 的颜色
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
color | 颜色 | Color | 是 | new Color(0xf7219f) |
//设置该构件参考面原点的颜色为new Color(0xf7219f)
holesAnalysis.updateOriginMeshColorByComponentKey("M1610094394632_420452_0", new Color(0xf7219f));
1.3.22. updateTargetMeshColorByKey
根据圆孔 key,更新端点 mesh 的颜色
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔的 key | String | 是 | "M1610094394632_420452_0" |
color | 颜色 | Color | 是 | new Color(0xf7219f) |
holesAnalysis.updateTargetMeshColorByKey("M1610094394632_420452_0", new Color(0xf7219f));
1.3.23. updateTargetMeshSizeByKey
根据圆孔 key,更新端点 mesh 的尺寸
名称 | 说明 | 类型 | 是否必须 | 示例 |
---|---|---|---|---|
key | 圆孔 key | String | 是 | "M1610094394632_420452" |
size | 尺寸 | Number | 是 | 1 |
//设将端点的尺寸设置为原来的2倍
holesAnalysis.updateTargetMeshSizeByKey("M1610094394632_420452_0", 2.0);