CAD二次开发&C#.Net编程-CAD创建右键菜单
private static ContextMenuExtension m_ContextMenu;
public static void Attach()
{
m_ContextMenu = new ContextMenuExtension();
m_ContextMenu.Title = "修改";
MenuItem MenuItem_1 = new MenuItem("竖井");
MenuItem_1.Click += new EventHandler(MenuItem_1_Click);
m_ContextMenu.MenuItems.Add(MenuItem_1);
RXClass rxClass = Entity.GetClass(typeof(BlockReference));
Application.AddObjectContextMenuExtension(rxClass, m_ContextMenu);
}
public static void Detach()
{
Application.RemoveDefaultContextMenuExtension(m_ContextMenu);
}
private static void MenuItem_1_Click(object sender,EventArgs e)
{
Database db = HostApplicationServices.WorkingDatabase;
Editor ed = Autodesk.AutoCAD.ApplicationServices.Core.Application.DocumentManager.MdiActiveDocument.Editor;
ObjectId SpaceId = db.CurrentSpaceId;
PromptPointResult ppr;
PromptPointOptions ppa = new PromptPointOptions("\n 指定插入点:")
{
UseBasePoint = false
};
ppr = ed.GetPoint(ppa);
Point3d location;
if (ppr.Status != PromptStatus.OK)
{
return;
}
else
{
location = ppr.Value;
}
string x = location.X.ToString("f4");
string y = location.Y.ToString("f4");
Set4mShaft(db, SpaceId, x+" "+y+" 竖井", location, layername);
}