【问题标题】:How to access element cut areas/filled regions through Revit API如何通过 Revit API 访问元素剪切区域/填充区域
【发布时间】:2016-02-04 21:43:08
【问题描述】:

我试图弄清楚如何访问在平面或剖面中切割对象时创建的填充区域。我的目标是编写一个复制这些区域的工具,以便在视图中快速创建双影线。

目前我不确定这些区域是否与族实例本身、视图或工作平面等相关联。我已通过 Revit 查找但无法找到它。

有一些信息here关于通过

创建新的填充区域
FilledRegion.Create(...)

但我更感兴趣的是访问已经在视图中创建的那些。

任何建议将不胜感激。

【问题讨论】:

    标签: c# api revit-api revit


    【解决方案1】:

    下面的代码 sn-p 将返回指定视图 (v) 中当前文档 (doc) 的所有 FilledRegions 的元素。我希望这能让你朝着正确的方向前进。

    FilteredElementCollector collector = FilteredElementCollector(doc,v.Id).OfClass(typeof(FilledRegion));
    

    【讨论】:

    • 非常感谢您的帮助。由视图切割对象(如上图)生成的填充区域似乎与视图没有直接关联。此方法返回作为单独对象手动添加到视图中的填充区域,但不会返回视图自动剪切的填充区域。
    【解决方案2】:

    抱歉,我误解了您要查找的内容。 您可以获取 Material 的 CutPatternId,它将返回您在剪切元素时看到的图案。我没有给你的代码 sn-p,但是,你想要的是:

    1. 用户选择元素
    2. API 获取该元素的所有材质
    3. API 返回这些材质的所有 CutPatternIds (FillPatternElement)
    4. API 返回所有 FilledRegionType(s) 相同的 FillPatternId(必须创建它们)
    5. API 使用正确的 FilledRegionType 生成 FilledRegion。

    第 5 项是最棘手的部分,因为我不确定如何确定它应该绘制的边界。 @jeremy-tammik 非常聪明,他是您引用的博客的作者。也许他可以填补这部分的空白。也许你可以从“相交”方法返回一些东西?

    【讨论】:

      猜你喜欢
      • 2012-10-13
      • 2015-03-28
      • 2010-11-22
      • 1970-01-01
      • 2016-05-12
      • 1970-01-01
      • 2015-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多