【问题标题】:Revit API wall Thickness using Revit api 2020使用 Revit api 2020 的 Revit API 壁厚
【发布时间】:2020-04-20 01:41:21
【问题描述】:

我在 revit api 工作以获得特殊房间的墙壁,这是我使用投影光线技术完成的部分。这是我无法做到壁厚的要点。有什么办法可以提取壁厚。我正在使用 revit 2020。 谢谢

【问题讨论】:

  • 这是解决方案:嗨,新年快乐 :slight_smile: 这里“g”是选定的元素,304.8 将英尺转换为毫米。这里是pickObject revitapidocs.com/2015/0315fd62-b533-1817-2f2d-d9ebd4bc8e33.htm Wall onewall = g as Wall;双半厚度 =304.8 * onewall.WallType.Width; TaskDialog.Show("Information","墙名:"+onewall.Name+" 厚度:"+halfthickness.ToString());

标签: revit-api revit revitpythonshell


【解决方案1】:

当然,很容易。

使用WallType Width property

您可以很容易地自己回答这个问题,无论是通过搜索互联网还是通过exploring the wall and its properties using RevitLookup

在提出问题并让其他人为您完成工作之前,请先对自己进行一些最低限度的研究。

这里还有一些advice on researching how to solve a Revit API programming task

【讨论】:

  • 啊谢谢先生。你真是太好了。主要问题是,我没有将墙宽乘以 304.8,这是将墙值转换为 mm 的主要成分 :)
【解决方案2】:

只能通过墙的WallType获取墙宽。

最重要的是,Revit 会以原始单位(通常是英制)为您提供宽度。可以使用 UnitUtils 类轻松转换它。 Documentation here

第一步是获取 WallType。为此,您必须通过 GetTypeId() 检索类型 ElementId,然后通过 document.GetElement() 检索元素,最后将其转换为 WallType。

从类型中,我们获得 Revit 原生单位的宽度,我们通过 UnitUnits 类将其转换为毫米。

这是一个代码sn-p:

        WallType wallType = document.GetElement(wall.GetTypeId()) as WallType;
        double nativeWitdh = wallType.Width;
        double milimeterWidth = UnitUtils.ConvertFromInternalUnits(nativeWitdh,DisplayUnitType.DUT_MILLIMETERS);

最好的问候, 弗朗索瓦

【讨论】:

  • 请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-14
  • 2021-06-28
  • 2016-10-24
  • 2019-03-08
  • 2014-03-23
  • 2013-01-07
  • 1970-01-01
相关资源
最近更新 更多