我有一个代码执行以下操作:给出一个输入地震立方体,创建一个尺寸减半的裁剪版本,然后实现这个裁剪的立方体。
该插件似乎工作正常。但是,如果我尝试使用Petrel删除已实现的多维数据集(右键单击已实现的多维数据集并选择“删除...”),则多维数据集将保留在Petrel输入树中。
我甚至可以打开它的设置对话框,但我无法在任何窗口中显示它,也无法访问其上下文菜单。除此之外,它下面的任何内联,Xline或时间片的值都会变为似乎是坐标值。
这是一个错误还是我做错了什么?
这是我的代码(立方体是输入地震立方体):
Index3 start = new Index3(0, 0, 0);
Index3 end = new Index3(cube.NumSamplesIJK / 2);
SeismicCube croppedCube;
using (var t = DataManager.NewTransaction())
{
t.Lock(cube);
VolumeCroppingInfo croppingInfo = new VolumeCroppingInfo(start, end, new Index2(0, 0));
croppedCube = SeismicSystem.SeismicCroppingService.CreateVirtualCroppedVolume(
cube, croppingInfo);
t.Commit();
}
var realizeWorkstep =
PetrelSystem.WorkflowEditor.RegisteredWorksteps.Processes.GetGeophysicsGroup().RealizeSeismic;
RealizeSeismicArguments realizeArgPack =
(RealizeSeismicArguments)realizeWorkstep.CreateArgumentPackage(DataManager.DataSourceManager);
realizeArgPack.RealizationQuality = RealizationBitNumber.Bit32;
realizeArgPack.Seismic = croppedCube;
realizeArgPack.UseExactSourceValue = true;
realizeWorkstep.InvokeSimple(realizeArgPack);
答案 0 :(得分:3)
如果保存项目,然后在Petrel中执行删除,则会删除裁剪的已实现多维数据集。在保存项目之前,它不会被删除。我通过使用您的代码创建插件来复制您记录的行为。
我不确定它是否是一个bug,但怀疑它可能是一个功能。当然,您的代码不是问题。
也许更多Petrel savy人会评论Petrel在这里使用的逻辑。