【发布时间】:2019-09-29 12:17:45
【问题描述】:
我是一名 MEP 工程师,我想在(房间边界)天花板上方添加有关机械设备、管道附件和管道附件的空间信息。
我的第一个想法是使用 BoundingBoxIntersectsFilter 和 Outline,并从空间中修改 ClosedShell.GetBoundingBox().Max.Z,然后使用 BoundingBoxIntersectsFilter 捕获我的元素。这种方法有效,但我会在注意限于六面的空间上方的准确性方面遇到问题。这是因为大纲只需要点。现在,我想我需要将我的空间转换为实体几何体并修改 Z 值,然后使用 ElementIntersectsElementFilter,但我目前正在弄清楚使用哪些方法来修改我的空间几何体。
也许我需要使用GetGeometryObjectFromReference,但我不太明白如何使用Reference。我已经看到get_Geometry 已被使用here,但我需要帮助如何使用它。具体来说,这是我不明白如何在python代码中实现的代码:
foreach( GeometryObject obj in e.Objects )
{
Solid solid = obj as Solid;
if( null != solid )
{
foreach( Face face in solid.Faces )
{
PlanarFace pf = face as PlanarFace;
if( null != pf )
非常感谢任何朝着正确方向的踢球!
凯尔
【问题讨论】:
-
您可能想要使用 ReferenceIntersector。这是一个例子,用空间替换地板/屋顶:github.com/CyrilWaechter/pyRevitMEP/blob/master/pyRevitMEP.tab/…
标签: revit-api revitpythonshell pyrevit