// ************************** 构件切分 **************************
var isComponentSplit = false;
var splitComponentArr = null;
function splitComponent() {
if (!isComponentSplit) {
// 构造切分平面,由一个点及一个向量即可唯一确定
var splitPlane = {
point: {
x: 198896,
y: -3793,
z: 14415
},
normal: {
x: 0.99936,
y: 0.03574,
z: 0
}
}
// 切分指定构件
splitComponentArr = viewer3D.splitComponentByPlane('1759635382273632.706451', splitPlane);
// 判断是否有切分成功
if (splitComponentArr) {
// 构造外部构件管理器
var extObjMng = new Glodon.Bimface.Viewer.ExternalObjectManager(viewer3D);
// 将切分构件以外的构件半透明显示
viewer3D.isolateComponentsById(['1759635382273632.706451'], Glodon.Bimface.Viewer.IsolateOption.MakeOthersTranslucent);
// 遍历切分后的mesh对象,逐一加载进场景,并进行着色处理
for (var i = 0; i < splitComponentArr.length; i++) {
// 构造外部构件的名称,并以此载入进场景
var objectName = 'splitComponent_' + (i + 1).toString();
extObjMng.addObject(objectName, splitComponentArr[i]);
// 根据外部构件名称获取ID,并进行着色
var objId = extObjMng.getObjectIdByName(objectName);
viewer3D.overrideComponentsColorById([objId], setColor(i));
}
// 相机缩放至被切分的构件处
viewer3D.setSelectedComponentsById(['1759635382273632.706451']);
viewer3D.zoomToSelectedComponents();
// 隐藏被切分前的构件
viewer3D.hideComponentsById(['1759635382273632.706451']);
viewer3D.render();
}
isComponentSplit = true;
}
}
// 指定颜色
function setColor(number) {
var color = null;
switch (number) {
case 0:
color = new Glodon.Web.Graphics.Color('#DB5246');
break;
case 1:
color = new Glodon.Web.Graphics.Color('#FAC941');
break;
}
return color;
}
https://bimface.com/developer-jsdemo#1080
当你希望可以在图纸上显示多条测量数据并进行保存、显示、隐藏等操作,可以使用此接口方便大家进行测量并自定义测量数据的可见性。
// 测量长度
function measureLength() {
// 设置测量类型:1、Area:面积测量;2、Distance:距离测量;
measure.setMeasureType(Glodon.Bimface.Plugins.Measure.MeasureTypeOption.Distance);
}
// 测量面积
function measureArea() {
// 设置测量类型:1、Area:面积测量;2、Distance:距离测量;
measure.setMeasureType(Glodon.Bimface.Plugins.Measure.MeasureTypeOption.Area);
}
function failureCallback(error) {
console.log(error);
}
// 获取测量数据
function getMeasureItems() {
var measureItems = measure.getAllItems();
alert(JSON.stringify(measureItems));
console.log(measureItems);
}
https://bimface.com/developer-jsdemo#1078
获取构件信息集合可以通过目录树的ID选中整个组,实现对revit中的模型组做显示、隐藏等操作。
function getSetByComponent() {
//根据构件ID获取所属集合的信息
viewer3D.getSetByComponentId("395150", function (data) {
setData = data;
window.alert(JSON.stringify(setData));
});
}
function getComponentsBySet() {
//根据集合ID获取集合中所有构件的ID数组
viewer3D.getComponentsBySetId("395131", function (items) {
setItems = items;
window.alert(setItems);
});
}
var isModelSetHidden = false;
function hideModelSet() {
if (!setItems) {
window.alert("请先获取集合的构件列表");
} else {
if (!isModelSetHidden) {
viewer3D.hideComponentsById(setItems);
viewer3D.render();
setButtonText("btnHideModelSet", "显示集合");
} else {
viewer3D.showComponentsById(setItems);
viewer3D.render();
setButtonText("btnHideModelSet", "隐藏集合");
}
isModelSetHidden = !isModelSetHidden;
}
}
https://bimface.com/developer-jsdemo#1079
为了可以快速精准定位问题,提升解决效率,我们推出了工单系统,保证大家有问题时可以得到高效解决,节约时间成本。
https://bimface.com/user-console#/help-and-request/manage
https://bimface.com/developer-updates
每一次的迭代离不开你们的声音,BIMFACE在每周五设立了Bug反馈日,目的就是希望有专门运营负责人来搜集记录你们的需求,并将重要的内容反馈到产品团队,及时跟大家保持进度的更新。
本次发版已解决的Bug和需求
我们希望BIMFACE是大家的BIMFACE,我们希望上面也会出现你们的名字,我们希望由你们来见证BIMFACE每一次的成长。
如果你有任何需求或者建议,也欢迎随时在公众号下方留言,我们会第一时间记录并向产品团队反馈跟进。
图文编辑 | 白玉娟 陆剑伟
设计支持 | 刘玮楠 李美竹
图文来源 | 广联达BIMFACE
转载请联系授权 (微信ID:18019221209)