static void RhinoDoc_LayerTableEvent(object sender, LayerTableEventArgs e)
 {
     if (e.Document == ActiveDocument)
     {
         Revit.RefreshActiveView();
     }
 }
Exemplo n.º 2
0
 private static void On_RhinoDoc_LayerTableEvent(object sender, LayerTableEventArgs e)
 {
     switch (e.EventType)
     {
     case LayerTableEventType.Added:
     case LayerTableEventType.Deleted:
     case LayerTableEventType.Undeleted:
         UpdateIndexes(e.Document);
         break;
     }
 }
        private void ProcessLayerTableEvent(
            object sender,
            LayerTableEventArgs e,
            bool eA,
            bool eD,
            bool eM,
            bool eS,
            bool eC,
            bool eML,
            bool eMV,
            bool eMP,
            bool eMN,
            bool eMC)
        {
            RhinoApp.WriteLine("ProcessLayerTableEvent");
            if (!expireSolution)
            {
                RhinoApp.WriteLine("!expireSolution");
                switch (e.EventType)
                {
                case LayerTableEventType.Added:
                    RhinoApp.WriteLine("Added");
                    if (eA)
                    {
                        expireSolution = true;
                    }
                    break;

                case LayerTableEventType.Deleted:
                    RhinoApp.WriteLine("Deleted");
                    if (eD)
                    {
                        expireSolution = true;
                    }
                    break;

                case LayerTableEventType.Undeleted:
                    RhinoApp.WriteLine("Undeleted");
                    if (eA)
                    {
                        expireSolution = true;
                    }
                    break;

                case LayerTableEventType.Modified:
                    RhinoApp.WriteLine("Modified");
                    if (eM)
                    {
                        if (!eML || !eMV || !eMP || !eMN || !eMC)
                        {
                            RhinoApp.WriteLine("!Modifier");
                            if (e.OldState != null && e.NewState != null)
                            {
                                RhinoApp.WriteLine("!State");
                                if ((eML && e.OldState.IsLocked != e.NewState.IsLocked) ||
                                    (eMV && e.OldState.IsVisible != e.NewState.IsVisible) ||
                                    (eMP && e.OldState.ParentLayerId != e.NewState.ParentLayerId) ||
                                    (eMN && e.OldState.Name != e.NewState.Name) ||
                                    (eMC && e.OldState.Color != e.NewState.Color))
                                {
                                    RhinoApp.WriteLine("expireSolution");
                                    expireSolution = true;
                                }
                            }
                        }
                        else
                        {
                            expireSolution = true;
                        }
                    }
                    break;

                case LayerTableEventType.Sorted:
                    RhinoApp.WriteLine("Sorted");
                    if (eS)
                    {
                        expireSolution = true;
                    }
                    break;

                case LayerTableEventType.Current:
                    RhinoApp.WriteLine("Current");
                    if (eC)
                    {
                        expireSolution = true;
                    }
                    break;

                default:
                    break;
                }
                if (expireSolution)
                {
                    RhinoApp.Idle += RhinoAppIdle;
                }
            }
        }