ตัวอย่าง การสร้าง
ให้ไปที่ Project Explorer และทำการสร้าง Image เพื่อเป็น Icon ก่อน
โดย
Add->Resource
double click ที่ Resouce1.resx
->Add Image
เขียนรูปแล้ว Save
ใน Code ให้เพิ่ม ใน App.cs
namespace RevitAddin1
{
class App : IExternalApplication {
static string AddInPath = Assembly.GetExecutingAssembly().Location;
static string ButtonIconsFolder = Path.GetDirectoryName(AddInPath);
static UIApplication uiApplication = null;
public Autodesk.Revit.UI.Result OnStartup(UIControlledApplication application)
{
try
{
// create customer Ribbon Items
CreateRibbonPanel(application);
return Autodesk.Revit.UI.Result.Succeeded;
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.ToString(), "Ribbon Sample");
return Autodesk.Revit.UI.Result.Failed;
}
}
private void CreateRibbonPanel(UIControlledApplication application)
{ // build button here
string tabName = "CAAD"; // panale name
System.Windows.Forms.MessageBox.Show(AddInPath);
RibbonPanel ribbonPanel = application.CreateRibbonPanel("CAAD Project");
// Create two push buttons
// PushButtonData button2 = new PushButtonData("Button2", "listData",
// AddInPath, "RevitAddin1.Command2");
{
PushButton pushButton = ribbonPanel.AddItem(new PushButtonData("Button1", "seeInLink", AddInPath, "RevitAddin1.Command")) as PushButton;
// ชื่อ RevitAddin1.Command ต้องตรงกับใน Command.cs จะเป็น Namespace.Class
// ชื่อ RevitAddin1.Command ต้องตรงกับใน Command.cs จะเป็น Namespace.Class
pushButton.Image = LoadImage(Resource1.Image1);
pushButton.LargeImage = LoadImage(Resource1.Image1);
}
}
public Autodesk.Revit.UI.Result OnShutdown(UIControlledApplication application)
{
return Autodesk.Revit.UI.Result.Succeeded;
}
public static BitmapImage LoadImage(Bitmap imageToLoad)
{
BitmapImage image2;
BitmapImage image = new BitmapImage();
try
{
Bitmap bitmap = imageToLoad;
MemoryStream stream = new MemoryStream();
bitmap.Save(stream, ImageFormat.Png);
image.BeginInit();
image.StreamSource = stream;
image.EndInit();
image2 = image;
}
catch (System.Exception exception1)
{
image2 = null;
}
return image2;
}
}
}