需求目标
(1)加载工具之后,用户需要知道:
a、工具名称,是否加载成功;
b、基本命令是什么,如何实现属性录入、输出、检查等操作;
c、是否有详细帮助文档;
d、作者、单位等相关信息,包括联系方式、版本号等。
方法实现:public void Initialize():ed.WriteMessage()方法中输出
*a、“PipeCADTool加载成功”;
*b、“基本命令:录入dd、输出opt、检查check等”;
*c、“阅读详细帮助文档命令:HH”;
*d、“作者、单位、联系方式”以及读取软件详细版本信息并输出等。
(2)规划用户、许可用户录入实体扩展信息:
a、是否需要录入规划(许可)公共属性信息;
b、是否已经将信息写成txt文件;
c、选中实体命令是什么,录入实体属性信息;
d、长度实现自动输入;
e、框选实体,过滤选中范围内不同属性字段的实体,实现相同属性字段实体批量录入;
f、大类属性自动输入,同时小类属性范围根据大类内容自动调整;
g、焦点根据鼠标位置在不在录入界面内,自动调整;
h、需要知道实体是否已经录入过属性信息。
方法实现:
*a、将ProjectName等公共属性字段放在同一类中,输入命令gh、xk,弹出对话框中用户选择不需要录入规划(许可)公共属性则将对象返回null,选择需要录入公共属性则实例化对象;
*b、读取txt字段内容,若txt文件规范则输出“读取成功”,若文件不规范则弹出界面让用户手动输入;
*c、public void dd (): 输入dd命令,选中实体,按照实体所在图层名和实体类型弹出相应的属性录入界面,录入属性;splitStr()方法实现按照某字段分割字符;将属性字
段序列化,用SetXdata(doc)方法在ResultBuffer中new一个TypedValue键值对,将序列化对象存入;GetXdata()方法判断该实体是否已经添加过属性,返回bool值,Update(doc,db)方法清空原来的记录,重新在ResultBuffer中添加TypedValue键值对;
*d、getLength(Entity ent)方法根据传入的ent,自动计算其长度,返回string;
*e、batchInput(Entity ent, Model model)方法根据传入的ent和它的model信息,框选其余实体,建立选择集,对类似的ent的属性进行批量录入;在基类界面设计属性提取Button,调用该方法,在子类界面继承该方法;
*f、void b_PipeType(layername),传入图层名,返回大类b_string, void s_PipeType(b_string),传入大类名称,根据大类名称,定小类范围;
*g、MouseLeave方法让鼠标离开界面,则将焦点移至cad中。MouseHover方法让鼠标回到界面,则将焦点移至界面中;
*h、界面中设计录入、更新两个按钮;实体若录入属性信息,鼠标靠近能有标识区分。
(3)用户输出实体扩展信息:
a、需要将实体及其handleid、扩展属性、坐标等信息输出成txt文件;
方法实现:
*a、opt方法实现框选实体,建立选择集过滤实体,传入model输出相关实体信息,保存至用户指定位置。
(4)用户录入前检查:
a、是否有冗余数据;
b、是否有重复的点和线。
方法实现:
*a、checkLayer (ent)方法遍历实体,如果有实体在非规定图层,则输出提示信息“CAD图形不标准,请修改”;
*b、checkSame (ent)方法: 遍历实体,如果有重复则用InsertCircle方法在重复的地方插入红色的圆,并将其设为当前图层。
(5)用户录入后检查:
a、必填项检查;
b、录入内容标准化、规范化检查。
方法实现:
*a、两级检查:首先在界面中输入时,将必填项label前加“*”,若完成输入后必填项未填,输出警告信息,但允许用户继续输入;在check命令中用selfCheck()方法遍历实体,,将检查结果、msg信息以及实体不符Tag id放入ResultInfo中,输出相关信息,并在重复的地方插入蓝色的圆,并将其设为当前图层。
*b、针对需要检查的输入内容建立其规则的正则化表达式,每个规则与序列号一一对应,selfCheck()方法中输出不符合要求的实体的Tag id、触犯相应正则化表达式的id以及内容。同时在不符的实体处插入黄色的圆,并将其设为当前图层。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务