一种图纸拼接方法和系统与流程
- 国知局
- 2024-09-14 14:37:46
本发明属于图纸打印领域,尤其涉及一种图纸拼接方法和系统。
背景技术:
1、在许多行业中,需要打印图纸。在打印图纸过程中,图纸大小可能与绘图仪(打印机)的打印尺寸不符。例如,绘图仪的打印尺寸是a0,需要打印两张a2的图纸,结果会有很多空白区域,导致纸张浪费。
2、现有的图纸拼接算法以顺序拼接居多,或人工手动进行布局。
3、顺序拼接和人工方式,效率低,在节约成本方面,通常收效甚微。
技术实现思路
1、为解决上述技术问题,本发明提出一种图纸拼接方法的技术方案,以解决上述技术问题。
2、本发明第一方面公开了一种图纸拼接方法,所述方法包括:
3、步骤s1、获取所有源图纸的尺寸,存入容器,并按照最长边由大到小排序;
4、步骤s2、在所述容器中选取排序第一的源图纸为二叉树的根节点;根据所述根节点的坐标,得到左节点填充区域的起点和终点,右节点填充区域的起点和终点;
5、步骤s3、根据左节点与右节点的填充区域的起点和终点,选择前序遍历、中序遍历或后序遍历的方式,以预定义优先级的节点插入方式,插入节点;
6、步骤s4、重复步骤s2和步骤s3,直到所述容器为空;
7、步骤s5、裁剪掉拼接后图纸的边距大于预定义边距的部分。
8、根据本发明第一方面的方法,在所述步骤s2中,根据所述根节点的坐标,得到左节点填充区域的起点和终点,右节点填充区域的起点和终点包括:
9、左节点填充区域的起点为[x,y+hight(p)+g];
10、左节点填充区域的终点为[w–m,h–m];
11、右节点填充区域的起点为[x+width(p)+g,y];
12、右节点填充区域的终点为[w–m,y+hight(p)];
13、其中,x,y表示根节点的坐标;hight(p)表示根节点的图纸高度;width(p)表示根节点的图纸宽度;g表示图纸间隔,即源图纸之间的距离;w表示拼接后图纸的宽度;m表示预定义边距;h表示拼接后图纸的高度。
14、或者,
15、根据本发明第一方面的方法,在所述步骤s2中,根据所述根节点的坐标,得到左节点填充区域的起点和终点,右节点填充区域的起点和终点还包括:
16、左节点填充区域的起点为[x,y+hight(p)+g];
17、左节点填充区域的终点为[x+width(p),h-m];
18、右节点填充区域的起点为[x+width(p)+g,y];
19、右节点填充区域的终点为[w–m,h-m];
20、其中,x,y表示根节点的坐标;hight(p)表示根节点的图纸高度;width(p)表示根节点的图纸宽度;g表示图纸间隔,即源图纸之间的距离;w表示拼接后图纸的宽度;m表示预定义边距;h表示拼接后图纸的高度。
21、根据本发明第一方面的方法,在所述步骤s3中,所述选择前序遍历、中序遍历或后序遍历的方式,以预定义优先级的节点插入方式,插入节点包括:
22、分别选择前序遍历、中序遍历或后序遍历的方式,以预定义优先级的节点插入方式,插入三次节点,选择最优的拼接方案。
23、根据本发明第一方面的方法,在所述步骤s3中,所述预定义优先级的节点插入方式的优先级包括:
24、纵向插入到右节点>横向插入到右节点>横向插入到左节点>纵向插入到左节点。
25、本发明第二方面公开了一种图纸拼接系统,所述系统包括:
26、第一处理模块,被配置为,获取所有源图纸的尺寸,存入容器,并按照最长边由大到小排序;
27、第二处理模块,被配置为,在所述容器中选取排序第一的源图纸为二叉树的根节点;根据所述根节点的坐标,得到左节点填充区域的起点和终点,右节点填充区域的起点和终点;
28、第三处理模块,被配置为,根据左节点与右节点的填充区域的起点和终点,选择前序遍历、中序遍历或后序遍历的方式,以预定义优先级的节点插入方式,插入节点;
29、第四处理模块,被配置为,重复第二处理模块和第三处理模块,直到所述容器为空;
30、第五处理模块,被配置为,裁剪掉拼接后图纸的边距大于预定义边距的部分。
31、根据本发明第二方面的系统,所述根据所述根节点的坐标,得到左节点填充区域的起点和终点,右节点填充区域的起点和终点包括:
32、左节点填充区域的起点为[x,y+hight(p)+g];
33、左节点填充区域的终点为[w–m,h–m];
34、右节点填充区域的起点为[x+width(p)+g,y];
35、右节点填充区域的终点为[w–m,y+hight(p)];
36、其中,x,y表示根节点的坐标;hight(p)表示根节点的图纸高度;width(p)表示根节点的图纸宽度;g表示图纸间隔,即源图纸之间的距离;w表示拼接后图纸的宽度;m表示预定义边距;h表示拼接后图纸的高度;
37、或者
38、根据本发明第二方面的系统,所述根据所述根节点的坐标,得到左节点填充区域的起点和终点,右节点填充区域的起点和终点包括:
39、左节点填充区域的起点为[x,y+hight(p)+g];
40、左节点填充区域的终点为[x+width(p),h-m];
41、右节点填充区域的起点为[x+width(p)+g,y];
42、右节点填充区域的终点为[w–m,h-m];
43、其中,x,y表示根节点的坐标;hight(p)表示根节点的图纸高度;width(p)表示根节点的图纸宽度;g表示图纸间隔,即源图纸之间的距离;w表示拼接后图纸的宽度;m表示预定义边距;h表示拼接后图纸的高度。
44、根据本发明第二方面的系统,所述选择前序遍历、中序遍历或后序遍历的方式,以预定义优先级的节点插入方式,插入节点包括:
45、分别选择前序遍历、中序遍历或后序遍历的方式,以预定义优先级的节点插入方式,插入三次节点,选择最优的拼接方案。
46、根据本发明第二方面的系统,所述预定义优先级的节点插入方式的优先级包括:
47、纵向插入到右节点>横向插入到右节点>横向插入到左节点>纵向插入到左节点。
48、本发明第三方面公开了一种电子设备。电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,实现本公开第一方面中任一项的一种图纸拼接方法中的步骤。
49、本发明第四方面公开了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本公开第一方面中任一项的一种图纸拼接方法中的步骤。
50、综上,本发明提出的方案能够将若干不同尺寸的图纸拼接成特定尺寸的图纸,再进行打印,节约成本。
本文地址:https://www.jishuxx.com/zhuanli/20240914/295164.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表