后台B/S应用系统,根据用户上传的数据:业务数据和CAD坐标数据,经过一系列操作,输出一批坐标数据作为规划结果为用户。这时候就需要方便直观的将坐标数据显示给用户。有两种选择:直接显示网页绘图,可以快速将结果显示给用户,但用户只能估计图形的大概位置,看不到非常精细的位置,所以这种方式只能是用作预览使用坐标数据输出到CAD软件可以识别的文件。下载文件后,用户可以直接用AutoCAD软件打开文件。CAD软件功能的丰富,可以看到非常精细的坐标位置,也可以用AutoCAD进行二次人工调整。加工。因此:有必要考察编程读写CAD文件的可行性。AutoCAD文件格式有共同点和不同点。DWGAutocad软件可以直接读写CAD图形文件并相互转换。软件、文本文件、文件之间CAD数据交换的CAD数据文件格式可能比dwg大很多,所以选择dxf格式作为研究格式目标运行环境Linux编程语言注意事项因为在上面使用了两种编程语言项目中的服务器端,分别考察两种编程语言JavaPython的校验范围,本次校验是确认CADdxf文件是否可以通过程序代码进行编辑,保存的dxf文件是否可以打开Autocad软件是否正确,数据是否会丢失,不同dxf年份格式的dxf文件是否可以正确保存和打开。可选开源包Python|包名|版本|优缺点||--|--|--||ezdxf|0.13|直接读写dxf格式文件||上机AutoCAD软件|Java|包名|版本|优缺点||--|--|--||卡贝加||||YCAD||||JDXF||||jdwglib||||泰加||必须在安装了AutoCAD软件的机器上运行||dxf|||验证环境硬件设备为惠普笔记本,win10系统,64位。软件Python3.7Java8Autocad2015Autocad2016和一张dwg格式的工程cad图纸用于验证过程使用CAD软件将DWG格式的工程图纸转换成各年的dxf格式(dxf2000、dxf2004、dxf2007、dxf2010、dxf2013、R12)编写代码读入dxf格式文件并新建一个图层,在新建的图层上用代码画几个圆和方块,保存为对应年份的dxf文件,重新打开编辑保存的各年份的dxf文件通过AutoCAD软件编码,查看是否绘图成功,文件大小是否发生变化。使用AutoCAD自带的文件数据提取功能,遍历CAD图纸中的所有元素,输出execl,查看元素个数是否有出入。验证结果表明Pythonezdxf可以正常读写dxf文件。用CAD软件打开dxf文件,输出execl后,发现原来有887410个文件。元素,保存代码绘图后的文件有887415个元素,多出来的五个元素分别是一个圆和一个由代码添加的4条线段组成的矩形。元素数量对应少量JavaJava包文件,大部分读取dxf文件。目前还没有找到合适的用例或API来编写测试代码和编辑dxf文件。因此,目前给出了验证可行性的结论,还需进一步研究。注意事项DWG文件转换为R12dxf格式时,转换后的文件会过大(600M),无法打开转换后的文件。(Auto2015和Auto2016都会出现这种情况),所以不能选择这个版本的dxfezdxf库。dxf库中保存的dxf文件转为DWG格式时,打开时会弹出错误弹框,需要修复才能打开显示。修复后内容显示正常,元素无减少。参考http://docs.autodesk.com/ACD/...https://sourceforge.net/p/dxf...本文由多帖博客平台OpenWrite发布!
