zoukankan      html  css  js  c++  java
  • Start transaction not working with Revit 2014

    You're right, it's not being used correctly.
    
    The Transaction needs to take place inside the Idling event.
    
    The button click handler and Idling event handler should look something like this in Revit 2014:
    
    
    
    void revitApp_Idling(object sender, Autodesk.Revit.UI.Events.IdlingEventArgs e)
    {
    UIApplication uiapp = sender as UIApplication;
    
    UIDocument uidoc = uiapp.ActiveUIDocument;
    
    ElementSet elems = uidoc.Selection.Elements;
    
    if (elems != null)
    {
    label1.Text = elems.Size.ToString() + " items selected.";
    }
    else
    {
    label1.Text = "No elements selected.";
    }
    
    if (shouldRun)
    {
    using (Transaction trans = new Transaction(uidoc.Document, "Hide elements"))
    {
    trans.Start();
    uidoc.Document.ActiveView.HideElements((from Element el in elems select el.Id).ToList());
    uidoc.RefreshActiveView();
    trans.Commit();
    }
    
    shouldRun = false;
    }
    }
    
    private void button1_Click(object sender, EventArgs e)
    {
    shouldRun = true;
    }
  • 相关阅读:
    ssh
    datetime
    网络-sdn(2)
    django-drf
    Vscode前段常用插件
    Vscode离线安装插件
    CSS 实现绘制各种三角形
    flex布局
    js实现全选和取消全选
    购物车用Ajax向后台传参
  • 原文地址:https://www.cnblogs.com/smiler/p/Revit.html
Copyright © 2011-2022 走看看