当楼梯不是楼梯 class 时检索踏板深度
Retrieving tread depth when stairs not of Stairs class
我正在查看我从 2016 年升级到 2018 年的公开可用模型“210 King - Autodesk Toronto.rvt”(原始 2016 版 here)。当我 select 模型中的楼梯对象时,它在属性面板中有一个 "Actual Tread Depth"。
我想在 API 中访问此花纹深度。在 Revit 附带的示例项目中,楼梯为 class Autodesk.Revit.DB.Architecture.Stairs
(派生自 Element
),其中有一个 ActualTreadDepth
属性。但是在这个模型中,楼梯都是classElement
的对象。将它们转换为 Stairs
会引发异常。
两个问题:
- 如何访问花纹深度?
- 为什么 class
Stairs
的这些不是? (我是 Revit 新手 API)
您可以直接在 Element
class 上访问参数值。无需强制转换为 Stairs
。这对参数访问没有任何影响。
如果您是 Revit 的新手 API,请看一看 getting started material。这将更深入地回答这个问题,以及许多其他问题。
您的 'why' 问题的答案恐怕会有很大帮助...历史原因、Revit BIM 范例、基础产品功能等等...通常有几种不同的方法在 Revit 中表示对象。正如您所指出的,Element
是 catch-all 基本情况。
如果您正在使用的模型是使用 Element
创建的代表楼梯,他们可能没有您正在寻找的 属性。在这种情况下,您可能不得不求助于其他方法来确定有用的值,例如(相当复杂的)几何分析。
我正在查看我从 2016 年升级到 2018 年的公开可用模型“210 King - Autodesk Toronto.rvt”(原始 2016 版 here)。当我 select 模型中的楼梯对象时,它在属性面板中有一个 "Actual Tread Depth"。
我想在 API 中访问此花纹深度。在 Revit 附带的示例项目中,楼梯为 class Autodesk.Revit.DB.Architecture.Stairs
(派生自 Element
),其中有一个 ActualTreadDepth
属性。但是在这个模型中,楼梯都是classElement
的对象。将它们转换为 Stairs
会引发异常。
两个问题:
- 如何访问花纹深度?
- 为什么 class
Stairs
的这些不是? (我是 Revit 新手 API)
您可以直接在 Element
class 上访问参数值。无需强制转换为 Stairs
。这对参数访问没有任何影响。
如果您是 Revit 的新手 API,请看一看 getting started material。这将更深入地回答这个问题,以及许多其他问题。
您的 'why' 问题的答案恐怕会有很大帮助...历史原因、Revit BIM 范例、基础产品功能等等...通常有几种不同的方法在 Revit 中表示对象。正如您所指出的,Element
是 catch-all 基本情况。
如果您正在使用的模型是使用 Element
创建的代表楼梯,他们可能没有您正在寻找的 属性。在这种情况下,您可能不得不求助于其他方法来确定有用的值,例如(相当复杂的)几何分析。