shp文件转换为CAD文件 (第三版)

上个月写了一个工具是关于shp文件转换为CAD文件,

前天写了一篇shp文件转换为CAD文件的博客(公众号),今天是周六,也没啥事做,所以我们继续来完善这个小工具吧!

有个朋友反映这个小工具的存在可以改进的地方、问题,并希望可以开发继续开发字段分层的功能。

image-20240906185617366

“有没有办法转换成填充,按某个字段分图层img,这一步很重要啊”img

这里有个难点是:我对CAD文件不熟悉。

所以把上面的需求拆分为,按照字段读取矢量,分别将这些字段中的不同值的点位数据,保存为多个DXF文件。

花了亿点点时间,把之前的代码改了。

最后花了很多时间为这个工具写一个界面,如果有人需要用这个小工具,请在公众号回复dxf 获取链接。

代码以开源,地址是
https://github.com/ytkz11/rs-tool

测试

测试数据是一个有五个图形的shp,在QGIS打开如下:

image-20240907214749324

打开它的属性表,具体信息如下:

image-20240907214835309

可以看到shp数据中有两个字段,其中target字段的内容是我手动写入的,目的是为了测试。

假设target字段是我们的目标字段,测试结果如下:

在输入文件的同目录下,生成了四个文件,分别是

image-20240907215255761

这里是把所有的target字段下的circle数据都 保存到create_shp_by_fiona_circle.dxf 中,它在qgis打开如下图。

image-20240907220244265

其他三个输出文件分别在QGIS打开如下:

image-20240907220823893

image-20240907220847069

image-20240907220909714

界面

借助qfluentwidgets和QT,只要再花亿点点时间就可以把界面写好,颜值也很高!

特别要感谢qfluentwidgets!

软件使用说明

这个小工具,主要有两个界面,

第一个页面是保存所有字段到DXF,

第二个页面是 按照字段中的数据,分别保存为多个DXF文件。

image-20240907220942835

这个界面的数据处理函数是上周写的,在输入框中输入一个shp文件,输出一个dxf文件。

在输入文件的时候,会自动检查该文件是否为shp类型。

在数据处理完成后,会出现一个小弹窗提示任务完成。

image-20240907220959367

这个界面的数据处理函数是今天写的,在输入框中输入一个输入一个shp文件,输出多个dxf文件。

在输入文件的时候,会自动检查该文件是否为shp类型。自动获取该该shp下的所有的字段

在第二个框,即下拉框中,选择我们的目标字段,在本次测试中,我们选择“target”字段。

然后点击“开始处理”按钮。

在数据处理完成后,会出现一个小弹窗提示任务完成。

第三个界面是简介

image-20240907221022237

开源

这个小项目,已经开源在github

地址是https://github.com/ytkz11/rs-tool

如果对你有帮助的话,请不要吝啬你的star或点赞。

不知不觉地在7个小时完成了以上的工作,确实有一点点累了,今天先到这里了。