BOS3D常见问题
    A:显示模型需要服务端API地址、视窗、数据库及模型key
     <--视窗-->
     <div id="viewer"style="width:100%; height:100%"> </div>
     <--导入API库-->
     <script src="http://bos3d.bimwinner.com/static/latest/BIMWINNER.BOS3D.min.js" charset="utf-8"> </script>
     <script type="text/javascript">
    var option = {host:"http://bos3d.bimwinner.com", viewport: "viewer"};//指定数据库地址及视窗
    var viewer3D = new BIMWINNER.BOS3D.Viewer(option);
    var  modelKey = "M1541058376596";//指定模型key
    var  projectKey = "test";//数据库名
     viewer3D.addView(modelKey, projectKey);//模型加载
    </script>
                                                    
    A:系统采用逐步加载渲染的方式,随着数据的加载就会显示真实的材质。
    A:
  • 这可能是由于模型未完成加载。
  • 避免出现问题的方法:监听模型加载完成的事件,待加载完后再操作
  • viewer3D.viewerImpl.modelManager.addEventListener(BIMWINNER.BOS3D.EVENTS.ON_LOAD_COMPLETE, function () {
            viewer3D.colorfulComponentsByKey("M1534990622889_0","#FF0000");
    }
                                                   
    A:
  • 这可能是由于模型格式转换之后导致的场景坐标范围出现了较大的偏差。
  • 解决问题的方法:重新拾取三维坐标并合理设置标签的scale
  • //点击拾取三维坐标,并输出到控制台
     viewer3D.viewerImpl.modelManager.addEventListener(BIMWINNER.BOS3D.EVENTS.ON_CLICK_PICK, function(event) {
            if (event.intersectInfo) {
                console.log(event.intersectInfo.point);
            }
        })
                                                    
    A:这是由于场景没有创建完成,请确认您是否已经正确生成了场景。
    A:这是浏览器跨域限制。您可以用火狐打开,或将此html页面放在您的服务器下在打开。
    A:
    //获取
    viewer3D.viewerImpl.getCamera();
    //设置
    /**
         * 设置世界空间(兼容绘图空间,无版本号的数据为绘图空间数据)的相机状态
         *
         * @param {String} jsonStr - 相机信息字符串
         * @param {Boolean} force - 是否强制更新相机
         * @param {Function} callbackFinish - 相机设置完成后回调函数
         */
    viewer3D.viewerImpl.setCamera(jsonStr, force, callbackFinish);
                                                    
    A:目前无法实现模型整体变色,但是可以通过获取模型中所有构件,之后依次对构件进行变色
    var objects=viewer3D.getAllComponents();
    var keys=[];
    for(var i=0;i<objects.length;i++){
         keys[i]=objects[i].key;
    }
    viewer3D.colorfulComponentsByKey(keys,"#FF0000");
    
                                                    
    A:构件key为构件的唯一标识,由模型key加下划线(_)加构件id组成;构件id为构件在所属模型中的唯一标识,即构件的guid。
    A:监听ON_LOAD_CONFIG_FINISH事件完成,设置相机视角
     viewer3D.viewerImpl.modelManager.addEventListener(BIMWINNER.BOS3D.EVENTS.ON_LOAD_CONFIG_FINISH, function (event) {
            viewer3D.viewerImpl.lookAt(position, center, up);//设置相机位置、焦点以及正方向,这三个值均为三维方向向量,例如:new THREE.Vector3( 1, 0, 0 );
             viewer3D.originalView ={position: position, target: center, up: up};
     }
                                                    
    A:通过滑动鼠标滚轮可以实现模型的缩放。调用的接口中参数表示倍数,即缩放系数。
    A:
    var mark=new BIMWINNER.BOS3D.DOMMark(viewer3D.viewerImpl);
    var dom=$("<img src="img/tu.jpg" width="320px" height="180px">");
    mark.add({
       id:"domMarkDemo",
       title:"管道",
       startPosition:[-1698655.5,-419405, 1985282],
       endPosition:[500,500],
       domElement:dom[0],
    });
                                                    
    A:测量结果依赖于模型的大小尺寸,而不是依据生活常识,若想要贴近真实的数据,请使用尽量标准的模型,在建模过程中请尽量还原真实效果。
    A:从Viewer-4.7.0版本开始,构件的透明度归属为颜色,可以用复位颜色的按钮复位。现在透明指的是构件略微可见的状态,可以通过接口设置。
    A:
  • 这是由于浏览器的跨域限制。
  • 避免出现问题的方法:可以采用火狐浏览器打开,或将我们的网站放到您的服务器下打开
    A:当前版本为内部预览版本,没有进行权限控制。
    A:请妥善保管您的FileKey和modelKey。
    A:本接口支持ifc、rvt、imodel和obj格式的模型,请在上传时选择正确的模型格式
    A:排除请求数据的错误,这个问题是由于请求超时引起的,可以再次尝试发送请求。
    A:在请求body中填写的数据必须是构件key,不是模型key。
    A:构件属性、几何文件、转换矩阵、包围盒、面片数、名称类别等数据
    A:可以,只要是通过解析的模型,都可以查看构件信息。
    A:可以,调用获取模型所有构件类型的接口,就可以获取到模型的构件分类信息。
    A:先调用获取模型所有构件列表的接口,然后调用批量获取模型构件属性的接口。
    A:Revit视图设置会影响导出实体的数量。如果要导出全部实体,请将视图设置为精细模式,然后导出。
    A:
  • 若无法导出,删除插件,重新安装对应revit版本的最新插件。
  • 若可以导出,但导出的不是zip包,可以手动压缩为zip格式或安装最新插件。