cad.net 更改高版本填充交互方式为低版本样子

        /// <summary>
        /// 修改cui,双击填充
        /// </summary>
        ///  https://blog.csdn.net/hfmwu/article/details/84139169 
        ///  https://adndevblog.typepad.com/autocad/2012/12/customizing-double-click-on-block-reference.html
        public static void RegeditDoubleClickEvent()
        {
#if AC2008 || AC2020
            // 检索ACAD Main CUI文件的位置,然后打开它 
            string mainCuiFile = Getvar("MENUNAME") + ".cuix";
            var cs = new CustomizationSection(mainCuiFile);
            DoubleClickAction blockDoubleClickAction = null;
            foreach (DoubleClickAction dca in cs.MenuGroup.DoubleClickActions)//要加入accui.dll 浩辰没有
            {
                //英文版CAD使用英文名称,具体对象名称可在CAD自定义面板内查询
                if (dca.Name.Equals("图案填充"))
                {
                    blockDoubleClickAction = dca;
                    break;
                }
            }
            if (blockDoubleClickAction != null)
            {
                //更改双击宏以调用我们的命令 
                var ma = blockDoubleClickAction.DoubleClickCmd.MenuMacroReference.macro;
                string str = "编辑图案填充";
                if (ma.Name != str)
                {
#if !AC2008
                    ma.CLICommand = "HATCHEDIT";
#endif
                    ma.Command = "^C^C_hatchedit";
                    ma.Name = str;
                    ma.HelpString = "修改现有的图案填充对象:   HATCHEDIT";

                    // 保存我们的更改
                    if (cs.IsModified)
                    {
                        cs.Save();
                    }
                }
            }
#endif
        }

修改完这个之后,要修改 

HPDLGMODE,1;高版本填充直接弹出面板

猜你喜欢

转载自www.cnblogs.com/JJBox/p/10640246.html