如何通过Revit API访问元素切割区域/填充区域

时间:2015-11-29 11:23:21

标签: c# api revit-api revit

我试图找出如何访问在计划或部分中剪切对象时创建的填充区域。我的目标是编写一个复制这些区域的工具,以便在视图中快速创建双阴影。

enter image description here

我现在不确定这些区域是否与家庭实例本身,视图或工作平面等相关联。我已经通过Revit Lookup但是无法找到它

有关于通过

创建新填充区域的一些信息here
FilledRegion.Create(...)

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

我们非常感谢任何建议。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

对不起,我误解了你在找什么。 您可以获取材质的CutPatternId,它将返回切割元素时看到的图案。我没有为您提供代码段,但是,您想要的是:

  1. 用户选择元素
  2. API获取该元素的所有材料
  3. API返回这些材质的所有CutPatternIds (FillPatternElement)
  4. API返回所有FilledRegionType(s) 相同的FillPatternId(创建它们是必要的)
  5. API使用正确的FilledRegionType生成FilledRegion。
  6. 第5项是最棘手的部分,因为我不确定如何确定它应该绘制的边界。 @ jeremy-tammik非常聪明,他是你引用的博客的作者。也许他可以填补这一部分的空白。也许有些东西可以从" Intersect"方法