public Result OnShutdown(UIControlledApplication application) { DynamoUpdater updater = new DynamoUpdater(application.ActiveAddInId); UpdaterRegistry.UnregisterUpdater(updater.GetUpdaterId()); return Result.Succeeded; }
public Result OnShutdown(UIControlledApplication application) { DynamoUpdater updater = new DynamoUpdater(application.ActiveAddInId); UpdaterRegistry.UnregisterUpdater(updater.GetUpdaterId()); return(Result.Succeeded); }
public Result OnStartup(UIControlledApplication application) { try { //TAF load english_us TODO add a way to localize res = Resource_en_us.ResourceManager; // Create new ribbon panel RibbonPanel ribbonPanel = application.CreateRibbonPanel(res.GetString("App_Description")); //Create a push button in the ribbon panel var pushButton = ribbonPanel.AddItem(new PushButtonData("Dynamo", res.GetString("App_Name"), m_AssemblyName, "Dynamo.Applications.DynamoRevit")) as PushButton; Bitmap dynamoIcon = Resources.logo_square_32x32; BitmapSource bitmapSource = Imaging.CreateBitmapSourceFromHBitmap( dynamoIcon.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); pushButton.LargeImage = bitmapSource; pushButton.Image = bitmapSource; IdlePromise.RegisterIdle(application); Updater = new DynamoUpdater(application.ActiveAddInId, application.ControlledApplication); if (!UpdaterRegistry.IsUpdaterRegistered(Updater.GetUpdaterId())) { UpdaterRegistry.RegisterUpdater(Updater); } var SpatialFieldFilter = new ElementClassFilter(typeof(SpatialFieldManager)); var familyFilter = new ElementClassFilter(typeof(FamilyInstance)); var refPointFilter = new ElementCategoryFilter(BuiltInCategory.OST_ReferencePoints); var modelCurveFilter = new ElementClassFilter(typeof(CurveElement)); var sunFilter = new ElementClassFilter(typeof(SunAndShadowSettings)); IList <ElementFilter> filterList = new List <ElementFilter>(); filterList.Add(SpatialFieldFilter); filterList.Add(familyFilter); filterList.Add(modelCurveFilter); filterList.Add(refPointFilter); filterList.Add(sunFilter); ElementFilter filter = new LogicalOrFilter(filterList); UpdaterRegistry.AddTrigger(Updater.GetUpdaterId(), filter, Element.GetChangeTypeAny()); UpdaterRegistry.AddTrigger(Updater.GetUpdaterId(), filter, Element.GetChangeTypeElementDeletion()); UpdaterRegistry.AddTrigger(Updater.GetUpdaterId(), filter, Element.GetChangeTypeElementAddition()); env = new ExecutionEnvironment(); return(Result.Succeeded); } catch (Exception ex) { MessageBox.Show(ex.ToString()); return(Result.Failed); } }
public Result OnStartup(UIControlledApplication application) { try { //TAF load english_us TODO add a way to localize res = Resource_en_us.ResourceManager; // Create new ribbon panel RibbonPanel ribbonPanel = application.CreateRibbonPanel(res.GetString("App_Description")); //Create a push button in the ribbon panel var pushButton = ribbonPanel.AddItem(new PushButtonData("Dynamo", res.GetString("App_Name"), m_AssemblyName, "Dynamo.Applications.DynamoRevit")) as PushButton; Bitmap dynamoIcon = Resources.logo_square_32x32; BitmapSource bitmapSource = Imaging.CreateBitmapSourceFromHBitmap( dynamoIcon.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); pushButton.LargeImage = bitmapSource; pushButton.Image = bitmapSource; IdlePromise.RegisterIdle(application); Updater = new DynamoUpdater(application.ActiveAddInId, application.ControlledApplication); if (!UpdaterRegistry.IsUpdaterRegistered(Updater.GetUpdaterId())) UpdaterRegistry.RegisterUpdater(Updater); var SpatialFieldFilter = new ElementClassFilter(typeof (SpatialFieldManager)); var familyFilter = new ElementClassFilter(typeof (FamilyInstance)); var refPointFilter = new ElementCategoryFilter(BuiltInCategory.OST_ReferencePoints); var modelCurveFilter = new ElementClassFilter(typeof (CurveElement)); var sunFilter = new ElementClassFilter(typeof (SunAndShadowSettings)); IList<ElementFilter> filterList = new List<ElementFilter>(); filterList.Add(SpatialFieldFilter); filterList.Add(familyFilter); filterList.Add(modelCurveFilter); filterList.Add(refPointFilter); filterList.Add(sunFilter); ElementFilter filter = new LogicalOrFilter(filterList); UpdaterRegistry.AddTrigger(Updater.GetUpdaterId(), filter, Element.GetChangeTypeAny()); UpdaterRegistry.AddTrigger(Updater.GetUpdaterId(), filter, Element.GetChangeTypeElementDeletion()); UpdaterRegistry.AddTrigger(Updater.GetUpdaterId(), filter, Element.GetChangeTypeElementAddition()); env = new ExecutionEnvironment(); return Result.Succeeded; } catch (Exception ex) { MessageBox.Show(ex.ToString()); return Result.Failed; } }
public Autodesk.Revit.UI.Result OnStartup(UIControlledApplication application) { try { // Create new ribbon panel RibbonPanel ribbonPanel = application.CreateRibbonPanel("Visual Programming"); //MDJ todo - move hard-coded strings out to resource files //Create a push button in the ribbon panel PushButton pushButton = ribbonPanel.AddItem(new PushButtonData("Dynamo", "Dynamo", m_AssemblyName, "Dynamo.Applications.DynamoRevit")) as PushButton; System.Drawing.Bitmap dynamoIcon = Dynamo.Applications.Properties.Resources.Nodes_32_32; BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap( dynamoIcon.GetHbitmap(), IntPtr.Zero, System.Windows.Int32Rect.Empty, System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions()); pushButton.LargeImage = bitmapSource; pushButton.Image = bitmapSource; // MDJ = element level events and dyanmic model update // Register sfm updater with Revit //DynamoUpdater updater = new DynamoUpdater(application.ActiveAddInId); //UpdaterRegistry.RegisterUpdater(updater); //// Change Scope = any spatial field element //ElementClassFilter SpatialFieldFilter = new ElementClassFilter(typeof(SpatialFieldManager)); ////ElementClassFilter SpatialFieldFilter = new ElementClassFilter(typeof(SpatialFieldManager)); //// Change type = element addition //UpdaterRegistry.AddTrigger(updater.GetUpdaterId(), SpatialFieldFilter, //Element.GetChangeTypeAny()); // Element.GetChangeTypeElementAddition() DynamoUpdater updater = new DynamoUpdater(application.ActiveAddInId);//, sphere.Id, view.Id); if (!UpdaterRegistry.IsUpdaterRegistered(updater.GetUpdaterId())) { UpdaterRegistry.RegisterUpdater(updater); } ElementClassFilter SpatialFieldFilter = new ElementClassFilter(typeof(SpatialFieldManager)); ElementClassFilter familyFilter = new ElementClassFilter(typeof(FamilyInstance)); ElementCategoryFilter massFilter = new ElementCategoryFilter(BuiltInCategory.OST_Mass); IList <ElementFilter> filterList = new List <ElementFilter>(); filterList.Add(SpatialFieldFilter); filterList.Add(familyFilter); filterList.Add(massFilter); LogicalOrFilter filter = new LogicalOrFilter(filterList); UpdaterRegistry.AddTrigger(updater.GetUpdaterId(), filter, Element.GetChangeTypeGeometry()); UpdaterRegistry.AddTrigger(updater.GetUpdaterId(), filter, Element.GetChangeTypeElementDeletion()); return(Result.Succeeded); } catch (Exception ex) { MessageBox.Show(ex.ToString()); return(Result.Failed); } }
public Autodesk.Revit.UI.Result OnStartup(UIControlledApplication application) { try { // Create new ribbon panel RibbonPanel ribbonPanel = application.CreateRibbonPanel("Visual Programming"); //MDJ todo - move hard-coded strings out to resource files //Create a push button in the ribbon panel PushButton pushButton = ribbonPanel.AddItem(new PushButtonData("Dynamo", "Dynamo", m_AssemblyName, "Dynamo.Applications.DynamoRevit")) as PushButton; System.Drawing.Bitmap dynamoIcon = Dynamo.Applications.Properties.Resources.Nodes_32_32; BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap( dynamoIcon.GetHbitmap(), IntPtr.Zero, System.Windows.Int32Rect.Empty, System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions()); pushButton.LargeImage = bitmapSource; pushButton.Image = bitmapSource; // MDJ = element level events and dyanmic model update // Register sfm updater with Revit //DynamoUpdater updater = new DynamoUpdater(application.ActiveAddInId); //UpdaterRegistry.RegisterUpdater(updater); //// Change Scope = any spatial field element //ElementClassFilter SpatialFieldFilter = new ElementClassFilter(typeof(SpatialFieldManager)); ////ElementClassFilter SpatialFieldFilter = new ElementClassFilter(typeof(SpatialFieldManager)); //// Change type = element addition //UpdaterRegistry.AddTrigger(updater.GetUpdaterId(), SpatialFieldFilter, //Element.GetChangeTypeAny()); // Element.GetChangeTypeElementAddition() DynamoUpdater updater = new DynamoUpdater(application.ActiveAddInId);//, sphere.Id, view.Id); if (!UpdaterRegistry.IsUpdaterRegistered(updater.GetUpdaterId())) UpdaterRegistry.RegisterUpdater(updater); ElementClassFilter SpatialFieldFilter = new ElementClassFilter(typeof(SpatialFieldManager)); ElementClassFilter familyFilter = new ElementClassFilter(typeof(FamilyInstance)); ElementCategoryFilter massFilter = new ElementCategoryFilter(BuiltInCategory.OST_Mass); IList<ElementFilter> filterList = new List<ElementFilter>(); filterList.Add(SpatialFieldFilter); filterList.Add(familyFilter); filterList.Add(massFilter); LogicalOrFilter filter = new LogicalOrFilter(filterList); UpdaterRegistry.AddTrigger(updater.GetUpdaterId(), filter, Element.GetChangeTypeGeometry()); UpdaterRegistry.AddTrigger(updater.GetUpdaterId(), filter, Element.GetChangeTypeElementDeletion()); return Result.Succeeded; } catch (Exception ex) { MessageBox.Show(ex.ToString()); return Result.Failed; } }