Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理
Polyworks的工作任务存储分为工作区和项目两级,通过WORKSPACE命令获取工作任务信息,实现更好的任务管理。
下面尝试一下使用这个命令获取工作区和项目信息。
首先,WORKSPACE命令必须在Workspace Manager窗口下使用,在Inspector模块下是没有这个命令的。
WORKSPACE信息读取
以下所有的输入参数工作区文件名作为缺省参数省略时,则默认为当前活动工作区。
- 获取工作区数量
#获取工作区数量,返回2
DECLARE vSpaNum
WORKSPACE COUNT GET ( vSpaNum )
- 获取每个工作区的文件名和名称
注意,由序号可以获得工作区文件名 WORKSPACE PROPERTIES FILENAME GET
而由文件名可以获取工作区名 WORKSPACE PROPERTIES NAME GET
#获取每个工作区的文件名和名称
DECLARE i 1
WHILE $i<=$vSpaNum
DECLARE vSpaFileName
DECLARE vSpaName
WORKSPACE PROPERTIES FILENAME GET ( $i,vSpaFileName)
WORKSPACE PROPERTIES NAME GET ( $vSpaFileName,vSpaName)
DECLARE vStrSpa "${i}:工作区名为${vSpaName}文件名为${vSpaFileName}"
MACRO ECHO ( $vStrSpa )
++i
ENDWHILE
- 获取每个工作区的注解以及设置工作区注解
#工作区1设置注解"这是工作区1的注解请看"
DECLARE vNote1 "这是工作区1的注解请看"
WORKSPACE PROPERTIES NOTES ( $vSpa1FileName,$vNote1)
#工作区1注解读取到vNote1Read
DECLARE vNote1Read
WORKSPACE PROPERTIES NOTES GET ( $vSpa1FileName,vNote1Read)
- 获取每个工作区的文件大写(字节)
#获取工作区文件大小(字节)
DECLARE vSpaSize
WORKSPACE PROPERTIES SIZE_ON_DISK GET ( $vSpa1FileName,vSpaSize )
- 获取用户数据路径
#获取用户数据路径
DECLARE vUserDataPath
WORKSPACE PROPERTIES USER_DATA_PATH GET (,vUserDataPath)
- 激活指定的工作区
#激活指定的工作区
WORKSPACE SET_AS_ACTIVE ( $vSpa1FileName )
利用FILE管理工作区
- 关闭当前工作区或指定工作区/打开指定工作区
#关闭当前工作区或指定工作区
FILE CLOSE_WORKSPACE ( )
FILE CLOSE_WORKSPACE ( $vSpa1FileName )
#打开指定工作区
FILE OPEN_WORKSPACE ( "C:\Users\Administrator\Documents\PolyWorks\工作区 1.pwk" )
- 重命名工作区/新建工作区/另存为新工作区/删除工作区
#重命名工作区/新建工作区/另存为新工作区/删除工作区
SET vSpa1FileName "C:\Users\Administrator\Documents\PolyWorks\工作区 1.pwk"
#打开指定工作区
FILE OPEN_WORKSPACE ($vSpa1FileName )
FILE NEW_WORKSPACE ( )
FILE SAVE_WORKSPACE_AS ( ,"新F项目工作区" )
#工作区改名时,不能为激活状态,必须激活另一个工作区
DECLARE vNewSpaName "C:\Users\Administrator\Documents\PolyWorks\P项目工作区.pwk"
#重命名工作区/新建工作区/另存为新工作区/删除工作区
FILE RENAME_WORKSPACE ($vSpa1FileName ,$vNewSpaName)
FILE DELETE_WORKSPACE ( "C:\Users\Administrator\Documents\PolyWorks\X项目工作区.pwk")
获取当前工作区的项目信息
利用TREEVIEW 的POLYWORKS_INSPECTOR_PROJECT 可获取当前工作区下的Inspector项目信息,
其它项目类似。
- 获取当前工作区下的Inspector项目数量及名称
#获取当前工作区下的Inspector项目数量,6
DECLARE vNumPjInCurSpa
TREEVIEW POLYWORKS_INSPECTOR_PROJECT COUNT GET( vNumPjInCurSpa)
#获取当前工作区的所有项目名称
DECLARE i 1
WHILE $i<=$vNumPjInCurSpa
DECLARE vSpaProjectName
TREEVIEW POLYWORKS_INSPECTOR_PROJECT NAME GET ( $i,vSpaProjectName)
DECLARE vStrPj "${i}:项目名${vSpaProjectName}"
MACRO ECHO ( $vStrPj )
++i
ENDWHILE