陈晓生,冯亚坤,任明强
(珠海格力精密模具有限公司,广东珠海 519070)
PowerMill是英国DELCAM公司开发的一款专业的数控加工编程软件,相比UG、MasterCAM、Cimatron等数控加工软件,其在操作上手、计算速度、加工精度等方面更具有优势。另外PowerMill同时为用户提供了Visual Basic二次开发接口和开放式的内部命令集合宏指令(Macro),通过这些二次开发端口,能够让用户体验到一键完成某种功能和需求,大大提升工作效率和工作质量,也让PowerMill在模具加工行业的使用越来越广泛。本文主要介绍利用宏指令对孔加工的二次开发,涉及开发思路、宏的制作、使用等方面。
首先确认开发思路和实现的功能,以图1所示模型为例,介绍对宏指令的孔加工二次开发。
图1 加工模型
(1)开发思路。
通过设计各个功能模块所需的宏指令,并利用“macro”命令串联各功能模块宏指令,实现一键完成。
(2)功能要求。①能够区分正反面孔加工特征;②能够识别孔特征类型、大小并进行分类;③能够根据孔加工要求匹配相应加工刀具及加工策略;④能够对有倒角要求的孔进行倒角加工。
(1)创建孔加工特征。
利用模型中选取工具-选取倒勾型面部件,进行垂直面选面;通过特征设置中的定义特征设置或识别模型中的孔,识别正反面特征。部分宏指令如下:
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
以上宏指令,主要实现了文件夹创建、激活,孔特征选择,创建特征的功能,这部分宏指令可以通过树窗下方的“宏”图标处,右键选择“录制”,进行宏录制生成,生成的宏指令可能存在语句冗长,需要使用者对其进行优化。
(2)对特征进行大小分类。
选择产生的特征集合,右键点选“选取特征”,通过直径的选取方式,进行特征选取,然后将特征进行复制,达到进行大小分类的目的。部分宏指令如下:
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
}
以上宏指令,主要实现了孔特征的直径大小分类,这部分宏指令通过:①添加变量,构建表达式;②运用集合、表达式控制宏的流向;③赋值,参数分配等的运用,构成该功能模块宏指令的编写,比较考验编写者的逻辑能力。
(3)刀具、策略选择模块。
通过构建孔加工刀具库宏,运行匹配特征直径大小选择相应钻孔刀具,利用特征命名名称关键词,提前识别加工策略调用。部分宏指令如下:
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:孔自动基础库钻孔刀具匹配.mac"
real diffvalue=$D-entity('tool','').DIAMETER
IMPORT TEMPLATE ENTITY TOOLPATH"E:孔自动策略模板 0-钻孔.ptf" FORM TOOLPATH
…….
If $diffvalue >0{
macro"E:孔自动基础库铣削刀具匹配.mac"
if($diffvalue<=4){
IMPORT TEMPLATE ENTITY TOOLPATH"E:孔自动策略模板 0-钻孔.ptf"FORM TOOLPATH
ACTIVATE Tool$t1
EDIT DRILL CYCLES OFF
EDIT DRILL TYPE CIRCULAR
EDIT DRILL TOP BLOCK
EDIT DRILL DEPTH USER
EDIT DRILL DEPTH $lun1
EDIT TOOLPATH;CALCULATE
DrillMain ACCEPT
……
}
……
}
}
}
以上节选宏指令,主要描述了孔特征选择和匹配刀具及策略的宏指令,通过设计宏指令,达到图2、图3的效果。
图2 孔特征宏指令效果
图3 刀具策略宏指令效果
PowerMill作为一款开放性很强的数控编程软件,在宏指令的调用和运行方面具备多种方式,本文介绍了4种PowerMill宏指令运行方式:
(1)通过拖动宏文件到软件界面直接运行宏程序。
(2)通过树窗下方的“宏”图标处,右键选择“运行”,选择想要的宏文件运行。
(3)自定义按钮,通过点击自定义按钮运行宏文件。
(4)通过构建右键快捷菜单,选择宏程序运行。
通过Powermill的二次开发,使用宏指令对孔加工编程的参数化、模板化定制,一部分提升编程工程师的工作效率,降低工作强度;另一部分提升编程工作标准化程度和程序质量。本文介绍了宏指令对孔加工的二次开发,涉及开发思路、宏的制作、使用等方面,希望能够对读者有所帮助。