
Ref: Auto
cad2008
Help + Objectarx for 2008
1.參考編輯
屬
性塊
命
令:eattedit,實現雙擊屬性塊執行
自
定義宏命令ShowDeviceAtt。
說明:執行dblclick、savecui ,只需要第一次使用時注冊雙擊命令即可,適合在安裝包中注冊與恢復。
測試打開屬性塊編輯
窗
口2種方式:
1.雙擊屬性塊
2.輸入命令ShowDeviceAtt=》選擇屬性塊
體現Autocad自身特性,
用戶易使用。
[CommandMethod("dblclick")]
public void doubleClick()
{
string mgName = "mxMenuGroups";//宏組
string mmName = "DblblockMacro";//宏
string command = "ShowDeviceAtt"; //對應屬性塊編輯查看宏命令
string dblclickEID = "DCU_myBlockdblclick";
//菜單宏
MenuMacro oMenuMacro1 = cs.FindMenuMacro(mmName);
if (oMenuMacro1 == null)
{
//先自定義宏組
MacroGroup oMacroGroup = cs.MenuGroup.FindMacroGroup(mgName);
if (oMacroGroup == null)
oMacroGroup = new MacroGroup(mgName, cs.MenuGroup);
oMenuMacro1 = new MenuMacro(oMacroGroup, mmName, command, "DblblockMacro", MacroType.Any);
}
foreach (DoubleClickAction dblclick in cs.MenuGroup.DoubleClickActions)
{
if (dblclick.ElementID == dblclickEID)
{
ed.WriteMessage("已經添加屬性塊雙擊自定義動作");
return;
}
}
DoubleClickAction dblClickAction = new DoubleClickAction(cs.MenuGroup, "mxBloc dblclick ", -1);//定義雙擊動作
dblClickAction.Description = "元件屬性編輯查看";//說明
dblClickAction.ElementID = dblclickEID;//元素ID
dblClickAction.DxfName = "ATTBLOCKREF";//(雙擊)對象名稱
DoubleClickCmd dblClickCmd = new DoubleClickCmd(dblClickAction);//雙擊命令
dblClickCmd.MacroID = oMenuMacro1.ElementID;//宏ID
dblClickAction.DoubleClickCmd = dblClickCmd;
saveCui();
ed.WriteMessage("屬性塊雙擊自定義動作添加成功");
}
轉自: http://www.cnblogs.com/jdmei520/archive/2009/11/03/1595033.html