微信
加入VIP,跟着我一起学习PM吧。
倾情于售后,知无不言。
PM+UG 编程 变量宏 拆铜工 出火花 线割。。。
搬砖的生活是快乐的。
本文转自伙伴-----星月
FUNCTION Main() {
DIALOGS MESSAGE OFF
DIALOGS ERROR OFF
GRAPHICS LOCK
STRING ARRAY Opts[] = {"全部坐标系","激活坐标系","选择坐标系"}
INT C = INPUT CHOICE $Opts "选择选取模式:"
SWITCH $C {
CASE 0
FOREACH WP IN folder("Workplane") {
CALL ReNameWorkplane(WP)
}
break
CASE 1
STRING N=''
CALL GetActivateName(N)
IF N!="None" {
CALL ReNameWorkplane(entity('Workplane',$N))
}
break
CASE 2
ENTITY LIST $Selected = INPUT ENTITY MULTIPLE Workplane "选择坐标系:"
FOREACH WP IN Selected {
CALL ReNameWorkplane(WP)
}
break
}
DIALOGS MESSAGE On
DIALOGS ERROR On
GRAPHICS UNLOCK
}
FUNCTION ReNameWorkplane(ENTITY ent) {
REAL AngleY=ROUND(ent.YAngle,3)
REAL AngleZ=ROUND(ent.ZAngle,3)
STRING LIST str1=tokens(string(AngleY),'.')
STRING strY=select(str1[1]==0;str1[0];string(AngleY))
STRING LIST str2=tokens(string(AngleZ),'.')
STRING strZ=select(str2[1]==0;str2[0];string(AngleZ))
IF lcase(ent.name)!="post" {
STRING NewName="C"+strZ+"B"+strY
RENAME WORKPLANE $ent.name $NewName
}
}
FUNCTION GetActivateName(output string ActivateName) {
IF NOT entity_exists(WORKPLANE) {
$ActivateName="None"
} ELSE {
STRING EntityType="Workplane"
STRING LIST old=extract(folder(EntityType),'name') //获取原有元素名称
STRING Cmd="COPY "+EntityType+" ;"
DOCOMMAND $Cmd
STRING LIST new=extract(folder(EntityType),'name') //复制后的元素名称
STRING LIST p=subtract(new,old)
IF SIZE(P)==1 {
$ActivateName=substring(p[0],0,length(p[0])-2)
$Cmd="DELETE "+EntityType+" "+$p[0]
DOCOMMAND $Cmd
$Cmd="EDIT RECYCLER DELETE "+EntityType+" "+$p[0]
DOCOMMAND $Cmd
} ELSE {
$ActivateName="None"
}
}
}
//PRINT=ENTITY('workplane','C45B9').YAngle
国内首套PM宏变量教程
原创教程
什么是宏,PM基于宏一键自动化
本套教程夜以继日,呕心沥血制作
教程不定期更新,包售后,有专门的售后群
另本套教程为加密视频,支持手机安卓,苹果系统,WIN-XP-W10系统
https://pan.baidu.com/s/1ZGWhIDfZz_6wfMfVL8nLYA
赠送自己写的宏(50几个后期不定时更新)
赠送PM软件本身变量参数
下图为教程目录
领取 专属20元代金券
Get大咖技术交流圈