【问题标题】:Revit Family Rename in a project项目中的 Revit 族重命名
【发布时间】:2015-10-03 13:29:55
【问题描述】:

是否可以通过 API 重命名项目中的族。我们最近正在更新和标准化我们的家族命名约定。我想构建一个插件,将现有项目中的族重命名为新的标准名称。我在网上找不到这样的例子。

我已成功找到所有姓氏,但是我无法重命名该家族。

我正在使用 C#。

【问题讨论】:

  • 是的,你可以,虽然它需要一些工作。首先,您需要导出项目中的所有可编辑族,然后将它们重命名为您想要的名称,然后将重命名的族加载到同一个项目中,最后将带有旧族的每个元素更改为新的族。我也许可以为每个位显示一些代码,以便您了解...

标签: revit-api


【解决方案1】:

这是我用的

Element ff = doc2.GetElement({insert family id here});

var bar = (from x in familycollection where x.Name == ff.LookupParameter("Family Name").AsString() select x).FirstOrDefault();

exEvent.Raise()

【讨论】:

    【解决方案2】:

    我尝试了使用 .Name 属性的直接方式,似乎可行。

    UIApplication uiapp = commandData.Application;
    UIDocument uidoc = uiapp.ActiveUIDocument;
    Application app = uiapp.Application;
    Document doc = uidoc.Document;
    
    foreach(ElementId id in uidoc.Selection.GetElementIds())
    {
      FamilyInstance famInstance = doc.GetElement(id) as FamilyInstance;
      if (famInstance == null) continue; //skip element
    
      famInstance.Symbol.Name = famInstance.Symbol.Name + " - Changed";
    }
    

    【讨论】:

      猜你喜欢
      • 2020-09-15
      • 1970-01-01
      • 2019-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-29
      相关资源
      最近更新 更多