陳曉生,馮亞坤,任明強(qiáng)
(珠海格力精密模具有限公司,廣東珠海 519070)
PowerMill是英國DELCAM公司開發(fā)的一款專業(yè)的數(shù)控加工編程軟件,相比UG、MasterCAM、Cimatron等數(shù)控加工軟件,其在操作上手、計(jì)算速度、加工精度等方面更具有優(yōu)勢。另外PowerMill同時(shí)為用戶提供了Visual Basic二次開發(fā)接口和開放式的內(nèi)部命令集合宏指令(Macro),通過這些二次開發(fā)端口,能夠讓用戶體驗(yàn)到一鍵完成某種功能和需求,大大提升工作效率和工作質(zhì)量,也讓PowerMill在模具加工行業(yè)的使用越來越廣泛。本文主要介紹利用宏指令對孔加工的二次開發(fā),涉及開發(fā)思路、宏的制作、使用等方面。
首先確認(rèn)開發(fā)思路和實(shí)現(xiàn)的功能,以圖1所示模型為例,介紹對宏指令的孔加工二次開發(fā)。
圖1 加工模型
(1)開發(fā)思路。
通過設(shè)計(jì)各個(gè)功能模塊所需的宏指令,并利用“macro”命令串聯(lián)各功能模塊宏指令,實(shí)現(xiàn)一鍵完成。
(2)功能要求。①能夠區(qū)分正反面孔加工特征;②能夠識別孔特征類型、大小并進(jìn)行分類;③能夠根據(jù)孔加工要求匹配相應(yīng)加工刀具及加工策略;④能夠?qū)τ械菇且蟮目走M(jìn)行倒角加工。
(1)創(chuàng)建孔加工特征。
利用模型中選取工具-選取倒勾型面部件,進(jìn)行垂直面選面;通過特征設(shè)置中的定義特征設(shè)置或識別模型中的孔,識別正反面特征。部分宏指令如下:
DEACTIVATE Featureset
CREATE FOLDER "Featureset""DHOLEUN"
ACTIVATE FOLDER "FeaturesetDHOLEUN"
BLANK UNDO
EDIT MODEL ALL DESELECT ALL
EDIT SELECTUNDERCUT MODEL ALL FORM
SELECTUNDERCUT
VIEW MODEL;UCANGLE "0"
EDIT SELECTUNDERCUT MATCH_DRAFT_ANGLE
YES
EDIT SELECTUNDERCUT INCLUDE_PARTIALS NO
FORM APPLY SELECTUNDERCUT
FORM ACCEPT SELECTUNDERCUT
EDIT FEATURECREATE TYPE HOLE EDIT
FEATURECREATE CIRCULAR ON EDIT
FEATURECREATE FILTER HOLES FORM FEATURE
FEATURECREATE
EDIT FEATURECREATE HOLES FIXED ON
EDIT FEATURESET;INSERT POINTS
FEATURE CLOSE
以上宏指令,主要實(shí)現(xiàn)了文件夾創(chuàng)建、激活,孔特征選擇,創(chuàng)建特征的功能,這部分宏指令可以通過樹窗下方的“宏”圖標(biāo)處,右鍵選擇“錄制”,進(jìn)行宏錄制生成,生成的宏指令可能存在語句冗長,需要使用者對其進(jìn)行優(yōu)化。
(2)對特征進(jìn)行大小分類。
選擇產(chǎn)生的特征集合,右鍵點(diǎn)選“選取特征”,通過直徑的選取方式,進(jìn)行特征選取,然后將特征進(jìn)行復(fù)制,達(dá)到進(jìn)行大小分類的目的。部分宏指令如下:
REAL LIST H_Diameters ={}
FOREACH H in components (entity('featureset',"UNgather")){
IF H.Type=="hole"{
INT S=add_last(H_Diameters,H.Diameter)
}
}
INT n=remove_duplicates(H_Diameters)
FOREACH h_dia IN H_Diameters{
REAL DM=$h_dia
ACTIVATE Featureset"unBDD"
FORM FEATURESELECT
EDIT SELECTION TYPE DIAMETER
EDIT SELECTION CLEAR EDIT SELECTION
APPLY
EDIT SELECTION FILTER DIAMETER MIN $DM
EDIT SELECTION FILTER DIAMETER MAX $DM
EDIT SELECTION APPLY
FEATURESELECT CANCEL
COPY FEATURESET"unBDD"SELECTED
RENAME Featureset"unBDD_1" $NA
ACTIVATE Featureset$NA
EDIT FEATURESET$NA DESELECT ALL
EDIT FEATURESET$NA SELECT DUPLICATES
DELETE FEATURESET$NA SELECTED
}
以上宏指令,主要實(shí)現(xiàn)了孔特征的直徑大小分類,這部分宏指令通過:①添加變量,構(gòu)建表達(dá)式;②運(yùn)用集合、表達(dá)式控制宏的流向;③賦值,參數(shù)分配等的運(yùn)用,構(gòu)成該功能模塊宏指令的編寫,比較考驗(yàn)編寫者的邏輯能力。
(3)刀具、策略選擇模塊。
通過構(gòu)建孔加工刀具庫宏,運(yùn)行匹配特征直徑大小選擇相應(yīng)鉆孔刀具,利用特征命名名稱關(guān)鍵詞,提前識別加工策略調(diào)用。部分宏指令如下:
REAL LIST $list1={}
REAL LIST $list2={}
INT $added=0
FOREACH $s1 IN components(entity('Featureset',
'UNgather')){
int n=add_last($list1,$s1.Diameter)
}
INT removed=remove_duplicates($list1)
while size(list1)>0 {
real tzk=max(list1)
$added=remove(list1,$tzk)
int s=add_last(list2,$tzk)
}
Foreach D in $list2{
string naa=''
string naa1=''
$naa='UN'+string($D)
$naa1='UN'+string($D)+'-'+'CT'
if entity_exists(entity('Featureset',$naa)){
ACTIVATE Featureset$naa
macro"E:孔自動(dòng)基礎(chǔ)庫鉆孔刀具匹配.mac"
real diffvalue=$D-entity('tool','').DIAMETER
IMPORT TEMPLATE ENTITY TOOLPATH"E:孔自動(dòng)策略模板 武宣县| 库尔勒市| 麻江县| 纳雍县| 赫章县| 汕头市| 南康市| 来安县| 邢台县| 松原市| 抚松县| 砀山县| 盐山县| 辉南县| 同心县| 定日县| 绿春县| 红河县| 兰坪| 麟游县| 齐河县| 醴陵市| 井冈山市| 阳西县| 聂拉木县| 巫山县| 福州市| 泰州市| 句容市| 历史| 文水县| 衡东县| 烟台市| 镇远县| 酒泉市| 报价| 富民县| 保康县| 射阳县| 保亭| 来凤县|