添加项目文件。
This commit is contained in:
79
GeologyToolkit/UIRibbon.cs
Normal file
79
GeologyToolkit/UIRibbon.cs
Normal file
@@ -0,0 +1,79 @@
|
||||
using Autodesk.Revit.UI;
|
||||
|
||||
using Nice3point.Revit.Toolkit.External;
|
||||
using GeologyToolkit.Properties;
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
using System.Drawing;
|
||||
using System.Windows.Interop;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows;
|
||||
using System;
|
||||
|
||||
|
||||
namespace GeologyToolkit;
|
||||
internal class UIRibbon : ExternalApplication
|
||||
{
|
||||
private static readonly string AddInPath = typeof(UIRibbon).Assembly.Location;
|
||||
public static BitmapSource ToBitmapSource(Bitmap bitmap)
|
||||
{
|
||||
if (bitmap == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
|
||||
}
|
||||
public override void OnStartup()
|
||||
{
|
||||
//UiApplication.CreateRibbonTab("地质工具");
|
||||
var ribbonPanel = AddPanel(Application, "地质工具");
|
||||
//var ribbonPanel = UiApplication.CreateRibbonPanel("地质工具", "地层");
|
||||
var addPoint = new PushButtonData(typeof(AddPointCmd).FullName, "添加点", AddInPath, typeof(AddPointCmd).FullName)
|
||||
{
|
||||
LargeImage = ToBitmapSource(Resources.AddPoint_32px),
|
||||
Image = ToBitmapSource(Resources.AddPoint_16px),
|
||||
ToolTip = "选择地层表面及其经过钻孔土层,将在地层表面添加钻孔土层底部点",
|
||||
};
|
||||
var removePoint = new PushButtonData(typeof(RemovePointCmd).FullName, "移除点", AddInPath, typeof(RemovePointCmd).FullName)
|
||||
{
|
||||
LargeImage = ToBitmapSource(Resources.RemovePoint_32px),
|
||||
Image = ToBitmapSource(Resources.RemovePoint_16px),
|
||||
ToolTip = "选择地层表面及其经过底部的钻孔土层,将移除在地层表面的该钻孔土层点",
|
||||
};
|
||||
var movePoint = new PushButtonData(typeof(MovePointCmd).FullName, "移动点", AddInPath, typeof(MovePointCmd).FullName)
|
||||
{
|
||||
LargeImage = ToBitmapSource(Resources.MovePoint_32px),
|
||||
Image = ToBitmapSource(Resources.MovePoint_16px),
|
||||
ToolTip = "选择地层表面,选择其经过底部的钻孔土层,选择要移动到的土层,移动地层表面点",
|
||||
};
|
||||
var CreateBorehole = new PushButtonData(typeof(CreateBoreholeCmd).FullName, "创建钻孔", AddInPath, typeof(CreateBoreholeCmd).FullName)
|
||||
{
|
||||
LargeImage = ToBitmapSource(Resources.Borehole_32px),
|
||||
Image = ToBitmapSource(Resources.Borehole_16px),
|
||||
ToolTip = "根据理正导出的mdb数据文件创建钻孔",
|
||||
};
|
||||
//var createGeology = new PushButtonData(typeof(GenerateGeologyCmd).FullName, "生成地质体", AddInPath, typeof(GenerateGeologyCmd).FullName)
|
||||
//{
|
||||
// LargeImage = ToBitmapSource(Resources.Geology_32px),
|
||||
// Image = ToBitmapSource(Resources.Geology_16px),
|
||||
// ToolTip = "选择地层表面生成地质体",
|
||||
//};
|
||||
|
||||
ribbonPanel.AddItem(CreateBorehole);
|
||||
ribbonPanel.AddItem(addPoint);
|
||||
ribbonPanel.AddItem(removePoint);
|
||||
ribbonPanel.AddItem(movePoint);
|
||||
//ribbonPanel.AddItem(createGeology);
|
||||
}
|
||||
/// <summary>
|
||||
/// 使用默认附加模块面板标签页
|
||||
/// </summary>
|
||||
/// <param name="application"></param>
|
||||
/// <param name="panelName">面板名称</param>
|
||||
/// <returns></returns>
|
||||
public static RibbonPanel AddPanel(UIControlledApplication application, string panelName)
|
||||
{
|
||||
var ribbonPanel = application.GetRibbonPanels(Tab.AddIns).Find(panel => panel.Name.Equals(panelName));
|
||||
|
||||
return ribbonPanel ?? application.CreateRibbonPanel(panelName);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user