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。
總結
以上是生活随笔為你收集整理的C#培训2019-9-30第十课 Dxf转档 读取DXF文档 读取圆信息 生成 NC加工档的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么下载优酷,土豆、乐视网上视频,4种快
- 下一篇: C#读取文本播放相应语音