浏览问题
等待回复
精选文章
申请试用
资源中心
漏洞修复
注册
|
登录
SuperMap技术问答社区
我要
提问
智能客服
首页
/
浏览问题
/
组件GIS
/
问题详情
如何获取BIM模型生成的场景
xiaobaoj...
39EXP
2018年03月28日
将BIM模型导入supermap中,保存一个场景,生成一个工作空间,如何通过c#调取这个场景。
问题关闭原因:
已解决
二次开发
三维
iobjects
1个回答
您好,scene.open即可打开指定的工作空间,另外组件任何一个三维的示范代码都有打开场景的步骤,您可以参考一下组件包中samplecode/realspace里面的代码。
胡林
5,985EXP
2018年03月28日
您能帮我看下吗,为啥我启动程序总是看到的是地球,无法加载三维场景。
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.工作空间的路径不对,不妨使用绝对路径试试呢。。
感谢帮助,已解决
请
登录
或者
注册
后再添加评论。
智能推荐
相关问题
相关文章
推荐教程
根据平面坐标获取DEM模型中对应点位的高程
iClient 3D场景如何获取模型实体对象
如何获取地图中的线对象
如何根据地图上的点获取布局页面中对应点的布局坐标
二次开发通过控件交互向场景中添加模型数据集并显示模型
如何将获得的结果存成数据集
iobjects .net 10i 如何打开三维场景
如何获取点坐标根据该点生成缓冲区,最好有代码
热门文章
查看更多>
关注我们
超图软件官网
SuperMap Online
地图慧
帮助中心
备案信息
技术资源中心
...