我正在 Autodesk Revit 中编写脚本,并且需要帮助选择当前视图中已剪切的所有元素,无论视图类型如何(例如平面图、剖面图、立面图、3D 等)。我希望选择独立于视图是否具有活动裁剪区域。
显然,Revit 已经根据图元是否被剪切来为图元分配剖面线,因此我相信应该有一个简单的解决方案来以编程方式识别和选择这些图元。
我搜索了文档和论坛,但没有找到明确的答案。任何人都可以提供指导或分享完成此任务的代码片段吗?我们将非常感谢您的帮助!
我怀疑Revit API是否提供了对您所指的切割和剖面线谓词的直接访问,因此这可能比您希望的要困难一些。一种方法可能是为感兴趣的视图设置过滤元素收集器,然后添加额外的几何位置过滤器来确定切割视图平面的视图范围框中的切割元素。看看这两篇文章:
我在 dynamo 上有类似的工作流程,可能会有所帮助。 首先,您获取与视图关联的标高,并从视图的视图范围中获取剖切计划。 然后创建一个 XY 平面,其中标高标高 + 视图范围的剖切平面偏移量。 将此计划与模型中的所有元素相交,输出列表是该视图剪切的所有元素。 您必须考虑模型是否共享以及标高的相对性。 希望这有帮助。