2024年4月8日发(作者:)
powermill宏表达式大全
1、刀路余量列表查看宏
STRING LIST StrList = fill(28,"=")
STRING Str1=replace(join(StrList,"-"),"-","")
STRING Str2=replace(join(fill(32," "),"-"),"-","")
STRING str="刀路余量列表查看:"+CRLF+$Str1+CRLF+" 刀路"+$Str2+"余量
"+CRLF+join(fill(26,"-"),"-")+CRLF
BOOL Flag=1
FOREACH Toolpath IN FOLDER('Toolpath') {
INT i=0
while i
IF essSetValues[i].Thickness!=0
AND essSetValues[i].AxialThickness!=0 {
$Flag=0
CONTINUE
}
$i=i+1
}
STRING Str1=string(ess)+"/"+string(hickness)
$str=str+$+replace(join(fill(28-length($)," "),"-
"),"-","")+Str1+CRLF+join(fill(26,"-"),"-")+CRLF
}
IF FLAG {
VIEW MODEL ; SHADE RAINBOW
} ELSE {
VIEW MODEL ; SHADE VTHICKNESS
}
MACRO PAUSE $str
2、选面产生孔特征宏
CREATE FEATURESET ; FORM FEATURE FEATURECREATE
EDIT FEATURECREATE TYPE HOLE EDIT FEATURECREATE CIRCULAR ON
EDIT FEATURECREATE FILTER CURVES EDIT FEATURECREATE
ABSOLUTE EDIT FEATURECREATE BOTTOMDEFINE ABSOLUTE
EDIT FEATURECREATE TOPDEFINE MAXINPUT
EDIT FEATURECREATE BOTTOMDEFINE MININPUT
EDIT FEATURESET ; INSERT POINTS
FEATURE CANCEL
3、单刀路碰撞检查宏
DIALOGS MESSAGE ON
FORM COLLISION
EDIT COLLISION TYPE COLLISION
EDIT COLLISION SCOPE ALL
TOPDEFINE
EDIT COLLISION SPLIT_TOOLPATH Y
EDIT COLLISION SPLIT_TOOLPATH N
EDIT COLLISION SHANK_CLEARANCE "0.5"
EDIT COLLISION HOLDER_CLEARANCE "0.5"
EDIT COLLISION DEPTH N
EDIT COLLISION DEPTH Y
EDIT COLLISION ADJUST_TOOL Y
EDIT COLLISION APPLY
COLLISION ACCEPT
4、单刀路过切检查宏
FORM COLLISION
EDIT COLLISION TYPE GOUGE
EDIT COLLISION APPLY
COLLISION ACCEPT
5、NC批量改名-序号+刀具名+RF宏
//命名方式:序号+刀具名+RF
INT i=1
FOREACH NC IN FOLDER('NCProgram') {
STRING NCName=
STRING ToolName=""
STRING Type="R"
REAL m=0
FOREACH Toolpath IN components(entity('NCProgram', NCName)) {
$ToolName=
IF entity('Toolpath',).Strategy=='drill' {
$m=entity('Toolpath',).ess
} else {
$m=entity('Toolpath',).Thickness
}
Break
}
IF m
$Type='F'
}
STRING Cmd='RENAME NCProgram
'+$Type
DOCOMMAND $Cmd
$i=i+1
}
6、批量命名刀路-序号+刀具名宏
'+$NCName+' '+i+'-'+$ToolName+'-
DIALOGS MESSAGE OFF
DIALOGS ERROR OFF
INT i=1
FOREACH toolpath IN folder('TOOLPATH') {
STRING thname=
STRING LIST StrList=tokens(toolname,"_")
STRING NewName=select(i
RENAME TOOLPATH $thname $NewName
$i=i+1
}
DIALOGS MESSAGE OFF
DIALOGS ERROR OFF
7、Z轴移动边界宏
string prompt="输入边界沿着Z轴移动的距离:"
REAL i=0
bool err=0
do {
$i=input $prompt
$err=ERROR i
if err {
$prompt="请输入一个数值:"
} else {
MODE NOGUI GEOMETRY_TRANSFORM START BOUNDARY ;
MODE NOGUI TRANSFORM TYPE TRANSLATE
MODE NOGUI TRANSFORM ORIGIN ACTIVE_WORKPLANE
MODE NOGUI COORDINPUT COORDTYPE RELATIVE//相对移动
MODE NOGUI COORDINPUT COORDINATES 0 0 $i
MODE NOGUI GEOMETRY_TRANSFORM FINISH ACCEPT
}
} while err
8、Z轴移动参考线宏
string prompt="输入边界沿着Z轴移动的距离:"
REAL i=0
bool err=0
do {
$i=input $prompt
$err=ERROR i
if err {
$prompt="请输入一个数值:"
} else {
MODE NOGUI GEOMETRY_TRANSFORM START PATTERN ;
MODE NOGUI TRANSFORM TYPE TRANSLATE
MODE NOGUI TRANSFORM ORIGIN ACTIVE_WORKPLANE
MODE NOGUI COORDINPUT COORDTYPE RELATIVE//相对移动
MODE NOGUI COORDINPUT COORDINATES 0 0 $i
MODE NOGUI GEOMETRY_TRANSFORM FINISH ACCEPT
}
} while err
9、锁定Z-扩展XY方向宏
string prompt="输入毛坯扩展的数值:"
REAL i=0
bool err=0
do {
$i=input $prompt
$err=ERROR i
if err {
$prompt="请输入一个数值:"
} else {
FORM BLOCK
EDIT BLOCKTYPE BOX
EDIT BLOCK LIMITTYPE MODEL
EDIT BLOCK ALL UNLOCK
EDIT BLOCK ZLEN LOCK
EDIT BLOCK ZMAX LOCK
EDIT BLOCK ZMIN LOCK
EDIT BLOCK RESETLIMIT $i
EDIT BLOCK RESET
BLOCK ACCEPT
DRAW BLOCK
break
}
} while err
10、批量安全高度(不激活刀路)宏
DIALOGS MESSAGE OFF
DIALOGS ERROR OFF
STRING a= "输入安全高度"
int q= ""
$q= input $a
FOREACH c IN folder('TOOLPATH') {
EDIT PAR "entity('toolpath',$).ce" $q
}
DIALOGS MESSAGE ON
DIALOGS ERROR ON
发布者:admin,转转请注明出处:http://www.yc00.com/news/1712526091a2075184.html
评论列表(0条)