AE+C#实现:在SceneControl里打开和保存

之前编写这段代码,发现一直没有C#编写的,现在贴出来,希望对大家有用

此程序实现保存后的文件,不能在ArcScene里面打开。但下面的打开程序一切通吃。。呵呵

打开代码:

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);
}

保存代码:

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");



转载于:https://www.cnblogs.com/zhuxy/archive/2012/03/30/2424672.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值