如何获取BIM模型生成的场景 [已关闭]

0 投票
将BIM模型导入supermap中,保存一个场景,生成一个工作空间,如何通过c#调取这个场景。
问题关闭原因: 已解决
3月 28, 2018 分类:  434次浏览 | 用户: xiaobaojia 初出茅庐 (37 分)
已关闭 3月 30, 2018 用户:xiaobaojia

1个回答

0 投票
您好,scene.open即可打开指定的工作空间,另外组件任何一个三维的示范代码都有打开场景的步骤,您可以参考一下组件包中samplecode/realspace里面的代码。
3月 28, 2018 用户: 胡林 登峰造极 (5,879 分)
您能帮我看下吗,为啥我启动程序总是看到的是地球,无法加载三维场景。

 class SampleRun
    {
        private Workspace m_workspace;
        private SceneControl m_sceneControl;
        private DatasourceConnectionInfo m_networkDsInfo;
        public SampleRun(Workspace workspace, SceneControl sceneControl)
        {
            try
            {
                m_workspace = workspace;
                m_networkDsInfo = new DatasourceConnectionInfo();

                m_sceneControl = sceneControl;
                m_sceneControl.Scene.Workspace = workspace;
                Initialize();
                m_sceneControl.Action = Action3D.Pan;
                m_sceneControl.Scene.Refresh();
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
        private void Initialize()
        {
            try
            {
                WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(@"..\..\SampleData\OlympicGreenCache\OlympicGreen.sxwu");
                conInfo.Type = WorkspaceType.SXWU;
                m_workspace.Open(conInfo);
                m_sceneControl.Scene.Workspace = m_workspace;
                m_sceneControl.Scene.Open("OlympicGreen");
                Camera camera = new Camera(116.400051607769, 39.9944935290146, 195.335914293304);
                camera.Heading = 345.565878061643;
                camera.Tilt = 56.6953528399311;
                camera.AltitudeMode = AltitudeMode.RelativeToGround;
                m_sceneControl.Scene.Fly(camera, 5000);
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
    }
您好,请检查一下工作空间是否成功打开了,检查的方法可以是查看workspace.datasources.count是否为0,为0的话就说明没有成功打开工作空间。没打开工作空间的原因是:1.其它程序打开了该工作空间,导致数据源被占用。2.工作空间的路径不对,不妨使用绝对路径试试呢。。
感谢帮助,已解决
...