陳曉生,馮亞坤,任明強
(珠海格力精密模具有限公司,廣東珠海 519070)
PowerMill是英國DELCAM公司開發(fā)的一款專業(yè)的數(shù)控加工編程軟件,相比UG、MasterCAM、Cimatron等數(shù)控加工軟件,其在操作上手、計算速度、加工精度等方面更具有優(yōu)勢。另外PowerMill同時為用戶提供了Visual Basic二次開發(fā)接口和開放式的內(nèi)部命令集合宏指令(Macro),通過這些二次開發(fā)端口,能夠讓用戶體驗到一鍵完成某種功能和需求,大大提升工作效率和工作質(zhì)量,也讓PowerMill在模具加工行業(yè)的使用越來越廣泛。本文主要介紹利用宏指令對孔加工的二次開發(fā),涉及開發(fā)思路、宏的制作、使用等方面。
首先確認(rèn)開發(fā)思路和實現(xiàn)的功能,以圖1所示模型為例,介紹對宏指令的孔加工二次開發(fā)。
圖1 加工模型
(1)開發(fā)思路。
通過設(shè)計各個功能模塊所需的宏指令,并利用“macro”命令串聯(lián)各功能模塊宏指令,實現(xiàn)一鍵完成。
(2)功能要求。①能夠區(qū)分正反面孔加工特征;②能夠識別孔特征類型、大小并進行分類;③能夠根據(jù)孔加工要求匹配相應(yīng)加工刀具及加工策略;④能夠?qū)τ械菇且蟮目走M行倒角加工。
(1)創(chuàng)建孔加工特征。
利用模型中選取工具-選取倒勾型面部件,進行垂直面選面;通過特征設(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
以上宏指令,主要實現(xiàn)了文件夾創(chuàng)建、激活,孔特征選擇,創(chuàng)建特征的功能,這部分宏指令可以通過樹窗下方的“宏”圖標(biāo)處,右鍵選擇“錄制”,進行宏錄制生成,生成的宏指令可能存在語句冗長,需要使用者對其進行優(yōu)化。
(2)對特征進行大小分類。
選擇產(chǎn)生的特征集合,右鍵點選“選取特征”,通過直徑的選取方式,進行特征選取,然后將特征進行復(fù)制,達到進行大小分類的目的。部分宏指令如下:
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
}
以上宏指令,主要實現(xiàn)了孔特征的直徑大小分類,這部分宏指令通過:①添加變量,構(gòu)建表達式;②運用集合、表達式控制宏的流向;③賦值,參數(shù)分配等的運用,構(gòu)成該功能模塊宏指令的編寫,比較考驗編寫者的邏輯能力。
(3)刀具、策略選擇模塊。
通過構(gòu)建孔加工刀具庫宏,運行匹配特征直徑大小選擇相應(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:孔自動基礎(chǔ)庫鉆孔刀具匹配.mac"
real diffvalue=$D-entity('tool','').DIAMETER
IMPORT TEMPLATE ENTITY TOOLPATH"E:孔自動策略模板 天峻县| 阿拉善左旗| 镇平县| 珠海市| 龙南县| 综艺| 扎囊县| 昆山市| 台江县| 苍南县| 武穴市| 海淀区| 灵宝市| 大化| 浦江县| 常德市| 江北区| 金昌市| 松原市| 宁海县| 灌云县| 塔河县| 西青区| 海林市| 龙井市| 伊春市| 牙克石市| 浮山县| 大荔县| 吉首市| 赞皇县| 和平县| 阿拉善盟| 措勤县| 汪清县| 石棉县| 石狮市| 乌兰察布市| 宜章县| 象州县| 桐柏县|