Revit Plugin 生成的墙体在切图时无法消隐

在Revit中通过Bentley Revit Plugin生成的imodel,在随后的切图中, 墙体并不能消隐。见图中,两个墙体,一个是Revit插件生成的,元素类型是106。另一个是我画的Solid。两个一样的Solid(混凝土)分别穿过墙体。在放置一个plan callout后切图,可见自己画的混凝土对于穿过的solid可以被消隐,但由Revit Plugin形成的墙体无法消隐。请问如果解决这个问题?谢谢。

放置Plan Callout之后,在drawing model 中,可见在Revit生成的墙体中,穿过的solid混凝土没有被消隐(红线)。而用Microstation中画的Solid混凝土其消隐正常。附上Dgn文件Sample.dgn.

 2728.Sample.dgn

  • 用Drop Element工具,勾选Application选项对106扩展元素执行打散可以恢复到原始基本元素类型。发现这个由Revit转过来的墙体不是一整个实体,而是由多个单独的Mesh面组成的。因而你切图后其实是几个面元素,没有实现消隐也就能解释通了。



  • 是的,我也试过。这种106元素在显示时与solid无异,但切图时却与Solid不同。这是否算是个bug?

    另外,如果将其转换为正常的solid?

  • 这是否算是个bug?

    不一定能算。据我所知,OBD中的墙体不是用一个Solid表达的,它本身就是用六个Shape面围成的。在Revit Plugin转换时将Shape改用Mesh表达了。您可以直接在OBD中测试这种遮挡关系是否能正确?

    如果将其转换为正常的solid?

    选中这六个单独的面,执行Modeling>Surface>Stitch Surfaces后就能转换成一个Smart Solid。此时再切换到DrawingModel就能看到正确的遮挡关系了。



  • 谢谢符老师。

    1. 我在OBD放置一个墙体,如你所说,墙体是六个shape。再画一个穿过墙体的slab,在切图后消隐没有问题。见附WenceTest.dgn.这样说来,这个Revit Plugin 没有达到OBD同样的效果,应该视为bug吧?WenceTest.dgn

    2. 看来我得写个小工具处理这个问题,那就是先将Revit Plugin生成的imodel转换成dgn,然后打散,然后在将mesh缝合成Smart Solid。在我开始做这个二次开发之前, 还有什么建议来处理这个情况呢?谢谢。

  • 这个Revit Plugin 没有达到OBD同样的效果,应该视为bug吧?

    有可能。不过最近Bentley的业务方向有所调整,这个Revit Plugin本身就是委托外部公司开发的,目前该插件的开发已经停止,即使是Bug也不容易被修复了。新的政策是要转向iTwin,在iTwin Snapshot中支持Revit Converter。

    在我开始做这个二次开发之前, 还有什么建议来处理这个情况呢?

    请先测试iTwin Snapshot中Revit Connector的效果,如果还是不满意,那只能自己二次开发了。但这种简单的六面墙体好处理,还有更复杂的墙体情况(比如带有空洞的墙体)就不一定好处理了。