首页 / 浏览问题 / 组件GIS / 问题详情
vs访问三维场景出错
7EXP 2017年07月05日

vs2010代码访问三维场景smwu时,不能完全加载,而且中途会闪退,程序终止,这是什么原因呢?

代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SuperMap.Realspace;
using SuperMap.UI;
using SuperMap.Data;

namespace _3D_Open
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            sceneControl1.Scene.Workspace = workspace1;
        }
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            sceneControl1.Dispose();
            workspace1.Close();
            workspace1.Dispose();

        }
        private void button1_Click(object sender, EventArgs e)
        {
            WorkspaceConnectionInfo m_wksInfo = new WorkspaceConnectionInfo();
            m_wksInfo.Server = @"E:\study\超图\data\North_Area\North_Area.smwu";
            m_wksInfo.Type = WorkspaceType.SMWU;
            workspace1.Open(m_wksInfo);
            sceneControl1.Scene.Workspace = workspace1;
            sceneControl1.Scene.Open("Road@North_Area");
        }
    }
}
 

2 个回答

您好,请问是在窗体加载的时候抛异常还是在点击加载场景按钮的时候抛异常,另外您在窗体加载中就用到了workspace1,请问这个是在哪里定义的,有没有实例化它呢
5,985EXP 2017年07月05日
workspace1是直接拖进窗口里的,应该不需要再实例化了

点击加载场景按钮的时候会加载一部分三维模型,然后就异常闪退出错了
您有做断点看程序执行到哪一步抛的异常吗
整个程序执行完最后一步就闪退,我在想这个是不是场景太大了,或者是超图有场景文件大小的限制呢?
那你试试桌面能不能能够打开这个场景
桌面可以的,就是代码访问不出来
代码没看出啥问题,您试试组件示范数据中的场景能正常打开不
示范数据是可以正常打开的,我的数据里面有KML图层,场景缓存文件,超图快速建模拉伸贴图数据,这个是不是有什么数据大小的限制呢?
示范数据是可以正常打开的,我的数据里面有KML图层,场景缓存文件,超图快速建模拉伸贴图数据,这个是不是有什么数据大小的限制呢?
建议把场景分成若干个,同类型的图层为一个场景,方便定位到是不是哪个图层出了问题。
用了虚拟机吗?现在已知的是虚拟机不支持三维渲染

另外,希望您可以截取下“详细信息(D)”中的内容。
5,560EXP 2017年07月05日
没有用虚拟机的
...