getProperties 结果为英文
Posted
技术标签:
【中文标题】getProperties 结果为英文【英文标题】:getProperties result in English 【发布时间】:2021-12-26 16:12:39 【问题描述】:我们有一个源自法国风格的 Revit 的 Revit 文件。 因此,所有对象属性都是法语: "结构柱" = "Poteaux porteurs"
我们的自定义脚本正在寻找英文类别命名来过滤结果。 无论原始 Revit 风格如何,“getProperties”的任何机会都会导致统一的语言?
【问题讨论】:
【参考方案1】:例如,当您从 viewer
和 viewer.getProperties(dbId,onSuccessCallback, onErrorCallback)
获取对象属性时,您将获得一个带有键 displayName
的对象,它是您在编辑器中使用的语言,而 attributeName
是英语,看起来作为参考属性名称,无论使用何种语言。
【讨论】:
感谢 AlexAR,但它是我希望的“显示值”。我想过滤“Revit Structural Columns”,但在法语中 displayValue 是“Revit Poteaux porteurs”。 也许我应该使用 CategoryId? 我认为对于族和类型,您无法获得displayValue
的翻译,如果您使用自定义族,可以在 Revit 中修改此值。
Revit 中的类别命名是硬编码的/无法更改。仅在 Revit 的不同语言风格(法语、德语、中文……)中,这些命名是不同的
是的,如果您有权访问,请务必使用CategoryId
。在 Revit API 中,LabelUtils
GetLabelFor(BuiltInCategory)
method 提供了将 BuiltInCategory
和大概是 CategoryId
转换为特定语言的显示字符串的可能性。你甚至可以switch the Revit UI language at startup a command line switch。不过,这可能不适用于设计自动化,因为它没有 UI。以上是关于getProperties 结果为英文的主要内容,如果未能解决你的问题,请参考以下文章
Request.From,Request.QueryString转对象
红警进入提示“***FATAL***String Manager failed to initilaized properly&(抗压小游戏)
使用 BeanUtils.getProperty 获取属性时出现 NoSuchMethodException: Unknown property 问题分析