Beispiel #1
0
        private void Updater_ElementsUpdated(object sender, ElementUpdateEventArgs e)
        {
            bool dynamoTransaction = e.Transactions.Contains(TransactionWrapper.TransactionName);

            switch (e.Operation)
            {
            case ElementUpdateEventArgs.UpdateType.Added:
                break;

            case ElementUpdateEventArgs.UpdateType.Modified:
                if (!dynamoTransaction)
                {
                    Updater_ElementsModified(e.GetUniqueIds());
                }
                break;

            case ElementUpdateEventArgs.UpdateType.Deleted:
                if (!dynamoTransaction)
                {
                    Updater_ElementsDeleted(e.RevitDocument, e.Elements);
                }
                break;

            default:
                break;
            }
        }
Beispiel #2
0
        void RevitServicesUpdater_ElementsUpdated(object sender, ElementUpdateEventArgs e)
        {
            //Element addition is not handled by this class.
            if (e.Operation == ElementUpdateEventArgs.UpdateType.Added)
            {
                return;
            }

            if (!e.Elements.Any())
            {
                return;
            }

            bool dynamoTransaction = e.Transactions.Contains(TransactionWrapper.TransactionName);

            var nodes = ElementBinder.GetNodesFromElementIds(
                e.Elements,
                CurrentWorkspace,
                EngineController);

            foreach (var node in nodes)
            {
                //Don't re-execute the element construction node, if
                //this element is modified due to a Dynamo transaction.
                if (dynamoTransaction && IsConstructorNode(node))
                {
                    continue;
                }

                node.OnNodeModified(forceExecute: true);
            }
        }
Beispiel #3
0
        private void Updater_ElementsUpdated(object sender, ElementUpdateEventArgs e)
        {
            switch (e.Operation)
            {
            case ElementUpdateEventArgs.UpdateType.Added:
                break;

            case ElementUpdateEventArgs.UpdateType.Modified:
                bool dynamoTransaction = e.Transactions.Contains(TransactionWrapper.TransactionName);
                HomeWorkspaceModel hwm = null;
                if (revitDynamoModel != null)
                {
                    hwm = revitDynamoModel.CurrentWorkspace as HomeWorkspaceModel;
                }
                if (!dynamoTransaction || (hwm != null && hwm.RunSettings.RunType == RunType.Manual))
                {
                    Updater_ElementsModified(e.GetUniqueIds());
                }
                break;

            case ElementUpdateEventArgs.UpdateType.Deleted:
                Updater_ElementsDeleted(e.RevitDocument, e.Elements);
                break;

            default:
                break;
            }
        }
Beispiel #4
0
        void OnElementsUpdated(object sender, ElementUpdateEventArgs e)
        {
            if (!e.Elements.Any()) return;

#if DEBUG
            Debug.WriteLine("There are {0} elements {1}", e.Elements.Count(), e.Operation.ToString());
            DebugElements(e.Elements);
#endif
            OnNodeModified(forceExecute: true);
        }
Beispiel #5
0
        private void Updater_ElementsUpdated(object sender, ElementUpdateEventArgs e)
        {
            if (e.Operation != ElementUpdateEventArgs.UpdateType.Modified)
            {
                return;
            }

            if (e.GetUniqueIds().Contains(settingsID))
            {
                OnNodeModified(forceExecute: true);
            }
        }
        private void RevitServicesUpdater_ElementsUpdated(object sender, ElementUpdateEventArgs e)
        {
            if (e.Operation != ElementUpdateEventArgs.UpdateType.Modified)
            {
                return;
            }

            var locUuid = DocumentManager.Instance.CurrentDBDocument.SiteLocation.UniqueId;

            if (e.GetUniqueIds().Contains(locUuid))
            {
                Update();
            }
        }
Beispiel #7
0
 void RevitServicesUpdaterOnElementsUpdated(object sender, ElementUpdateEventArgs e)
 {
     switch (e.Operation)
     {
         case ElementUpdateEventArgs.UpdateType.Added:
             RevitServicesUpdaterOnElementsAdded(e.GetUniqueIds());
             break;
         case ElementUpdateEventArgs.UpdateType.Modified:
             RevitServicesUpdaterOnElementsModified(e.GetUniqueIds());
             break;
         case ElementUpdateEventArgs.UpdateType.Deleted:
             RevitServicesUpdaterOnElementsDeleted(e.RevitDocument, e.Elements);
             break;
         default:
             break;
     }
 }