技術(shù)前沿

您的位置:主頁 / 客戶案例

Think3的GPL說話 開辟 擠壓模??拙€割主動 化法式 設計與運用

發(fā)布日期:2021-07-18 19:07:19瀏覽次數(shù): 790 金屬3D打印服務

 Think3的GPL說話
開辟
擠壓模??拙€割主動
化法式
設計與運用

摘 要:簡述經(jīng)由過程 Think3的GPL說話 ,使用曲線偏移的功能發(fā)生 鋁型材擠壓模??拙€割刀路及對應G代碼的進程 ,并對??走M行主動 相切查抄。

關(guān)頭詞:擠壓模線切割; G代碼; 偏移; 暫停點

作者來自亞洲鋁廠

  在擠壓模建造 進程 中,線切割加工是極度主要 的一個環(huán)節(jié)。??纵喞|(zhì)量將直接影響擠出鋁型材的輪廓質(zhì)量。 我司對該環(huán)節(jié)一貫 極度正視 ,率先引進高精度慢走絲對??走M行加工,極年夜 的提高了模具輪廓質(zhì)量。跟著 公司營業(yè) 的擴年夜 及對制造精度的不懈尋求 ,對線割編程的要求也愈來愈 高。

  因為 現(xiàn)有線割編程軟件參數(shù)設置繁瑣, 發(fā)生 的NC代碼與機床機能 不完全匹配,需再次查抄及更改,分歧 機床須劃分處置。而在擠壓模線割編程編程中,加工參數(shù)相對固定,為減輕線割編程員勞動強度,下降 新人培訓周期,遂提出經(jīng)由過程 CAD軟件Think3的GPL說話 ,使用曲線偏移的功能發(fā)生 擠壓模??拙€割刀路及對應G代碼的進程 ,并對??走M行主動 相切查抄的假想 。

  具體流程以下 :

  1.輸入待割型材選擇集,要包管 糾合首尾挨次相接。若所選肇端 點或標的目的不適合 可經(jīng)由過程 肇端 點前移/后移及反相進行調(diào)動。

2.看待 割鋁型材選擇集進行主動 查抄,以包管 過渡油滑 。

  具體方式 為:由法式 對相鄰兩圖素進行查抄:

  (1)若為直線和圓弧,經(jīng)由過程 求直線兩頭 點與圓弧出發(fā)點 和終點距離獲得 交點,再判決絕 點與圓心所成直線與直線夾角,若非90度則剖斷 直線和圓弧非相切關(guān)系,在交點處按指定圖層及色彩 繪點提示 此處需更正;

  (2)若為圓弧和圓弧,判定 圓心距離是不是 等于半徑和或差,若不等剖斷 圓弧和圓弧非相切關(guān)系,在交點處按指定圖層及色彩 繪點提示 此處需更正;

  (3)若為直線和直線,直接在交點處按指定圖層及色彩 繪點提示 編程員查抄。

3.界說 加工參數(shù),入絲點:

  主要輸入切割厚度,入絲點,精加工次數(shù)。

4.用偏移功能發(fā)生 加工軌跡線:

  依加工參數(shù)肯定 偏移距離,使用CAD軟件的偏移功能發(fā)生 偏移線(將偏移線第一刀放到999層,即粗割軌跡線;其余順次 放到998、997...層),對輸入待割型材的總長與新發(fā)生 軌跡線總長比對,軌跡線總終年 夜 于待割型材的總長則將其刪除,調(diào)動偏移標的目的,從頭發(fā)生 軌跡線。具體GPL法式 代碼以下 :

  #procedure SelsOfst(IDS,offsetDist,InOut) !No005將給定圖素偏移指定距離 若相等則掉 敗不發(fā)生 偏移圖素[自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 !層數(shù)UNDO

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

  user::ek_offset_onpln !履行 發(fā)生 偏移線

eos

Halt

if($lastent.eq.lastEnt) ek_w_m('最后確立的[$lastent為空 請查證!'//m(IDS)) goto('e0') ! exit

  m($lastent,"$lastent Nxt")

OfstIds::=(lastEnt+1):$lastent !初次 發(fā)生 的偏移線

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") !履行 發(fā)生 偏移線

Halt

if($lastent.eq.lastEnt) ek_w_m('最后確立的[$lastent為空 請查證!02'//m(IDS)) goto('e0') ! exit

OfstIds::=(lastEnt+1):$lastent !undo后 發(fā)生 的偏移線

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.確立支持 位打斷點:

  當前一圖素長度年夜 于所需殘剩 長度時,較量爭論 所需殘剩 長度占前一圖素長度的比例數(shù)(以下簡稱為比例數(shù)),使用在曲線指定比例處畫點功能確立支持 位打斷點(此時需注重曲線肇端 點是不是 與切割標的目的吻合,當標的目的相反時所用比例值 =(1-比例數(shù))。以便使點位與切割標的目的符合 。

  c.在點位處打斷,重排刀路:

接著使用曲線朋分 函數(shù)在方才 確立的點位處打斷曲線,將打斷確立的新圖素依其位置對刀路圖素選擇集重排,使打斷發(fā)生 的新圖素在刀路準確 的序列中。

 6.在易斷絲處設置暫停點

  即在給定位置點將刀路打斷,并在該位置確立點。(具體方式 同5)

  7.對刀路進行摹擬 ,以確認刀路序列準確 。

  8.發(fā)生 Nc法式

  按刀路進行摹擬 時圖素顯示挨次發(fā)生 加工點位坐標序列,再在恰當 位置插入需要 的輔助節(jié)制 碼及G代碼。因刀路順次 布列的圖素不是嚴厲 按首尾相接(可能有頭接尾的情況), 發(fā)生 加工點位坐標序列時必需 對此進行辨別 ,以包管 坐標序列準確 。

  經(jīng)由過程 以長進 程 ,實現(xiàn)法式 所見即所得。加工參數(shù)可直接由輸入的模厚主動 生成,終究 法式 花式可按照現(xiàn)實 機床靈動調(diào)劑 ,避免對分歧 類型機床需屢次 編程的短處;法式 設置加倍 便捷.

查看更多 >>

技術(shù)前沿