基于PowerMill下利用宏实现孔自动编程

2022-04-20 09:18陈晓生冯亚坤任明强
模具制造 2022年3期
关键词:功能模块二次开发右键

陈晓生,冯亚坤,任明强

(珠海格力精密模具有限公司,广东珠海 519070)

1 引言

PowerMill是英国DELCAM公司开发的一款专业的数控加工编程软件,相比UG、MasterCAM、Cimatron等数控加工软件,其在操作上手、计算速度、加工精度等方面更具有优势。另外PowerMill同时为用户提供了Visual Basic二次开发接口和开放式的内部命令集合宏指令(Macro),通过这些二次开发端口,能够让用户体验到一键完成某种功能和需求,大大提升工作效率和工作质量,也让PowerMill在模具加工行业的使用越来越广泛。本文主要介绍利用宏指令对孔加工的二次开发,涉及开发思路、宏的制作、使用等方面。

2 开发思路和要求

首先确认开发思路和实现的功能,以图1所示模型为例,介绍对宏指令的孔加工二次开发。

图1 加工模型

(1)开发思路。

通过设计各个功能模块所需的宏指令,并利用“macro”命令串联各功能模块宏指令,实现一键完成。

(2)功能要求。①能够区分正反面孔加工特征;②能够识别孔特征类型、大小并进行分类;③能够根据孔加工要求匹配相应加工刀具及加工策略;④能够对有倒角要求的孔进行倒角加工。

3 主要功能模块宏指令设计

(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 刀具策略宏指令效果

4 宏的运行

PowerMill作为一款开放性很强的数控编程软件,在宏指令的调用和运行方面具备多种方式,本文介绍了4种PowerMill宏指令运行方式:

(1)通过拖动宏文件到软件界面直接运行宏程序。

(2)通过树窗下方的“宏”图标处,右键选择“运行”,选择想要的宏文件运行。

(3)自定义按钮,通过点击自定义按钮运行宏文件。

(4)通过构建右键快捷菜单,选择宏程序运行。

5 结束语

通过Powermill的二次开发,使用宏指令对孔加工编程的参数化、模板化定制,一部分提升编程工程师的工作效率,降低工作强度;另一部分提升编程工作标准化程度和程序质量。本文介绍了宏指令对孔加工的二次开发,涉及开发思路、宏的制作、使用等方面,希望能够对读者有所帮助。

猜你喜欢
功能模块二次开发右键
AutoCAD 与PDMS 二次开发在三维复杂形体设计建模上的应用
轻松整理Win10右键菜单
例谈对高中数学教材中习题的二次开发
自定义“开始”右键控制菜单
浅谈CAD软件二次开发的方法及工具
用右键菜单管理右键菜单
例谈课本习题的“二次开发”
商业模式是新媒体的核心
基于ASP.NET标准的采购管理系统研究
高校二手交易网络平台功能及技术框架分析与设计