技术前沿

您的位置:主页 / 客户案例

Think3的GPL说话 开辟 挤压模模孔线割主动 化法式 设计与运用

发布日期:2021-07-18 19:07:19浏览次数: 631 金属3D打印服务

 Think3的GPL说话
开辟
挤压模模孔线割主动
化法式
设计与运用

摘 要:简述经由过程 Think3的GPL说话 ,使用曲线偏移的功能发生 铝型材挤压模模孔线割刀路及对应G代码的进程 ,并对模孔进行主动 相切查抄。

关头词:挤压模线切割; G代码; 偏移; 暂停点

作者来自亚洲铝厂

  在挤压模建造 进程 中,线切割加工是极度主要 的一个环节。模孔轮廓质量将直接影响挤出铝型材的轮廓质量。 我司对该环节一贯 极度正视 ,率先引进高精度慢走丝对模孔进行加工,极年夜 的提高了模具轮廓质量。跟着 公司营业 的扩年夜 及对制造精度的不懈寻求 ,对线割编程的要求也愈来愈 高。

  因为 现有线割编程软件参数设置繁琐, 发生 的NC代码与机床机能 不完全匹配,需再次查抄及更改,分歧 机床须划分处置。而在挤压模线割编程编程中,加工参数相对固定,为减轻线割编程员劳动强度,下降 新人培训周期,遂提出经由过程 CAD软件Think3的GPL说话 ,使用曲线偏移的功能发生 挤压模模孔线割刀路及对应G代码的进程 ,并对模孔进行主动 相切查抄的假想 。

  具体流程以下 :

  1.输入待割型材选择集,要包管 纠合首尾挨次相接。若所选肇端 点或标的目的不适合 可经由过程 肇端 点前移/后移及反相进行调动。

2.看待 割铝型材选择集进行主动 查抄,以包管 过渡油滑 。

  具体方式 为:由法式 对相邻两图素进行查抄:

  (1)若为直线和圆弧,经由过程 求直线两头 点与圆弧出发点 和终点距离获得 交点,再判决绝 点与圆心所成直线与直线夹角,若非90度则剖断 直线和圆弧非相切关系,在交点处按指定图层及色彩 绘点提示 此处需更正;

  (2)若为圆弧和圆弧,判定 圆心距离是不是 等于半径和或差,若不等剖断 圆弧和圆弧非相切关系,在交点处按指定图层及色彩 绘点提示 此处需更正;

  (3)若为直线和直线,直接在交点处按指定图层及色彩 绘点提示 编程员查抄。

3.界说 加工参数,入丝点:

  主要输入切割厚度,入丝点,精加工次数。

4.用偏移功能发生 加工轨迹线:

  依加工参数肯定 偏移距离,使用CAD软件的偏移功能发生 偏移线(将偏移线第一刀放到999层,即粗割轨迹线;其余顺次 放到998、997...层),对输入待割型材的总长与新发生 轨迹线总长比对,轨迹线总终年 夜 于待割型材的总长则将其删除,调动偏移标的目的,从头发生 轨迹线。具体GPL法式 代码以下 :

  #procedure SelsOfst(IDS,offsetDist,InOut) !No005将给定图素偏移指定距离 若相等则掉 败不发生 偏移图素[自ek_confw.prbs]W::->WrTp::

  *保存原始情况 WrTp::SelsOfst(ek_prese(1),0.2,1) //SelsOfst(ek_prese(1),0.2,1)

  currCol:=$PG(EP_COL) ekpar EP_COL 60 !EP_COL

  currLTYPE:=$PG(EP_LTYPE) ekpar EP_LEV 999 !EP_LTYPE

  currWIDTH:=$PG(EP_WIDTH) ekpar EP_WIDTH 2 !EP_WIDTH

  currLEV:=$PG(EP_LEV) ekpar EP_LEV 999 !EP_LEV

TmpTPth_IDS

  TmpTPth_IDS::=0#0

  ekpar EP_CVOF_DIST 1 !DIST/point

Sids::=IDS !保存待处置纠合

exitflag::=0

m(IDS,"IDS")

Sperim::=WrTp::GetLensBySels(IDS)

lastEnt::=$lastent

m($lastent,"$lastent Prv")

  WrTp::SelsHIGHZYYSXS(Sids,20,1)

AAG_2021::SelByIds(Sids)

  ekpar EP_CVOF_DIST 1 !DIST/point

ekpar EP_OFFSET_N offsetDist !0.2/-0.2 offsetDist

ekpar EP_OFF_OPTMC 0 !copy 0/Move 1 -》ekpar EP_OFF_OPTMC 1

  * ekpar EP_CVOF_NUMOF ek_num_edit

ekpar EP_CVOF_NUMOF 1 !层数UNDO

ekpar EP_CVOF_TRFL 1 !Extended0/1Fillet是不是 倒圆

  user::ek_offset_onpln !履行 发生 偏移线

eos

Halt

if($lastent.eq.lastEnt) ek_w_m('最后确立的[$lastent为空 请查证!'//m(IDS)) goto('e0') ! exit

  m($lastent,"$lastent Nxt")

OfstIds::=(lastEnt+1):$lastent !初次 发生 的偏移线

Dperim::=WrTp::GetLensBySels(WrTp::OfstIds)

*

if((WrTp::Dperim.lt.WrTp::Sperim).and.(InOut.eq.1)) then !方针周长小于源+InOut=1 ->exitflag::=1

m('SelsOfst ok in',IDS,offsetDist,InOut,OfstIds)

TmpTPth_IDS::=OfstIds

exitflag::=1

elseif(WrTp::Dperim.eq.WrTp::Sperim) then

OfstIds::=0

m('SelsOfst ==',IDS,offsetDist,InOut,OfstIds)

exitflag::=2

elseif((WrTp::Dperim.gt.WrTp::Sperim).and.(InOut.ne.1)) then !方针周长小于源+InOut1 ->exitflag::=1

m('SelsOfst ok Out',IDS,offsetDist,InOut,OfstIds)

exitflag::=1

else

ekpar EP_OFFSET_N -offsetDist

endif

  *

if(WrTp::exitflag.eq.1) m("WrTp::exitflag.eq.1") eos goto('e0') ! exit

if(WrTp::exitflag.eq.2) m("WrTp::exitflag.eq.2") eos undo eos goto('e0') ! !方针周长等于源 exit

  m("SelsOfst -offsetDist",-offsetDist,now)

undo

*从头设置选择集

WrTp::SelsHIGHZYYSXS(Sids,2,1)

AAG_2021::SelByIds(Sids)

lastEnt::=$lastent

user::ek_offset_onpln eos m("SelsOfst -offsetDist Do") !履行 发生 偏移线

Halt

if($lastent.eq.lastEnt) ek_w_m('最后确立的[$lastent为空 请查证!02'//m(IDS)) goto('e0') ! exit

OfstIds::=(lastEnt+1):$lastent !undo后 发生 的偏移线

Dperim::=WrTp::GetLensBySels(WrTp::OfstIds)

  if((WrTp::Dperim.lt.WrTp::Sperim).and.(InOut.eq.1)) then

  *exit

m('SelsOfst ok2 in',IDS,offsetDist,InOut,OfstIds)

TmpTPth_IDS::=OfstIds

exitflag::=1

elseif((WrTp::Dperim.gt.WrTp::Sperim).and.(InOut.ne.1)) then ! ??应无机遇 履行 到

m('SelsOfst ?ok? Out2 >>ERR!',IDS,offsetDist,InOut,OfstIds)

exitflag::=1

endif

  if(exitflag.eq.1) goto('e0') ! exit

  m('SelsOfst err ',now)

  *

  end:

  * exit(values) !

exit

  e0: m("SelsOfst->e0 ") !TTError("PLSort",WERROR,TTMsg('_TTGEN'\\15,''))

  *恢回复复兴 始情况

ekpar EP_COL currCol !EP_COL

ekpar EP_LTYPE currLTYPE !EP_LTYPE

ekpar EP_WIDTH currWIDTH !EP_WIDTH

ekpar EP_LEV currLEV !EP_LEV

goto('end')

  #end

5.按给定支持 距离较量争论 ,获得 支持 位打断点,并将粗割刀路打断,对打断点进行判定 :

  a.所需残剩 长度较量争论 :

  依支持 所需长度,判定 最后的图素长度是不是 足够,若不足则将“所需长度-最后图素长度”得出“所需残剩 长度;同理顺次 对前一图素长度作判定 ,直至前一图素长度年夜 于所需残剩 长度。

  b.确立支持 位打断点:

  当前一图素长度年夜 于所需残剩 长度时,较量争论 所需残剩 长度占前一图素长度的比例数(以下简称为比例数),使用在曲线指定比例处画点功能确立支持 位打断点(此时需注重曲线肇端 点是不是 与切割标的目的吻合,当标的目的相反时所用比例值 =(1-比例数)。以便使点位与切割标的目的符合 。

  c.在点位处打断,重排刀路:

接着使用曲线朋分 函数在方才 确立的点位处打断曲线,将打断确立的新图素依其位置对刀路图素选择集重排,使打断发生 的新图素在刀路准确 的序列中。

 6.在易断丝处设置暂停点

  即在给定位置点将刀路打断,并在该位置确立点。(具体方式 同5)

  7.对刀路进行摹拟 ,以确认刀路序列准确 。

  8.发生 Nc法式

  按刀路进行摹拟 时图素显示挨次发生 加工点位坐标序列,再在恰当 位置插入需要 的辅助节制 码及G代码。因刀路顺次 布列的图素不是严厉 按首尾相接(可能有头接尾的情况), 发生 加工点位坐标序列时必需 对此进行辨别 ,以包管 坐标序列准确 。

  经由过程 以长进 程 ,实现法式 所见即所得。加工参数可直接由输入的模厚主动 生成,终究 法式 花式可按照现实 机床灵动调剂 ,避免对分歧 类型机床需屡次 编程的短处;法式 设置加倍 便捷.

查看更多 >>

技术前沿