070230激光切割机自动排料应用中的一种套排算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
!"
!"#!$%&’() * $’+’,$-. !"#$
! # !" $
图!
!"
!
$
$
图" 多边形顶点的调整
$
拟合排样方案
小于任何一 个 未 排 的 排 样 多 边 形 的 面 积 的 情 况 ! 此 时 ! 更新板材多边形为初始的矩形 ! 表示一块板已排 完 ! 然后从新的一块板上开始排放还未排放的排样 多边形 " 否则就以新的板材多边形进入下一轮拟合 排样 "
#$ !% TF U ’" 为 零 件 V 的 图 形 #!%$"% 为 零 件 的 坐 标 位
置 #则 该 零 件 在 板 材 上 的 定 位 表 示 过 程W 先 将 该 零 件 以 该 坐 标 点 为 轴 #以 角 度 ! % 旋 转 #然 后 再 将 点 在 板材上作位移 !"!%#""%"% 这时要切割的零件 % 在板 材上的方位可表示为 &$!"!%#""%#! %"%
Hale Waihona Puke Baidu
% ""#!"$ ! & 计 算 钣 材 多 边 形 每 个 顶 点 的 参 数 %!!""% ""
#!"&!’ 从板材多边形的顶点 $ 开始进行拟合排料 !(
再处理各零件在钣材的定位 " 输出排样结果 $ 排样多边形凹部的判断 为了方便于多边形拟合填充的进行 " 先要将已 得到的排料多边形进行凸化处理 $ 为此 " 首先要判别 排料多边形是否存在凹部 $ 排料多边形是由一系列 按逆时针方向排列的顶点构成 $ 由任意相邻的 ’ 个 顶点 &%"&!"’(&!’(&%((’(’(&%((!(’((!’( 可以得到 ) 个向 量 &%(&%(*!(’(&’(*!’ 和 &%((!*%((’((!*’(’( 将这 ) 个 向 量 作 向 量 积 &%( &%( *!(’( *’( *!’ &%( (! *%((’( (! *’(’( 然 后 根据右手规则判断顶点 + 是凸还是凹 $
N8P! )%’%
% ( F
上式必须满足下列条件 & !F "&$ !"!%#""%#! %" "&* !"!*#""*#! *" T# # 表 示 任两个零件互不重叠 ( !U "G#!%+ !"!%#""%#! %"#, 方向零件不能排在钣料外边 ( !S "G #"%+ !"!%#""%#! %" #. 方向零件不能排在钣料外 % )) 零件 % 的第 + 个顶点的坐标 ( 式中 &!%+$"%+)
!"#!$%&’() * $’+’,$-. !"#$
文章编号 !FHZU[GFUF "UGGZ #GU[GG\F[GS
激光切割机自动排料应用中的一种套排算法
仲米生 ! 济南铸造锻压机械研究所 # 山东 济南 U^GGUU "
摘要 ! 在板材激光切割加工中 # 为了提高材料利用率和生产效率 # 必 须 对 待 切 零 件 进 行 编 程 $ 排 料 和 套 料 % 本文介绍了一种实用的自动排料套排计算方法 # 经实际应用取得了好的效果 % 关键词 ! 机械制造 & 计算 & 排样 & 激光切割 中图分类号 !A%]_^ 文献标识码 !‘
理成多边形 # 可用它的每个顶点处的夹角 ! % 和该顶 点到其 U 个相邻顶点的距 离 X//+#0/+Y 完 全 表 示 它 的 形 状 # 并且这些参数与多边形顶点坐标无关 % 假定板材 形状开始是矩形 # 它也是个多边形 % 将一个零件排在 板材后 # 板材上剩下的材料仍然是一个多边形 % 整个
*! *) + .
的两条边重合起来后 " 将顶点 ( 沿板材上选定的边 内移动 " 使顶点 ( 能在顶点 1 处排下 $ 见图 ) $ 若上面步骤能成功进行 " 则包顶点 ( 的排样凸 多边形被成功地排放到板材的顶点 1 处 $
*’ *,
!"&
板材多边形顶点的调整 当 不 存 在 排 料 多 边 形 2 以 及 它 的 顶 点 5( 满 足
!"$
填充方案 由于排料多边形不一定是凸的 ( 所以还要对存
在凹部的排料多 边 形 的 凹 部 尽 可 能 地 进 行 填 充 ( 使 其凸化 $ 其过程如下 # &! ’ 选 定 由 前 面 方 案 产生的排料多边形( 沿其 顶点寻找其产生凹部的若 干连续顶点 $ 设 )!)*))* *( 为构成排料多边形凹部的 一串连续顶点 $ &) ’ 由 这 些 顶 点 构 成 了 ! 个供填充的多边形 + ( 计算多边形 *!)*)) * *" 的 面积 , ( 见图 ! $
!%!
拟合排样方案 对每个凸多变形用链表逆时针地记录它的每一
个顶点的坐标 ( 并用它们计算出每一个顶点的形状 参 数 #% ((!!((#!(& ( 也 用 逆 时 针 链 表 记 录 下 来 ! 同 时 ( 用
!"#
! 个逆时针链表记录下板材多边形的顶点形状参数 #% ((!!((#!(& $ 这以后开始拟合性探索和排样 ( 先从板材
图! 填充多边形
%2( 时 " 顶 点 ( 将 与 顶 点 1 相 重 合 " 然 后 在 % &!!1 3!!2(’"
&#!13#!2(’$ 中选择小的以决定将哪两条边重合起来 2" 当 % 16 %2( 时 " 在 % &!!1 3!!2(’" &#!1 3#!2(’$ 中 选 择 大 的 " 选 择
%+TG #F #QQQ #-%# 在 ; %+ TG #F #QQQ #-%# 在 .
B
排样算法数学模型分析 一个刚性平面零件在板材上的定位实际上只需
)) 板材的长和宽 #! 取值 G 或 F ( , $.)
要 S 个参数 & 即它的坐标值 !! #" " 和放置角度 ! % 设
C
排样算法 在排料过程中 # 所有零件根据加工精度均被处
拟合条件时 ! 就要对该板材多边形进行一些必要的 调整 " 可能出现几种情况 #!调整时的板材多边形的 顶点数大于或等于 " ! 并且板材多边形的面积小于 任何一个未排的排样多边形的面积 $ " 调整时板材 多边形的顶点等于 " ! 并且板材多边形的面积大于 某些未排的排样多边形的面积 $ # 调整时的板材多 边形的顶点数大于 " ! 并且板材多边形的面积大于 某些未排的排样多边形的面积 " 对 于 第 %# &! 更 新 板 材 多 边 形 为 初 始的矩形 ! 在 表 示 # 块 板 已 排 完 ! 然 后 从新的一块板上开始排放还未排的排 样 多 边 形 " 对 于 第 %! &! 调 用 填 充 方 案 对着一个剩下的三角形的板材进行填 充" 然后更新板材多边形为初始的矩 形! 新的 # 块板上开始排放还未排放 的 排 样 多 边 形 " 对 于 %" &! 要 对 板 材 多 边形的顶点 $ 进行调整 ! 由 顶 点 $ 的 拟 合条件 ! 当顶点 $ 不再被进行拟合时 ! 或者顶点 $ 的夹 角 $ $ 很 小 ! 或 者 与 顶 点 $ 相连的两条边 %%$ 和 &%$ 很短 " 这时 ! 可以从板材 多边形的顶点序列中删除顶 点 $ " 此 时 ! 如 果 顶 点 $ 是凸的 ! 则直接将其 删 去 $ 若 是 凹 的 ! 先 在 与 其 相 连 的两条边 %%$ 和 &%$ 中选择短的那条边 ! 并将与该边相 连 的 下 一 条 边 沿 顶 点 $ $# % 对 应 %%$ 短 些 & 或 $ %# % 对 于 &%$ 短 些 & 延 长 ! 在 其 延 长 时 ! 判 别 其 是 否 与 边 &%$ 或 %%$ 有交点 " 若有交点 ! 则在板材多边形中删去顶 点 $ ! 并 将 顶 点 $ $# 或 顶 点 $ %# 移 至 该 交 点 $ 否 则 直 接删去顶点 $ " 具体作法见图 " " 图中以 $ 为顶 点 的 小 三 角 形 是 调 整 顶 点 $ 时 删 去的部分 " 在对板材多边形调整时 ! 可能出现调整后 的板材多边形的顶点数小于 " 或板材多边形的面积
A
引言 数控激光切割机是钣金零件生产中常用的一种
设 ’% 为零件 V 的面积 # 则要切割的零件排料模 型为 &
%
数控加工设备 # 它具 有 加 工 速 度 快 $ 精 度 高 等 特 点 # 并具有其他钣金加工设备无可比拟的生产能力 % 但 该数控设备生产零件前必须对零件进行编程 $ 排料 和套料 # 以达到在固定的材料尺寸下生产更多的零 件 ! 或者说生 产 相 同 的 零 件 使 用 的 材 料 最 少 "# 节 约 材料 % 怎样排列零件顺序和怎样在废料中切割出较 小零件是自动编程中非常重要的问题 % 由于异形零 件的排料套料算法非常复杂 # 涉及到很多情况 # 本文 讨论了一种异形零件排料拟和算法 %
;<%"81=">A3) 1>’)11 8*< (/’J7*2 K’)110’) /* >))>3 /@ >3) 1>82)< *0> 7* 1B’)( K’)11)1 381 L))* 1>0<7)< L? M&N 9)>3/< (37B3 K’/=)1 >38> 017*2 1>82)< *0> 7* 1B’)( K’)11)1 71 3)CK@0C @/’ 79K’/=7*2 >3) */*O0*7@/’9 <71>’7L0>7/* /@ 1>’)11 8*< (/’J7*2 K’)110’) /* >3) >))>3 8*< )P>)*<7*2 >3) (/’J7*2 C7@) /@ >3) 1B’)(Q ?$*9,8@%>,>’)11 8*8C?171R ,>82)< *0>R ,B’)( K’)11R M&N
!"
!"#$ !"#!$%&’() * $’+’,$-.
件组成一个个排样的凸多边形单元 ! 在对零件进行 以上工作后 " 就得到两种多边形 # 板材多边形和排样 多边形 $ 板材多边形在排样开始时是一个矩形 " 而排 料多边形单元一般由若干零件组成 $ 在得到这两种 多边形后 " 接下来将排样多边形一个个地填充到板 材多边形中去 $ 在这个过程中要解决两个问题 %! 怎 样选择板材多边形的填充位置 ! " 在选定了板材多 边形的填充位置后 " 怎样选择最佳的排样的多边形 " 并将其填充于板材多边形的该位置上 $ 这就是本文 算法要解决的问题 $ 从上分析可见 " 排样过程为 %! 事先设置排料的 零件外轮廓图形和个数及板材的尺寸 ! " 计算出各 零件的面积并从大到小排序 !# 从第 ! 个零件开始 " 如果其个数 "! " 则对其进行 单 排 和 对 排 检 测 " 并 从 中选出较好的 ! 个构造出排样单元 " 若其个数为 ! " 令其本身为 ! 个排样单元 " 并对前面产生的排料单 元进行填充 " 使其凸化 " 从而构造出凸多边形的排样 单元 !$ 当全部零件都被放入凸多边形排料后 " 对每 个凸多边形排样 单 元 计 算 它 们 每 个 顶 点 的 参 数 #!!"" &’ ’ 在所有其他排样多边形的 面 积 小 于 - 中 先 选择最大面积的排样多边形 . ( 采用 ) 种方法对零 件进行可填充性探测 $ 将该排样多边形的右下角排 于 *" 并进行内包含判断 ( 若内包含则将该排样多边 形排于该处 ( 对其进行旋转的内包含性探测 ( 若存在 一方位使得其能为内包含的 ( 则该排料多边形适当 向上调整 $ 同时 ( 也对其进行旋转的内包含性探测 ( 若可内包含 ( 则排料在此处 ! 否则求出该排料多边形 和被填充多边形的形心 ( 将这 ) 个形心重合起来 ( 再 进行内包含判断 ( 若内包含 ( 则将该排样多边形排于 该处 ( 否则放弃该排样多边形在该处的填充 $ &, ’ 继续对其他的排样多边形进行上述可填充 性探测 ( 如果所有的排料多边形都不能填充在 + 中 ( 则放弃对 + 的填充 $ &/ ’ 最后将排样多边形的该处凹部凸化 ( 即把产 生 + 的顶点 *! 和 *( 连接起来 ( 删除该排料多边形顶 点 *))*’)* *(*! $ 对其他凹部 ( 只要沿排料多边形的顶点按逆时 针方向寻找 ( 就可一个个找出并填充之 $
!"#$%% &’()*%+% ,- "./ 0"12$3 45" 6’ 078$9 :8$%%
!"#$% &’()*+ ,-$ ./01/*2+ !"#$% !3)*2’/*2+ 4&5 678*29/+ !":- ;78*307
!%08*2</*2 -*7=)’17>? /@ A)B3*/C/2?+ %08*2D3/0 EFGGGH+ %08*2</*2 I37*8 "
多边形的第一个顶点 $ ( 然后在所有的排样凸多边形 寻找与该顶点能最佳配合的顶点 ( $ 这里最佳的目标 是要求以下 ) 个指标同时达到最小 $
-+.0% 1&% 2(/ -+.0 &!!$3!!2(’4 &#!13#!2(’1
&!!2(!!!1(#!2(!#!1’ 式中 %%% 1(!!1(#!1$+ ++ 板材多边形顶点 1 的形状参数 ! ++ 排样多边形 2 "5 的第 2( 个顶 %%2("!!2("#!2($+ 点的形状参数 $ 若对于顶点 1 能找到满足以上条件的顶点 ( " 则 将 包 含 顶 点 2( 的 排 样 凸 多 边 形 2 排 放 到 板 材 的 顶 点 1 处 " 这时会有两种情况需要区别处理 %! 当 % 1#
收稿日期 !UGGZ[GF[FZ 作者简介 ! 仲米生 !F\H][ "# 男 # 高工
排料过程就是用一个零件填充板材多边形的过程 % 首先 # 用 单 排 $ 对 排 和 填 充 等 技 术 # 将 排 料 的 零
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$