InvariantData.cs 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. using Resources;
  2. using SmartCoalApplication.Annotation.Enum;
  3. using SmartCoalApplication.Annotation.relationModel;
  4. using SmartCoalApplication.Base.Enum;
  5. using SmartCoalApplication.Base.SettingModel;
  6. using System;
  7. using System.Collections.Generic;
  8. namespace SmartCoalApplication
  9. {
  10. /// <summary>
  11. /// 存储系统中用到的一些可以放在程序里的下拉的数据
  12. /// </summary>
  13. public static class InvariantData
  14. {
  15. /// <summary>
  16. /// 其他路径
  17. /// </summary>
  18. public static readonly string path_Other = "SmartCoalApplication.Annotation.Other";
  19. /// <summary>
  20. /// 程序集
  21. /// </summary>
  22. public static readonly string assembly_Data = "SmartCoalApplication.Data";
  23. /// <summary>
  24. /// 命名空间
  25. /// </summary>
  26. public static readonly string path_Action = "SmartCoalApplication.Data.Action";
  27. /// <summary>
  28. /// 程序集
  29. /// </summary>
  30. public static readonly string auto_Data = "SmartCoalApplication.Base";
  31. /// <summary>
  32. /// 命名空间
  33. /// </summary>
  34. public static readonly string path_auto = "SmartCoalApplication.Base.AutoMeasure";
  35. /// <summary>
  36. /// 【预处理】【交互操作】分割线宽
  37. /// </summary>
  38. public static int segmentation = 1;
  39. /// <summary>
  40. /// 【预处理】【交互操作】连接线宽
  41. /// </summary>
  42. public static int connection = 1;
  43. /// <summary>
  44. /// 绘制端点时的减去的值
  45. /// </summary>
  46. public static int rectless = 6;
  47. /// <summary>
  48. /// 绘制端点时加上的值
  49. /// </summary>
  50. public static int rectplus = 12;
  51. /// <summary>
  52. /// 单位集合
  53. /// </summary>
  54. public static Dictionary<int, string> unitsDictionary = new Dictionary<int, string>()
  55. {
  56. //{(int)MeasurementUnit.Pixel, PdnResources.GetString("MeasurementUnit.Pixel")},
  57. {(int)MeasurementUnit.Inch, "in"},
  58. {(int)MeasurementUnit.Mil, "mil"},
  59. {(int)MeasurementUnit.Centimeter, "cm"},
  60. {(int)MeasurementUnit.Millimeter,"mm"},
  61. {(int)MeasurementUnit.Micron,"μm"},
  62. {(int)MeasurementUnit.Nano,"nm"}
  63. };
  64. /// <summary>
  65. /// 单位符号集合
  66. /// </summary>
  67. public static Dictionary<int, string> unitSymbolsDictionary = new Dictionary<int, string>()
  68. {
  69. //{(int)MeasurementUnit.Pixel, "px"},
  70. {(int)MeasurementUnit.Inch, "in"},
  71. {(int)MeasurementUnit.Mil, "mil"},
  72. {(int)MeasurementUnit.Centimeter, "cm"},
  73. {(int)MeasurementUnit.Millimeter,"mm"},
  74. {(int)MeasurementUnit.Micron,"μm"},
  75. {(int)MeasurementUnit.Nano,"nm"}
  76. };
  77. /// <summary>
  78. /// 常规设置->窗口里面的类型数组
  79. /// </summary>
  80. public static string[] settingName = new string[9] { PdnResources.GetString("Menu.Set.Generalsettings.Namingrules.text"), PdnResources.GetString("Menu.UserInfo.text"), PdnResources.GetString("Menu.Set.Generalsettings.dotspacingsetting.text"), PdnResources.GetString("Menu.Set.Generalsettings.Softwarelanguage.text"), PdnResources.GetString("Menu.Set.Generalsettings.Systemreset.text"), PdnResources.GetString("Menu.BasicSettings.text"), PdnResources.GetString("Menu.ImageCollection.CameraSetting.Text"), PdnResources.GetString("Menu.Directionsetting.text"), PdnResources.GetString("Menu.Auxiliarylinesettings.text") };
  81. /// <summary>
  82. /// 常规设置->窗口里面的数值位数数组
  83. /// </summary>
  84. public static string[] numberNum = new string[9] {"1", "2", "3", "4", "5", "6", "7", "8", "9" };
  85. /// <summary>
  86. /// 常规设置->窗口里面的参数说明
  87. /// </summary>
  88. public static Dictionary<string, string> parameterList = new Dictionary<string, string>()
  89. {
  90. {"%P",PdnResources.GetString("Menu.Nameprefix.text") },
  91. {"%I",PdnResources.GetString("Menu.Set.Generalsettings.Thevalueo001.text") },
  92. {"%h",PdnResources.GetString("Menu.Set.Generalsettings.thehourpanttime.text")+"(00-59)" },
  93. {"%m",PdnResources.GetString("Menu.Set.Generalsettings.theminrenttime.text")+"(00-59)" },
  94. {"%s",PdnResources.GetString("Menu.Set.Generalsettings.Thesecondnttime.text")+"(00-59)" },
  95. {"%Y",PdnResources.GetString("Menu.Set.Generalsettings.Theannualparate.Suchas.text")+":2010" },
  96. {"%M",PdnResources.GetString("Menu.Set.Generalsettings.themonrentdate.text")+"(01-12)" },
  97. {"%D",PdnResources.GetString("Menu.Set.Generalsettings.Thedaypartentdate.text")+"(01-31)" },
  98. {"%G",PdnResources.GetString("Menu.CreateaGUIDidentifier.text") },
  99. {"%U",PdnResources.GetString("Menu.Windowsusercurrentlyloggedin.text") },
  100. {"%N",PdnResources.GetString("Menu.NowRuleName.text") },
  101. {"%E",PdnResources.GetString("Menu.NowRuleFangDa.text") },
  102. //{"%T1",PdnResources.GetString("Menu.Set.CustomText.text") },
  103. //{"%T2",PdnResources.GetString("Menu.Set.CustomText.text") },
  104. //{"%T3",PdnResources.GetString("Menu.Set.CustomText.text") },
  105. {"%Z1",PdnResources.GetString("Menu.Set.NamedRuleCharacter.text") + 1},
  106. {"%Z2",PdnResources.GetString("Menu.Set.NamedRuleCharacter.text") + 2},
  107. {"%R",PdnResources.GetString("Menu.Set.SavePosition.text") },
  108. {"%AB",PdnResources.GetString("NewItemNo") },
  109. {"%BC",PdnResources.GetString("NewFrequency") },
  110. {"%CD",PdnResources.GetString("NewLaboratory") },
  111. {"%DE",PdnResources.GetString("NewUseFactory") },
  112. {"%EF",PdnResources.GetString("NewMadeOf") },
  113. {"%FG",PdnResources.GetString("NewOrderNo") },
  114. {"%GH",PdnResources.GetString("NewBatchNumber") },
  115. {"%HI",PdnResources.GetString("NewLayers") },
  116. {"%IJ",PdnResources.GetString("NewElectroplatingLine") },
  117. {"%JK",PdnResources.GetString("NewUnit") },
  118. };
  119. /// <summary>
  120. /// 线形的集合
  121. /// 需要改成多语言版本
  122. /// </summary>
  123. public static object[] dashStyles = new object[5] {
  124. PdnResources.GetString("DashStyle.Solid"),
  125. PdnResources.GetString("DashStyle.Dash"),
  126. PdnResources.GetString("DashStyle.Dot"),
  127. PdnResources.GetString("DashStyle.DashDot"),
  128. PdnResources.GetString("DashStyle.DashDotDot")
  129. };
  130. /// <summary>
  131. /// 线的粗细
  132. /// </summary>
  133. public static object[] thinkness = new object[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
  134. /// <summary>
  135. /// 脚本,里面的自动执行和交互执行
  136. /// </summary>
  137. public static Dictionary<int, string> scriptDictionary = new Dictionary<int, string>()
  138. {
  139. {1, PdnResources.GetString("Menu.automated.text")},
  140. {2, PdnResources.GetString("Menu.Interactiveexecution.text")}
  141. };
  142. public static Dictionary<int, string> scriptManualDictionary = new Dictionary<int, string>()
  143. {
  144. {2, PdnResources.GetString("Menu.Interactiveexecution.text")}
  145. };
  146. /// <summary>
  147. /// 文件-批量保存,里面文件格式
  148. /// </summary>
  149. public static Dictionary<string, string> fileFormatDictionary = new Dictionary<string, string>()
  150. {
  151. {".jpg", PdnResources.GetString("Menu.JointPhotographicExpertsGroup.text")+".jpg/jpeg"},
  152. {".bmp", PdnResources.GetString("Menu.Bitmapfile.text")+".bmp"},
  153. {".tiff", PdnResources.GetString("Menu.markingimagefileformat.text")+".tiff"}
  154. };
  155. /// <summary>
  156. /// 单位筛选
  157. /// </summary>
  158. public static Dictionary<Enum, Object> unitparameters = new Dictionary<Enum, object>()
  159. {
  160. { MeasurementUnit.Micron, PdnResources.GetString("Menu.Micron.text") },
  161. { MeasurementUnit.Pixel, PdnResources.GetString("Menu.Pixel.text") }
  162. };
  163. /// <summary>
  164. /// 构建测量分类关系
  165. /// </summary>
  166. public static List<MeasureRelationModel> GetMeasureRelations()
  167. {
  168. List<MeasureRelationModel> list = new List<MeasureRelationModel>();
  169. MeasureRelationModel pleaseChoise = new MeasureRelationModel();
  170. pleaseChoise.id = 0;
  171. pleaseChoise.name = PdnResources.GetString("Menu.Pleaseselect.Text");
  172. list.Add(pleaseChoise);
  173. //长度测量
  174. MeasureRelationModel lengthMeasure = new MeasureRelationModel();
  175. lengthMeasure.id = 1;
  176. lengthMeasure.name = PdnResources.GetString("Menu.MeasureAction.LengthMeasurement.Text");
  177. lengthMeasure.childLabel = new List<MeasureRelationModel.ChildLabel>();
  178. lengthMeasure.childLabel.Add(CreateMeasureChildModel(PdnResources.GetString("Menu.Pleaseselect.Text"), DrawToolType.Pointer, null));
  179. lengthMeasure.childLabel.Add(CreateMeasureChildModel(PdnResources.GetString("Menu.LabelAction.DrawLine.Text"), DrawToolType.MeasureLine, typeof(MeasureStyleModel.MeasureLine)));
  180. //lengthMeasure.childLabel.Add(CreateMeasureChildModel(PdnResources.GetString("Menu.MeasureAction.MeasureLength.Text"), DrawToolType.MeasureLength, typeof(MeasureStyleModel.MeasureLength)));
  181. lengthMeasure.childLabel.Add(CreateMeasureChildModel(PdnResources.GetString("Menu.MeasureAction.MeasureHLine.Text"), DrawToolType.MeasureHLine, typeof(MeasureStyleModel.MeasureHLine)));
  182. lengthMeasure.childLabel.Add(CreateMeasureChildModel(PdnResources.GetString("Menu.MeasureAction.MeasureVLine.Text"), DrawToolType.MeasureVLine, typeof(MeasureStyleModel.MeasureVLine)));
  183. //lengthMeasure.childLabel.Add(CreateMeasureChildModel(PdnResources.GetString("Menu.MeasureAction.MeasureDistanceLine.Text"), DrawToolType.MeasureDistanceLine, typeof(MeasureStyleModel.MeasureDistanceLine)));
  184. list.Add(lengthMeasure);
  185. //对准度测量
  186. MeasureRelationModel model = new MeasureRelationModel();
  187. model.id = 10;
  188. model.name = "标记点设置";
  189. model.childLabel = new List<MeasureRelationModel.ChildLabel>();
  190. model.childLabel.Add(CreateMeasureChildModel(PdnResources.GetString("Menu.Pleaseselect.Text"), DrawToolType.Pointer, null));
  191. list.Add(model);
  192. return list;
  193. }
  194. /// <summary>
  195. /// 测量属性的全部集合
  196. /// </summary>
  197. public static Dictionary<Enum, Object> measureAttributes = new Dictionary<Enum, object>()
  198. {
  199. { MeasureAttributes.ALL, PdnResources.GetString("Menu.Pleaseselect.Text") },//0
  200. { MeasureAttributes.MeasureMethod, PdnResources.GetString("Menu.Measuringway.text") },//1
  201. { MeasureAttributes.MeasureUnitCN, PdnResources.GetString("Menu.Unitsofmeasurement.text")+"("+PdnResources.GetString("Menu.Set.Generalsettings.Chinese.text")+")" },//2
  202. { MeasureAttributes.MeasureUnitEN, PdnResources.GetString("Menu.Imagement.Measurementlist.Unitofmeasurement(English).text") },//3
  203. { MeasureAttributes.PixelStartX, PdnResources.GetString("Menu.Pixelstartingpoint.text")+"X" },//4
  204. { MeasureAttributes.PixelStartY, PdnResources.GetString("Menu.Pixelstartingpoint.text")+"Y" },//5
  205. { MeasureAttributes.PhysicalStartX, PdnResources.GetString("Menu.Physicalstartingpoint.text")+"X" },//6
  206. { MeasureAttributes.PhysicalStartY, PdnResources.GetString("Menu.Physicalstartingpoint.text")+"Y" },//7
  207. { MeasureAttributes.PixelLength, PdnResources.GetString("Menu.Pixellength.text") },//8
  208. { MeasureAttributes.PhysicalLength, PdnResources.GetString("Menu.Physicallength.text") },//9
  209. { MeasureAttributes.PixelAverageIntercept, PdnResources.GetString("Menu.Pixelaverageintercept.text") },//10
  210. { MeasureAttributes.PhysicalAverage, PdnResources.GetString("Menu.Physicalmeanintercept.text") },//11
  211. { MeasureAttributes.NumberOfSegments, PdnResources.GetString("Menu.Linenumber.text") },//12
  212. { MeasureAttributes.PixelDistance, PdnResources.GetString("Menu.Pixeldistance.text") },//13
  213. { MeasureAttributes.PhysicalDistance, PdnResources.GetString("Menu.Physicaldistance.text") },//14
  214. { MeasureAttributes.PixelAverageDistance, PdnResources.GetString("Menu.Averagepixeldistance.text") },//15
  215. { MeasureAttributes.PhysicalAverageDistance, PdnResources.GetString("Menu.Physicaleandistance.text") },//16
  216. { MeasureAttributes.NumberOfEdges, PdnResources.GetString("Menu.Numberofedges.text") },//17
  217. { MeasureAttributes.PixelArea, PdnResources.GetString("Menu.Thepixelarea.text") },//18
  218. { MeasureAttributes.PhysicalArea, PdnResources.GetString("Menu.Physicalarea.text") },//19
  219. { MeasureAttributes.PixelCircumference, PdnResources.GetString("Menu.Pixelcircumference.text") },//20
  220. { MeasureAttributes.PhysicalCircumference, PdnResources.GetString("Menu.Physicalperimeter.text") },//21
  221. { MeasureAttributes.PixelCenterX, PdnResources.GetString("Menu.Pixelcircle.text")+"X" },//22
  222. { MeasureAttributes.PixelCenterY, PdnResources.GetString("Menu.Pixelcircle.text")+"Y" },//23
  223. { MeasureAttributes.PhysicalCenterX, PdnResources.GetString("Menu.Thphysicalenterofcircle.text")+"X" },//24
  224. { MeasureAttributes.PhysicalCenterY, PdnResources.GetString("Menu.Thphysicalenterofcircle.text")+"Y" },//25
  225. { MeasureAttributes.PixelRadius, PdnResources.GetString("Menu.Pixelsradius.text") },//26
  226. { MeasureAttributes.PhysicalRadius, PdnResources.GetString("Menu.Physicalradius.text") },//27
  227. { MeasureAttributes.PixelDiameter, PdnResources.GetString("Menu.Pixeldiameter.text") },//28
  228. { MeasureAttributes.PhysicalDiameter, PdnResources.GetString("Menu.Physicaldiameter.text") },//29
  229. { MeasureAttributes.Angle, PdnResources.GetString("Menu.TheAngle.text") },//30
  230. { MeasureAttributes.PixelArcLength, PdnResources.GetString("Menu.Pixelarclength.text") },//31
  231. { MeasureAttributes.PhysicalArcLength, PdnResources.GetString("Menu.Physicalarclength.text") }//32
  232. };
  233. /// <summary>
  234. /// 测量和属性关系的集合
  235. /// </summary>
  236. public static Dictionary<Enum, int[]> measureRelationAttributes = new Dictionary<Enum, int[]>()
  237. {
  238. //长度测量
  239. { DrawToolType.MeasureLine, new int[]{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } },
  240. { DrawToolType.MeasureLength, new int[]{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } },
  241. { DrawToolType.MeasureHLine, new int[]{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } },
  242. { DrawToolType.MeasureVLine, new int[]{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } },
  243. { DrawToolType.MeasureDistanceLine, new int[]{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } },
  244. };
  245. /// <summary>
  246. /// 创建测量的子类
  247. /// </summary>
  248. /// <param name="name">测量名称</param>
  249. /// <param name="num">对应的工具枚举</param>
  250. /// <param name="type">对应的配置类型</param>
  251. /// <returns></returns>
  252. public static MeasureRelationModel.ChildLabel CreateMeasureChildModel(string name, DrawToolType num, Type type)
  253. {
  254. MeasureRelationModel.ChildLabel measure = new MeasureRelationModel.ChildLabel();
  255. measure.name = name;
  256. measure.drawToolType = num;
  257. measure.type = type;
  258. return measure;
  259. }
  260. }
  261. }