我使用下面的代码读出了Element的geometry返回的数据,但是下一步找不到读取更加详细信息的接口,sdk的文档中也没有SurfacePatch 这些类的信息,有知道的麻烦给说下,谢谢了先!
最好是能解析到三角面:
Bentley.GeometryNET.Common.SurfacePatch surface = solid.GetBaseGeometry() as Bentley.GeometryNET.Common.SurfacePatch; Bentley.GeometryNET.Common.LineSegment curve = solid.GetRailCurve() as Bentley.GeometryNET.Common.LineSegment;
您是在用哪个SDK?MicroStation SDK还是imodel SDK?版本是多少?
如果是MicroStation SDK(可用MicroStation软件打开imodel格式的文件来用MicroStation SDK解析数据),有IElementGraphicsOutput可用。这个在本论坛已经有好多帖子在讨论,你可以查一下以前的帖子。另外,在最新版的MicroStation CE的SDK例子中有PolyfaceTool项目在演示这个类的用法。V8i SDK中有imodelvisitor例子在演示。
如果是用的imodel SDK,目前没有这样一个统一的方法能提取几何信息,必须分门别类提取,就很麻烦了,而且还不支持SmartSolid类别。故目前imodel SDK的功能很有限的,不推荐使用。
Answer Verified By: alex leo
感谢你的回复.
我使用的是imodel sdk 版本是 010202032.
现在如果smartSolid不能获取,那后期会完善吗?
另外这些类的文档在哪里可以看到呢?例如我上面说的SurfacePath?
具体怎么才能获取到surfacePath的更详细的信息,或者三角面信息?
不推荐使用imodel SDK 1.0版,目前该SDK处于不再更新状态。由于SmartSolid是基于西门子的ParaSolid,价格很贵,而imodel SDK是免费提供给用户的,所以这个里面不含有这一部分内容。
文档就是随imodel SDK带有的一个chm,也很粗略。推荐您用MicroStation SDK来处理imodel文件,放弃对这个imodel SDK的研究。