首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Petrel with Ocean中添加自定义单元?

如何在Petrel with Ocean中添加自定义单元?
EN

Stack Overflow用户
提问于 2011-06-10 03:32:12
回答 1查看 455关注 0票数 1

我想通过Ocean在Petrel的自定义单位系统中添加自定义单位。

按照开发人员指南中的建议,我使用了以下代码:

代码语言:javascript
复制
IUnitService unitService = Slb.Ocean.Core.CoreSystem.GetService(); 
IUnitCatalog catalog = unitService.GetCatalog(null); 
System.Collections.Generic.IDictionary map = 
       new System.Collections.Generic.Dictionary(); 
map["Pressure"] = "MyUnit"; 
catalog.CreateCustomUnitSystem("My UnitSystem", 
                               "UnitSystem for my additional units.", 
                                map, 
                                "MyUnitSystem"); 

我把这些代码放在Initialize和Integrate方法中。在这两种情况下,Ocean都会抛出SEHException。

知道哪里出问题了吗?

EN

回答 1

Stack Overflow用户

发布于 2011-06-12 16:53:53

您创建的自定义单位系统必须基于现有的单位系统。

在方法CreateCustomUnitSystem中,现有的单位系统名称用作参考系统。

现有的单位系统包括IUnitServiceSettings提供的标准单位系统和显示单位系统。

以下是创建自定义单位制的示例代码:

代码语言:javascript
复制
IUnitService unitService = CoreSystem.GetService( );
IUnitCatalog catalog = unitService.GetCatalog( null );
IUnitServiceSettings uss = CoreSystem.GetService( );
IUnitSystem refSystem = uss.InvariantSystem;
IDictionary map = new Dictionary( );
map["Pressure"] = "MyUnit";
ICustomUnitSystem myUnitSystem = catalog.CreateCustomUnitSystem( "My UnitSystem", "Unit System for my additional units.", map, refSystem.Name );

自定义单位系统不会更改任何Petrel模板,也不会将其添加到Petrel Explorer窗口的模板选项卡中

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6298210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档