C#培训2019-9-30第十课 Dxf转档 读取DXF文档 读取圆信息 生成 NC加工档

DXF格式资料

DXF文档原来是AutoCAD的专用格式,后来开发了。因此格式内容可以直接查看AutoCAD给出的帮助文档:http://docs.autodesk.com/ACD/2011/CHS/filesDXF/WSfacf1429558a55de185c428100849a0ab7-5f35.htm
DXF读取是两行两行读取的,我们关注的信息主要是ENTITIES段。

基本思路:首先需要规划架构!

列出类名称、public 方法名称 引数类型、属性等;
架构会实时根据实作更改,要求与最终的方法等相同。
在这里插入图片描述

解析:

1、DxfReader.cs类用来实现读取DXF文档,Read ( ) 方法返回bool类型是因为要用来判断是否读取成功,若读取失败则不需要用GetResult ( ) 来获取读取的内容。
2、用Circle.cs来继承Entity.cs类,主要是考虑以后的拓展性,当需要读取线段等可以直接也继承Entity.cs类。
3、PathOptimiztion.cs类中
先用Classify方法对“圆”进行从大到小分类,半径较小的圆排到前面;
分类好返回的是一个二维的List,因为这样可以直接把半径相同的圆放进一个List<Entity>中,判断外层有几个List<Entity>,就有几类半径相同的圆,每个List<Entity>中有几个Entity则表示此半径下有几个圆。
接着用PathPlanning方法对分类好的圆进行路径优化(此处只是找的离当前的最近的点来优化路径)。
4、NcWriter.cs类是生成加工档的类,其中的GenerateFile 方法只传入一维的List<Entity>,主要是方便以后其他地方的调用,因此传入一维List<Entity>时,是在UI中写For循环,将二维的List< List<Entity> >剥开,一层一层调用GenerateFile 方法。

注意:

1、类名称要是名词;
2、在搭建架构时,需要考虑整体的拓展性、方法的通用性。
3、方法名称不能是 虚词 例如 Planning(计划) Calculate(计算) Optimize(优化) 等等通用性很强的词,这样会导致调用、阅读时不知道方法的作用是什么。
4、DxfReader.cs类的方法不能写成静态的方法。 例如,若需求变成要同时读取多个DXF文档的时候,就不适用了。
5、属性的名称 尽量表达清楚,例如是否能缩写,缩写是否规范。例如Circle.cs类中有圆心坐标以及半径的属性, 其中圆心坐标属性名称为 CenterX CenterY ,不易写作 X Y 或者 Cx Cy 或者 centerX centerY。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值