你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
刘峥 - ArcGIS多面手
赞同来自:
//save sxd IMemoryBlobStream mbStream = new MemoryBlobStreamClass(); IObjectStream objectStream = new ObjectStreamClass(); objectStream.Stream = mbStream; IPersistStream persistStream = (ESRI.ArcGIS.esriSystem.IPersistStream)axSceneControl1.Scene; persistStream.Save(objectStream, 1); saveFileDialog1.Title = 保存Scene文档; saveFileDialog1.Filter = 保存Scene文档(*.sxd)|*.sxd; saveFileDialog1.ShowDialog(); string filename = saveFileDialog1.FileName; mbStream.SaveToFile(filename); MessageBox.Show(OK); //open engine-saved sxd openFileDialog1.Title = 打开Scene文档; openFileDialog1.Filter = Scene文档(*.sxd)|*.sxd; openFileDialog1.ShowDialog(); string filename = openFileDialog1.FileName; if (axSceneControl1.CheckSxFile(filename)) axSceneControl1.LoadSxFile(filename); else { IScene pScene = axSceneControl1.Scene; IMemoryBlobStream mbStream = new MemoryBlobStreamClass(); IObjectStream objectStream = new ObjectStreamClass(); mbStream.LoadFromFile(filename); IPersistStream pPersistStream = (ESRI.ArcGIS.esriSystem.IPersistStream)pScene; objectStream.Stream = mbStream; pPersistStream.Load(objectStream); }
要回复问题请先登录或注册
ArcGIS多面手
1 个回复
刘峥 - ArcGIS多面手
赞同来自:
Engine里使用scenecontrol控件的话,没有提供保存sxd文件的接口,可以用序列化和反序列化的方式在scenecontrol中保存sxd文件,但这样保存的sxd在ArcScene中无法打开。
要回复问题请先登录或注册