123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
-
- using GrxCAD.ApplicationServices;
- using GrxCAD.Runtime;
- using GrxCAD.Interop;
-
- namespace HCTools
- {
- class Menus
- {
- public void AddMenu()
- {
- //COM方式获取AutoCAD应用程序对象
- GcadApplication acadApp = (GcadApplication)Application.AcadApplication;
- //为AutoCAD添加一个新的菜单,并设置标题为"地形图辅助"
- GcadPopupMenu pm = acadApp.MenuGroups.Item(0).Menus.Add("地形图辅助");
- //声明一个AutoCAD弹出菜单项,用于获取添加的菜单项对象
- GcadPopupMenuItem pmi;
-
-
-
-
- //在新建的菜单中添加一个名为"点线矛盾"的菜单项
- pmi = pm.AddMenuItem(pm.Count + 1, "点线矛盾", "PLError ");
- //设置状态栏提示信息
- pmi.HelpString = "检查地形图点线矛盾";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "点线重叠", "PLOverlap ");
- pmi.HelpString = "检查地形图点线重叠";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "地物压盖", "FeaatureOverlap ");
- pmi.HelpString = "检查地形图地物压盖";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "节点提取", "pickupPoint ");
- pmi.HelpString = "节点提取";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "等高线裁剪", "Cutdgx ");
- pmi.HelpString = "等高线裁剪";
-
- //pmi = pm.AddMenuItem(pm.Count + 1, "伪节点检查", "FakeCheck ");
- //pmi.HelpString = "伪节点检查";
-
- //pmi = pm.AddMenuItem(pm.Count + 1, "悬挂节点检查", "HangCheck ");
- //pmi.HelpString = "悬挂节点检查";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "批量插入DOM", "InstDOM ");
- pmi.HelpString = "批量插入DOM";
-
- //添加一个分隔条以区分不同类型的命令
- pm.AddSeparator(pm.Count + 1);
-
-
- //pmi = pm.AddMenuItem(pm.Count + 1, "图斑信息", "Report ");
- //pmi.HelpString = "图斑信息";
-
-
- //pmi = pm.AddMenuItem(pm.Count + 1, "填充", "Fills ");
- //pmi.HelpString = "闭合多段线纯色填充";
-
- //pmi = pm.AddMenuItem(pm.Count + 1, "图斑信息", "ViewPoint ");
- //pmi.HelpString = "图斑信息";
-
-
- ////添加一个分隔条以区分不同类型的命令
- //pm.AddSeparator(pm.Count + 1);
-
-
- pmi = pm.AddMenuItem(pm.Count + 1, "自动生成图框", "SheetMap ");
- pmi.HelpString = "自动生成图框";
-
- //pmi = pm.AddMenuItem(pm.Count + 1, "分幅输出地形图", "Clipdwg ");
- //pmi.HelpString = "分幅输出地形图";
-
- //pmi = pm.AddMenuItem(pm.Count + 1, "图幅接边", "joinedge ");
- //pmi.HelpString = "图幅接边";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "批量修改图框信息", "BATChange ");
- pmi.HelpString = "批量修改图框信息";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "图层批量删改", "Layercg ");
- pmi.HelpString = "图层批量删改";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "图层属性表", "Attribute ");
- pmi.HelpString = "图层属性表";
-
-
- //添加一个分隔条以区分不同类型的命令
- pm.AddSeparator(pm.Count + 1);
-
- pmi = pm.AddMenuItem(pm.Count + 1, "高程点检查", "PtCheck ");
- pmi.HelpString = "检查高程点值与注记是否一致";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "高程点密度检查", "PtDenck ");
- pmi.HelpString = "检查高程点在一定范围内密度";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "删除内部高程点", "Deletept ");
- pmi.HelpString = "删除内部高程点";
-
- //pmi = pm.AddMenuItem(pm.Count + 1, "删除整数高程点", "Deleteintgcd ");
- //pmi.HelpString = "删除整数高程点";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "等高线分层", "Hierarchy ");
- pmi.HelpString = "等高线分层";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "等高线检查", "CLCheck ");
- pmi.HelpString = "等高线检查";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "等高线高程注记密度检查", "DgxAnnDenck ");
- pmi.HelpString = "等高线高程注记检查";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "等高线缩编", "Dgxsb ");
- pmi.HelpString = "等高线缩编";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "等高线拉线修改", "CLfix ");
- pmi.HelpString = "等高线拉线修改";
-
- //pmi = pm.AddMenuItem(pm.Count + 1, "等高线内插", "Dgxinter ");
- //pmi.HelpString = "等高线内插";
-
- //pmi = pm.AddMenuItem(pm.Count + 1, "示坡线绘制", "SlopeLine ");
- //pmi.HelpString = "示坡线绘制";
-
- //添加一个分隔条以区分不同类型的命令
- pm.AddSeparator(pm.Count + 1);
-
- pmi = pm.AddMenuItem(pm.Count + 1, "线连接", "Connect ");
- pmi.HelpString = "线连接";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "检查线自相交", "SelfIntersect ");
- pmi.HelpString = "线自相交";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "检查线线相交", "EachIntersect ");
- pmi.HelpString = "线线相交";
-
- pmi = pm.AddMenuItem(pm.Count + 1, "等高线高程取整", "EleRd ");
- pmi.HelpString = "等高线高程取整";
-
- //pmi = pm.AddMenuItem(pm.Count + 1, "等高线过河流道路房屋陡坎裁剪", "Cutdgxthrorvrd ");
- //pmi.HelpString = "等高线过河流道路房屋陡坎裁剪";
-
- //添加一个分隔条以区分不同类型的命令
- pm.AddSeparator(pm.Count + 1);
-
- //pmi = pm.AddMenuItem(pm.Count + 1, "合并面", "combFace ");
- //pmi.HelpString = "合并面";
-
- //pmi = pm.AddMenuItem(pm.Count + 1, "分割面", "splitFace ");
- //pmi.HelpString = "分割面";
- //将定义的菜单显示在AutoCAD菜单栏的最后
- pm.InsertInMenuBar(acadApp.MenuBar.Count + 1);
- }
- }
- }
|