工具箱相关
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Menus.cs 6.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using GrxCAD.ApplicationServices;
  7. using GrxCAD.Runtime;
  8. using GrxCAD.Interop;
  9. namespace HCTools
  10. {
  11. class Menus
  12. {
  13. public void AddMenu()
  14. {
  15. //COM方式获取AutoCAD应用程序对象
  16. GcadApplication acadApp = (GcadApplication)Application.AcadApplication;
  17. //为AutoCAD添加一个新的菜单,并设置标题为"地形图辅助"
  18. GcadPopupMenu pm = acadApp.MenuGroups.Item(0).Menus.Add("地形图辅助");
  19. //声明一个AutoCAD弹出菜单项,用于获取添加的菜单项对象
  20. GcadPopupMenuItem pmi;
  21. //在新建的菜单中添加一个名为"点线矛盾"的菜单项
  22. pmi = pm.AddMenuItem(pm.Count + 1, "点线矛盾", "PLError ");
  23. //设置状态栏提示信息
  24. pmi.HelpString = "检查地形图点线矛盾";
  25. pmi = pm.AddMenuItem(pm.Count + 1, "点线重叠", "PLOverlap ");
  26. pmi.HelpString = "检查地形图点线重叠";
  27. pmi = pm.AddMenuItem(pm.Count + 1, "地物压盖", "FeaatureOverlap ");
  28. pmi.HelpString = "检查地形图地物压盖";
  29. pmi = pm.AddMenuItem(pm.Count + 1, "节点提取", "pickupPoint ");
  30. pmi.HelpString = "节点提取";
  31. pmi = pm.AddMenuItem(pm.Count + 1, "等高线裁剪", "Cutdgx ");
  32. pmi.HelpString = "等高线裁剪";
  33. //pmi = pm.AddMenuItem(pm.Count + 1, "伪节点检查", "FakeCheck ");
  34. //pmi.HelpString = "伪节点检查";
  35. //pmi = pm.AddMenuItem(pm.Count + 1, "悬挂节点检查", "HangCheck ");
  36. //pmi.HelpString = "悬挂节点检查";
  37. pmi = pm.AddMenuItem(pm.Count + 1, "批量插入DOM", "InstDOM ");
  38. pmi.HelpString = "批量插入DOM";
  39. //添加一个分隔条以区分不同类型的命令
  40. pm.AddSeparator(pm.Count + 1);
  41. //pmi = pm.AddMenuItem(pm.Count + 1, "图斑信息", "Report ");
  42. //pmi.HelpString = "图斑信息";
  43. //pmi = pm.AddMenuItem(pm.Count + 1, "填充", "Fills ");
  44. //pmi.HelpString = "闭合多段线纯色填充";
  45. //pmi = pm.AddMenuItem(pm.Count + 1, "图斑信息", "ViewPoint ");
  46. //pmi.HelpString = "图斑信息";
  47. ////添加一个分隔条以区分不同类型的命令
  48. //pm.AddSeparator(pm.Count + 1);
  49. pmi = pm.AddMenuItem(pm.Count + 1, "自动生成图框", "SheetMap ");
  50. pmi.HelpString = "自动生成图框";
  51. //pmi = pm.AddMenuItem(pm.Count + 1, "分幅输出地形图", "Clipdwg ");
  52. //pmi.HelpString = "分幅输出地形图";
  53. //pmi = pm.AddMenuItem(pm.Count + 1, "图幅接边", "joinedge ");
  54. //pmi.HelpString = "图幅接边";
  55. pmi = pm.AddMenuItem(pm.Count + 1, "批量修改图框信息", "BATChange ");
  56. pmi.HelpString = "批量修改图框信息";
  57. pmi = pm.AddMenuItem(pm.Count + 1, "图层批量删改", "Layercg ");
  58. pmi.HelpString = "图层批量删改";
  59. pmi = pm.AddMenuItem(pm.Count + 1, "图层属性表", "Attribute ");
  60. pmi.HelpString = "图层属性表";
  61. //添加一个分隔条以区分不同类型的命令
  62. pm.AddSeparator(pm.Count + 1);
  63. pmi = pm.AddMenuItem(pm.Count + 1, "高程点检查", "PtCheck ");
  64. pmi.HelpString = "检查高程点值与注记是否一致";
  65. pmi = pm.AddMenuItem(pm.Count + 1, "高程点密度检查", "PtDenck ");
  66. pmi.HelpString = "检查高程点在一定范围内密度";
  67. pmi = pm.AddMenuItem(pm.Count + 1, "删除内部高程点", "Deletept ");
  68. pmi.HelpString = "删除内部高程点";
  69. //pmi = pm.AddMenuItem(pm.Count + 1, "删除整数高程点", "Deleteintgcd ");
  70. //pmi.HelpString = "删除整数高程点";
  71. pmi = pm.AddMenuItem(pm.Count + 1, "等高线分层", "Hierarchy ");
  72. pmi.HelpString = "等高线分层";
  73. pmi = pm.AddMenuItem(pm.Count + 1, "等高线检查", "CLCheck ");
  74. pmi.HelpString = "等高线检查";
  75. pmi = pm.AddMenuItem(pm.Count + 1, "等高线高程注记密度检查", "DgxAnnDenck ");
  76. pmi.HelpString = "等高线高程注记检查";
  77. pmi = pm.AddMenuItem(pm.Count + 1, "等高线缩编", "Dgxsb ");
  78. pmi.HelpString = "等高线缩编";
  79. pmi = pm.AddMenuItem(pm.Count + 1, "等高线拉线修改", "CLfix ");
  80. pmi.HelpString = "等高线拉线修改";
  81. //pmi = pm.AddMenuItem(pm.Count + 1, "等高线内插", "Dgxinter ");
  82. //pmi.HelpString = "等高线内插";
  83. //pmi = pm.AddMenuItem(pm.Count + 1, "示坡线绘制", "SlopeLine ");
  84. //pmi.HelpString = "示坡线绘制";
  85. //添加一个分隔条以区分不同类型的命令
  86. pm.AddSeparator(pm.Count + 1);
  87. pmi = pm.AddMenuItem(pm.Count + 1, "线连接", "Connect ");
  88. pmi.HelpString = "线连接";
  89. pmi = pm.AddMenuItem(pm.Count + 1, "检查线自相交", "SelfIntersect ");
  90. pmi.HelpString = "线自相交";
  91. pmi = pm.AddMenuItem(pm.Count + 1, "检查线线相交", "EachIntersect ");
  92. pmi.HelpString = "线线相交";
  93. pmi = pm.AddMenuItem(pm.Count + 1, "等高线高程取整", "EleRd ");
  94. pmi.HelpString = "等高线高程取整";
  95. //pmi = pm.AddMenuItem(pm.Count + 1, "等高线过河流道路房屋陡坎裁剪", "Cutdgxthrorvrd ");
  96. //pmi.HelpString = "等高线过河流道路房屋陡坎裁剪";
  97. //添加一个分隔条以区分不同类型的命令
  98. pm.AddSeparator(pm.Count + 1);
  99. //pmi = pm.AddMenuItem(pm.Count + 1, "合并面", "combFace ");
  100. //pmi.HelpString = "合并面";
  101. //pmi = pm.AddMenuItem(pm.Count + 1, "分割面", "splitFace ");
  102. //pmi.HelpString = "分割面";
  103. //将定义的菜单显示在AutoCAD菜单栏的最后
  104. pm.InsertInMenuBar(acadApp.MenuBar.Count + 1);
  105. }
  106. }
  107. }