【问题标题】:Revit API SizeTableManager.RemoveSizeTable() not working?Revit API SizeTableManager.RemoveSizeTable() 不工作?
【发布时间】:2019-12-20 23:25:37
【问题描述】:

我正在尝试删除所有家族中以特定前缀开头的所有查找表。

“sizeTableManager.RemoveSizeTable(tableToRemove)”方法返回 true,就好像它成功了,但是当我去编辑项目中的族并调出查找表列表时,它们仍然存在。

事务似乎也没有错误地提交,这更令人费解......

关于我做错了什么有什么想法吗?

这是我目前的代码:

string existingPrefix = "ExistingPrefix_";
Document doc = this.ActiveUIDocument.Document;
FilteredElementCollector collector = new FilteredElementCollector(doc);
ICollection<Element> elements = collector.OfClass(typeof(Family)).ToElements();

foreach (var element in elements)
{
    using (Transaction t = new Transaction(doc, "flush old lookup tables"))
    {
        t.Start();
        FamilySizeTableManager sizeTableManager = FamilySizeTableManager.GetFamilySizeTableManager(doc, element.Id);
        if(sizeTableManager != null)
        {
            foreach (var tableToRemove in sizeTableManager.GetAllSizeTableNames())
            {
                if(tableToRemove.StartsWith(existingPrefix))
                {       
                    bool result = sizeTableManager.RemoveSizeTable(tableToRemove);
                    if(result)
                    {
                        // TaskDialog.Show("Success", "Removed " + tableToRemove + " from " + element.Name);
                        var test = "test";
                    }
                    else
                    {
                        TaskDialog.Show("Warning", "Unable to remove " + tableToRemove + " from " + element.Name);
                    }           
                }
            }
        }
        var commitResult = t.Commit();
    }
}

提前致谢!

【问题讨论】:

    标签: c# revit-api revit


    【解决方案1】:

    好吧,事实证明 RemoveSizeTable() 方法确实有效,但我必须重新生成文档才能使更改生效:

    using (Transaction t = new Transaction(doc, "regenerate document"))
    {
        t.Start();
        doc.Regenerate();
        t.Commit();
    }
    

    在注意到保存文档导致更改生效后发现了这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-20
      • 2016-10-24
      • 2020-05-11
      • 2019-08-07
      • 2019-08-06
      • 1970-01-01
      • 2019-09-21
      相关资源
      最近更新 更多