//private void DrawContainers(Value val, string id) //{ // if (val.IsList) // { // foreach (Value v in ((Value.List)val).Item) // { // DrawContainers(v, id); // } // } // if (val.IsContainer) // { // var drawable = ((Value.Container)val).Item; // //support drawing XYZs geometry objects or LibG graphic items // if(drawable is XYZ || drawable is GeometryObject || drawable is GraphicItem ) // { // VisualizationManager.Visualizations[id].Geometry.Add(drawable); // } // } //} Value newEval(bool dirty, string script, dynamic bindings, dynamic inputs) { bool transactionRunning = Transaction != null && Transaction.GetStatus() == TransactionStatus.Started; Value result = null; if (dynRevitSettings.Controller.InIdleThread) { result = _oldPyEval(dirty, script, bindings, inputs); } else { result = IdlePromise <Value> .ExecuteOnIdle( () => _oldPyEval(dirty, script, bindings, inputs)); } if (transactionRunning) { if (!IsTransactionActive()) { InitTransaction(); } else { var ts = Transaction.GetStatus(); if (ts != TransactionStatus.Started) { if (ts != TransactionStatus.RolledBack) { CancelTransaction(); } InitTransaction(); } } } else if (DynamoViewModel.RunInDebug) { if (IsTransactionActive()) { EndTransaction(); } } return(result); }