4

我有一个执行以下操作的代码:给一个输入地震立方体,创建它的一半大小的裁剪版本,然后实现这个裁剪的立方体。

该插件似乎工作正常。但是,如果我尝试使用 Petrel 删除已实现的多维数据集(右键单击已实现的多维数据集并选择“删除...”),多维数据集仍保留在 Petrel 输入树中。

我什至可以打开它的设置对话框,但我无法在任何窗口中显示它,也无法访问它的上下文菜单。除此之外,它下面的任何 Inline、Xline 或 Timeslice 的值都会更改为似乎是坐标值。

这是一个错误还是我做错了什么?

这是我的代码(立方体是输入地震立方体):

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

1 回答 1

3

如果您保存项目,然后在 Petrel 中执行删除,则裁剪后的已实现立方体将被删除。在保存项目之前,它不会被删除。我通过使用您的代码创建插件来复制您记录的行为。

我不确定这是否是一个错误,但怀疑它可能是一个功能。当然,您的代码不是问题。

也许更精通 Petrel 的人会评论 Petrel 在这里使用的逻辑。

于 2012-11-29T14:44:57.157 回答