Windchill技术培训笔记
- 格式:doc
- 大小:2.31 MB
- 文档页数:76
windchill业务笔记模块1,业务管理Windchill PDMlink提供:1.针对快速实施并基于PTC的windchill技术而设计的产品生命周期管理解决方案软件包。
2.一个基于WEB的协作平台,包含:协作设计配置管理生命周期和工作流管理更改管理设计外包变型设计与生成windchill体系结构windchill服务器层包含windchill服务器和web服务器Windchill客户端只要使用最新版本的浏览器和网络连接即可访问数据及执行基本任务Windchill数据库服务器用于存储windchill对象windchill可选服务器多个可选服务器使windchill具有附加功能。
索引服务器企业目录服务器可视化工作器电子邮件服务器Cognos报告服务器Windchill术语组织,表示企业并包含产品,存储库及其他数据。
产品,为产品定义提供组织上下文。
存储库,为相似但飞产品特定的数据存储提供组织上下文。
Windchill业务对象成品和部件用于表示产品结构以及执行工程配置管理。
CAD文档存储来自于windchill可识别并整合的具体应用程序中的模型和绘图信息。
文档是存储来自创作应用程序的内容文件的通用对象。
可视项是文档或部件的轻量级代表,可在productview中查看和标注。
更改想用于跟踪和控制对产品结构,模型,绘图和产品文档的正式工程更改。
策略,进程和参与者Windchill是管理员能够建立策略并且为各个参与者配置进程。
域策略由管理访问控制,建立索引和事件通知的管理规则构成。
生命周期由表示对象各成熟阶段的连续状态构成。
工作流提供业务流程的自动执行过程。
承担者代表业务实体角色用于确定系统内某个或多个任务的执行者。
团队将一组承担者映射到个角色。
业务管理员为了管理windchill环境并将业务规则应用到受windchill系统控制的数据。
公用windchill对象全部(所有对象的父项)wc.fc.WTObject部件和成品wt.part.WTPartCAD文档wt.epm.EPMDocument动态文档EPMDocument子类型问题报告wt.change2.WTChangeIssue更改请求wt.change2.WTChangeRequest2更改通告wt.change2.WTChangeOrder2更改通告任务wt.change2.WTChangeActivity2受管理的基线wt.vc.baseline.ManagedBaseline大多数windchill对象都必须位于上下文容器中。
Windchill高级查询感悟笔记Windchill高级查询感悟笔记首先从这个例子来开始我们的“高级查询”之旅{QuerySpec queryspec = new QuerySpec();queryspec.appendClassList(WTPart.class, true);queryspec.appendClassList(WTDocument.class, true);PersistenceManagerSvr pms = (PersistenceManagerSvr)InvocationHandlerFwd.getInterfaceObject(PersistenceMana gerSvr.class);QueryResult qr = pms.query(queryspec);}QuerySpec对象是用来指定查询表达式的,queryspec.appendClassList()是用来指定From子句的,如果有多个这样的表达式而没有其他条件,那么就是对相应的被查询对象“求笛卡儿积”;例如上面的例子就会形成下面的Form子句:From WTPART,WTDOCUMENT指定From子句有两种方式:queryspec.appendClassList(WTPart.class, false);//指定具体的对象qs.appendFrom(new ExternalTableExpression("GZMTRECR")); //指定具体的表在appendClassList()中有两个参数,第一个参数是用来指定被查询对象,第二个参数用来指定查询的返回形式:true以对象的形式返回,false以属性的方式返回;如果是用appendClassList()来指定查询对象,那么查询结果QueryResult qr对象qr.nextElement()得到的是Object数组,具体的结果保存在这个数组中;为Select子句中指定返回字段不管queryspec.appendClassList()方法的第二个参数是true还是false,结果都会返回整个对象或者所有的字段;要想过滤返回的字段,需要增加下面的代码{QuerySpec queryspec = new QuerySpec();int a = queryspec.appendClassList(WTPart.class, false);int b = queryspec.appendClassList(WTDocument.class, true);//--------------------------------------------------------------------ClassAttribute ca = new ClassAttribute(WTPart.class, "master>number"); //μú?t??2?êy±?D?ê±?àó|òμóμ?ê?D?queryspec.appendSelect(ca, false);//--------------------------------------------------------------------CompositeWhereExpression andExpression = new CompositeWhereExpression(LogicalOperator.AND);andExpression.append(new SearchCondition(ca, "=", new ConstantExpression("TEST_PRODUCT_ONE")), null);queryspec.appendWhere(andExpression);//--------------------------------------------------------------------} SELECT A1.NUMBER FROM WTPART A0, WTPARTMASTER A1 WHEREA0.IDA3MASTERREFERENCE = A1.IDA2A2;通过TableColumn指定查询条件{QuerySpec queryspec = new QuerySpec();int classIndex = queryspec.appendClassList(WTPart.class, false);ClassAttribute classAttr = new ClassAttribute(WTPart.class, "partType");queryspec.appendSelect(classAttr, new int[] { classIndex }, false);TableColumn tc = new TableColumn(null, "IDA2A2");queryspec.appendWhere(new SearchCondition(tc, "=", new ConstantExpression(new Long(4638))), new int[] { classIndex });PersistenceManagerSvr pms = (PersistenceManagerSvr) InvocationHandlerFwd.getInterfaceObject(PersistenceManagerS vr.class);QueryResult qr = pms.query(queryspec);} SELECT PARTTYPE FROM WTPART WHERE IDA2A2 = 4638;====================================== ========================================= ========================================== ===============Column Expression ClassAttribute SQLFunction ConstantExpression KeywordExpression TableColumn Table Expression ClassTableExpression ClassViewExpression SubSelectExpression ExternalTableExpressionWHERE Clause SearchCondition ExistsExpression CompositeWhereExpression NegatedExpression====================================== ========================================= ========================================== ===============多对象多条件查询{QuerySpec queryspec = new QuerySpec();int a = queryspec.appendClassList(WTPart.class, true);int b = queryspec.appendClassList(WTPartMaster.class, true);//TableExpression[] tables = new TableExpression[2];//tables[0] = queryspec.getFromClause().getTableExpressionAt(a);//tables[1] = queryspec.getFromClause().getTableExpressionAt(b);String[] aliases = new String[2];aliases[0] = queryspec.getFromClause().getAliasAt(a);aliases[1] = queryspec.getFromClause().getAliasAt(b);TableColumn tc1 = new TableColumn(aliases[0],"IDA2A2");TableColumn tc2 = new TableColumn(aliases[0],"IDA3MASTERREFERENCE");TableColumn tc3 = new TableColumn(aliases[1],"IDA2A2");CompositeWhereExpression andExpression = newCompositeWhereExpression(LogicalOperator.AND);andExpression.append(new SearchCondition(tc1, "=", new ConstantExpression(new Long(4638))));andExpression.append(new SearchCondition(tc2, "=", tc3));queryspec.appendWhere(andExpression, null);PersistenceManagerSvr pms = (PersistenceManagerSvr) InvocationHandlerFwd.getInterfaceObject(PersistenceManagerS vr.class);QueryResult qr = pms.query(queryspec);} SELECT A0.*, A1.* FROM WTPART A0, WTPARTMASTER A1 WHERE (A0.IDA2A2 = 4638)AND(A1.IDA2A2 = A0.IDA3MASTERREFERENCE);说明[one]:用SQL语句写查询语句时,可以为被查询的表、视图指定别名。
使用参数jcaDebug=1。
方法:jsp页面中后面手动加上?jcaDebug=1;其它页面手动加上参数&jcaDebug=1显示“创建文件夹”动作folder.createactionModel: folder_file_newEnable: 类com.ptc.windchill.enterprise.folder.validators.CreateFolderActionValidator以站点管理员身份查看action报告:附:查看property Report:http://<machine>/Windchill/netmarkets/jsp/property/propertyReport.jsp查看service Report:http://<machine>/Windchill/netmarkets/jsp/carambola/svc/report.jsp在<WT_HOME>\codebase\config\action\custom_action.xml中重新定义folder.create<WT_HOME>/codebase/netmarkets/jsp/folder/sayHi.jsp的内容为:<H1>Hello World</H1>不需要重启服务器,只需要reload XML就OK了。
Reload XML的方法:在windchill 控制台上执行以下命令:java markets.util.misc.NmActionServiceHelper刷新页面,点击“创建新文件夹“,将跳出如下页面需求:actionModel: folder_list_toolbar新增action: folder1.create第一步:在<wt_home>/codebase/config/action/custom_actions.xml定义folder1.create第二步: 查找actionModel中的action,并跟上步中定义的create.folder1在custom_actionModels中定义第三步:reload XMLjava markets.util.misc.NmActionServiceHelper 刷新页面:发现没有定义create.folder1的label 、icon 、Title 等信息,在页面上显示的是空白 老办法:在action.properties 及action_zh_CN.properties 中定义folder1.create 的信息第四步:定义folder1.create 的表示属性第五步:reload XML,不需要重启服务器java markets.util.misc.NmActionServiceHelper OK,刷新页面点击“发送数据单”将弹出一个hello word页面。
Windchill DTS(Defect Tracking System)/ CMVC(Configuration Management Version Control)系统培训1、进入Windchill系统正式系统 /Windchill/2、输入用户名及密码正式系统用户名:xxxx@密码:123456(初始)3、修改密码Home->Utility->Profile->Actions->Edit Password4、进入DFSProduct->Products-> Defect Tracking System5、归入收藏夹(建议)6、进入Windchill测试系统(培训用)测试系统 /Windchill/注:1)、配置系统的hosts(C:\WINDOWS\system32\drivers\etc)文件,增加一行:10.96.13.235 2)、IE中要去掉代理7、输入测试系统的用户名及密码(培训用)测试系统用户名:xxxx@密码:18、进入测试系统的DFSProduct->Products-> Defect Tracking System9、ECR(Engineering Change Request)流程介绍10、Release中Component与开发工程师ID的关系Release:项目/机型名称Component:故障部件分类对应表Board_Front_Panel Test Board_Front_Panel_Test chengla@ Board_HDD_BP Test Board_HDD_BP_Test duxin@ Board_Mainboard Test Board_Mainboard_Test chengla@ Board_Middle_Plane Test Board_Middle_Plane_Test duxin@ Board_RiserCard Test Board_RiserCard_Test duxin@ Manual_System Test Manual_System_Test longhp@ Manual_Mechanical Test Manual_Mechanical_Test chenllb@ Manual_BIOS Test Manual_BIOS_Test chengla@ Manual_OS_Install Test Manual_OS_Install_Test sunlp@ Mech_Cable Test Mech_Cable_Test xuwy@ Mech_Chasiss Test Mech_Chasiss_Test chenllb@ 注意:一定不能把bug提交到其他机型中去!!!11、在一个“Test”的release项目中,提交一个ECR。
搭建Windchill环境开发工具设置在Eclipse中选择:Window --> Preferences --> java --> Compiler --> Building去掉:□的选中注意:一定要取消选中,否则在清工作区时将删除windchill codebase下的文件5.此时会在Eclipse的工作空间里面生成一个HelloWindchill的文件,此文件很小只有几KB创建Java项目➢第一种创建方式:1.在Eclipse中选择:File --> New --> Java Project 创建一个Test 的Java项目2.在当前创建的java项目Test:在Eclipse中选择:当前项目上(Test)--> New --> Properties --> Java Build Path--> Add Class Folder --> Create New Folder单击ok 完成codebase 文件夹的创建和指定(由于Windchill的codebase文件夹很大,所以这一步骤需要等待片刻)成功之后,将会看到:➢第二种创建方式:1.在Eclipse中选择:File --> New --> Java Project 创建一个TestWindchill 的Java项目→Link additional source --> Browse --> Finish2.Browse →选择codebase3.添加自定义的library库3.指定codebase 的映射:3.指定codebase文件夹编译之后的.class 文件和工程下面的java源文件的映射关系在Eclipse中选择:当前项目上(HelloWindchill)--> New --> Properties --> Java Build Path --> Browse-->单击OK 之后,你可能会发现Java 项目Referenced Libraries里面有个codebase 文件夹了4.添加Windchill环境所需的jar包(推荐使用1)D:\ptc\Windchill_9.1\Windchill里面需要的被导入的jar文件按有:lib、srclib、installlib、WHC\WEB-INF\lib、ant\lib、codebase\WEB-INF\lib、codebase\lib 7个文件夹下的所有jar文件➢ 1.可用自定义一个类库,然后把Windchill 7个lib下面的jar都添加到该库中,以后就可以在开发中直接引用该类库(注意:最好不要覆盖相同名字的jar包,因为他们的jar 的文件大小不同,所以作用也不同,避免在开发中因jar的冲突和版本问题而引起些莫名奇妙的错误)在Eclipse中选择:当前项目上(HelloWindchill)--> New --> Properties --> Java Build Path --> Libraries 选项卡➢ 2.直接引用,7个lib下面的所有jar包第一个Hello World创建HelloWorld.java在Eclipse中选择:当前项目上(HelloWindchill)src --> New --> Package创建一个TestWindchill.java 的类package ;public class TestWindchill {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println(" Hello World....");}}启动Windchill 服务1.启动Oracle10g 监听服务:OracleOraDb10g_home1TNSListener2.启动Oracle10g 主数据库服务:OracleServiceWIND3.启动Apache 服务4.启动Tomcat 服务成功标志:5.启动control-panel.bat 服务D:\ptc\Windchill_9.1\WindchillDS\server\bat6.启动Windchill Shell 服务,输入windchill start目标:D:\ptc\Windchill_9.1\Windchill\bin\windchill.exe shell 起始位置:D:\ptc\Windchill_9.1\Windchill\bin7.观察Windchill 的两个窗口:ServerManager :MethodServer8.Windchill 启动成功的标志:在MethodServer窗口出现如下标志,表明Windchill 服务启动成功运行HelloWorld.java1.Eclipse控制台会打印:Hello World…2.此时会在Windchill系统的安装目录(D:\ptc\Windchill_9.1\Windchill\codebase)生成如下目录:angus --> com里面会生成TestWindchill.java源文件的编译后的文件:TestWindchill.class此时表明第一个Hello World 程序运行成功3.第一个JSP与Hello Word创建index.jsp在Windchill的安装目录(D:\ptc\Windchill_9.1\Windchill\codebase\netmarkets\jsp)下面新建一个文件夹angus,在里面新建一个index.jsp页面页面内容为:<%@ page language="java" import="java.util.*,.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"></head><body>ddd<% TestWindchill tst = new TestWindchill();%><br><%= tst.helloWindchill() %><%= tst %></body></html>创建TestWindchill.javaTestWindchill.java里面的内容package ;public class TestWindchill {/*** @param args*/public static void main(String[] args) { // TODO Auto-generated method stubSystem.out.println("第一个Windchill程序");}public String helloWindchill(){return"this is the Hello World Windchill...";}}编译后的TestWindchill.class文件会自动映射,放到D:\ptc\Windchill_9.1\Windchill\codebase\angus\com 目录下注意:该目录下的TestWindchill.class 的更新时间访问:在浏览器地址栏输入:http://localhost/Windchill/netmarkets/jsp/angus/index.jsp就可以在Windchill目录使用jsp页面调用Windchill目录java 类的方法。
注意:如果你在TestWindchill.java里面添加了一个方法,然后在index.jsp 中调用,注意一定要删除:D:\ptc\Windchill_9.1\Windchill\codebase\angus\com 目录下的TestWindchill.class文件然后在Windchill Shell 中输入重启Windchill 然后重启Tomcat ,再在浏览器地址栏输入:http://localhost/Windchill/netmarkets/jsp/angus/index.jsp访问jsp页面,不然就会报错Windchill菜单定制顶级菜单定制1.在安装的Windchill 系统的Windchill Shell 中运行命令:ant –f bin\swmaint.xml createSafeArea会在Windchill的安装D:\ptc\Windchill_9.1\Windchill\wtSafeArea 目录出现3个文件夹:ptcCurrent、ptcOrig、siteMod2.在文件夹siteMod下创建codebase → config → actions三个文件夹(内嵌结构)3.在 WC_Home安装目录的actions文件夹下面添加如下两个xml文件把custom-actionModels.xml、custom-actions.xml 两个xml文件添加到..\wtSafeArea\siteMod\codebase\config\actions 目录下文件一定要是UTF-8编码格式的4.在custom-actionModels.xml文件里面需要配置如下代码:Example: custom-actionsModel.xml (模型文件)<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE actionmodels SYSTEM "actionmodels.dtd"><actionmodels><!-- 顶级菜单 main navigation --><model name="main navigation"><description>Main navigation (tabs)</description><action name="home" type="navigation"/><action name="program" type="navigation"/><action name="product" type="navigation"/><action name="project" type="navigation"/><action name="change" type="navigation"/><action name="library" type="navigation"/><action name="org" type="navigation"/><action name="site" type="navigation"/><action name="supplier" type="navigation"/><action name="customization" type="navigation"/><action name="fiberhomereport" type="navigation"/></model></actionmodels>5.在custom-actions.xml文件里面需要配置如下代码:Example: custom-actions.xml (动作文件)<!-- 顶级菜单 main navigation --><?xml version="1.0" encoding="UTF-8"?><!DOCTYPE listofactions SYSTEM "actions.dtd"><listofactions><objecttype name="navigation" class=""><action name="fiberhomereport" renderType="GENERAL" resourceBundle="ext.res <command class="netmarkets" method="servlet/Navigation?tab=fiberhomerepor </action></objecttype></listofactions>6.Windchill英文资源文件里面的代码navigationRB.rbInfo(navigationRB_en_US.rbInfo)存放的位置:D:\ptc\Windchill_9.1\Windchill\src\ext\resource (resource目录是自己建的,名字可以取)Example: navigationRB.rbInfo (英文资源文件)ResourceInfo.class=wt.tools.resource.StringResourceInfoResourceInfo.customizable=trueResourceInfo.deprecated=false<!-- 顶级菜单 -->navigation.fiberhomereport.description.value=testreportnavigation.fiberhomereport.activetooltip.value=testreportnavigation.fiberhomereport.tooltip.value=testreport7.Windchill中文资源文件里面的代码navigationRB_zh_CN.rbInfo存放的位置:D:\ptc\Windchill_9.1\Windchill\src\ext\resource (resource目录是自己建的,名字可以取)Example: navigationRB_zh_CN.rbInfo (中文资源文件)<!-- 必须引入的 -->ResourceInfo.class=wt.tools.resource.StringResourceInfoResourceInfo.customizable=trueResourceInfo.deprecated=false<!-- 顶级菜单 -->navigation.fiberhomereport.tooltip.value=\u62a5\u8868navigation.fiberhomereport.description.value=\u62a5\u8868navigation.fiberhomereport.activetooltip.value=\u62a5\u88688.在Windchill Shell 下面运行:Resourcebuild ext.resource.navigationRB 或Resourcebuild ext.resource.navigationRB_zh_CNant -f bin\swmaint.xml installSiteChanges➢ 1.清除Tomcat下面的缓存:D:\ptc\Windchill_9.1\Tomcat\work➢ 2.清除资源文件编译后目录:D:\ptc\Windchill_9.1\Windchill\codebase\ext\resource➢ 3.清除IE缓存、历史记录、cookies:➢ 4.清除xml文件的编译目录:D:\ptc\Windchill_9.1\Windchill\codebase\config\actions➢ 5.查看Windchill的日子记录:D:\ptc\Windchill_9.1\Windchill\logsWindchill重新启动成功的标志(3min左右):INFO : wt.method.server.startup - MethodServer ready (in 42.063 secs).9.显示效果如图:二级菜单定制1.二级菜单的定制,跟上面顶级菜单的定制差不多,主要涉及的文件也是4个(2个xml、2个资源文件),为了测试二级菜单是否成功,我们需要在Windchill中访问Jsp页面change_record.jsp 、show_Archive_record.jsp 只是里面的代码有所不同,添加代码之后再Windchill Shell 里面运行的命令也是一样的注意:文件一定要是UTF-8编码格式的2.配置2级菜单在 ..\wtSafeArea\siteMod\codebase\config\actions 目录下custom-actionModels.xml文件里面添加的代码为:Example: custom-actionsModel.xml (模型文件)<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE actionmodels SYSTEM "actionmodels.dtd"><actionmodels><!--二级菜单定制 --><model name="fiberhomereport navigation" defaultActionType="fiberhomereport"defaultActionName="ChangeReports"><action name="ChangeReports" type="fiberhomereport"/><action name="ArchiveReports" type="fiberhomereport"/></model></actionmodels>3.配置2级菜单在 ..\wtSafeArea\siteMod\codebase\config\actions 目录下custom-actions.xml文件里面添加的代码为:Example: custom-actions.xml (动作文件)<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE listofactions SYSTEM "actions.dtd"><listofactions><!-- 二级菜单定制 --><objecttype name="fiberhomereport" resourceBundle="ext.resource.navigationRB <action name="ChangeReports"><command url="/netmarkets/jsp/angus/report/change_record.jsp?tab=fiberhomer</action><action name="ArchiveReports">4.配置2级菜单在D:\ptc\Windchill_9.1\Windchill\src\ext\resource目录下navigationRB.rbInfo(navigationRB_en_US.rbInfo)英文资源文件里面添加的代码为:Example: navigationRB.rbInfo (英文资源文件)<!-- 必须引入的(重复则无需引入) -->ResourceInfo.class=wt.tools.resource.StringResourceInfoResourceInfo.customizable=trueResourceInfo.deprecated=false<!-- 二级菜单定制 -->fiberhomereport.ChangeReports.description.value=Global Change statisticsfiberhomereport.ChangeReports.tooltip.value=Global Change statisticsfiberhomereport.ArchiveReports.description.value=Archive Drawing statisticsfiberhomereport.ArchiveReports.tooltip.value=Archive Drawing statistics5.配置2级菜单在D:\ptc\Windchill_9.1\Windchill\src\ext\resource目录下navigationRB_zh_CN.rbInfo中文资源文件里面添加的代码为:Example: navigationRB_zh_CN.rbInfo (中文资源文件)<!-- 必须引入的(如果已经引入则无需再引入) -->ResourceInfo.class=wt.tools.resource.StringResourceInfoResourceInfo.customizable=trueResourceInfo.deprecated=false<!--二级菜单定制 -->fiberhomereport.ChangeReports.description.value=\u5168\u5c40\u53d8\u66f4\u7edf\u8ba fiberhomereport.ChangeReports.tooltip.value=\u5168\u5c40\u53d8\u66f4\u7edf\u8ba1\u6 fiberhomereport.ArchiveReports.description.value=\u5f52\u6863\u5de5\u7a0b\u56fe\u7e fiberhomereport.ArchiveReports.tooltip.value=\u5f52\u6863\u5de5\u7a0b\u56fe\u7edf\u6.为了测试二级菜单是否新建成功,我们需要在Windchill安装系统.. codebase\netmarkets\jsp目录新建几个Jsp 文件,如下在D:\ptc\Windchill_9.1\Windchill\codebase\netmarkets\jsp\angus\report 目录下面新建:change_record.jsp 、show_Archive_record.jsp两个Jsp页面jsp页面的内容为:<%@ include file="/netmarkets/jsp/util/begin.jspf"%>Windchill test<%@ include file="/netmarkets/jsp/util/end.jspf"%>7.在Windchill Shell 下面运行:Resourcebuild ext.resource.navigationRB 或Resourcebuild ext.resource.navigationRB_zh_CNant -f bin\swmaint.xml installSiteChanges➢ 1.清除Tomcat下面的缓存:D:\ptc\Windchill_9.1\Tomcat\work➢ 2.清除资源文件编译后目录:D:\ptc\Windchill_9.1\Windchill\codebase\ext\resource➢ 3.清除IE缓存、历史记录、cookies:➢ 4.查看Windchill的日子记录:D:\ptc\Windchill_9.1\Windchill\logsWindchill重新启动成功的标志(3min左右):INFO : wt.method.server.startup - MethodServer ready (in 42.063 secs).8.显示效果如图:Action 下拉菜单1.Action下拉菜单的定制,跟上面二级菜单的定制差不多,主要涉及的文件也是4个(2个xml、2个资源文件),添加代码之后再Windchill Shell 里面运行的命令也是一样的注意:文件一定要是UTF-8编码格式的2.定制Action下拉菜单在 ..\wtSafeArea\siteMod\codebase\config\actions 目录下custom-actionModels.xml文件里面添加的代码为:Example: custom-actionsModel.xml (模型文件)<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE actionmodels SYSTEM "actionmodels.dtd"><actionmodels><!-- Action 下拉菜单的定制 --><model name="more parts actions" menufor="wt.part.WTPart"><action name="ExportBom" type="part"/><action name="ExportData" type="part"/></model></actionmodels>3.定制Action下拉菜单在..\wtSafeArea\siteMod\codebase\config\actions 目录下custom-actions.xml文件里面添加的代码为:Example: custom-actions.xml (动作文件)<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE listofactions SYSTEM "actions.dtd"><listofactions><!-- Action 下拉菜单的定制 --><objecttype name="part"><action name="ExportBom" renderType="GENERAL" ajax="page" resourceBundle="e <command windowType="popup" class="ng.Object"method="netmarkets/jsp/angus/report/show_Archive_record.jsp?action=Expor </action><action name="ExportData" renderType="GENERAL" ajax="page" resourceBundle="e <command windowType="popup" class="ng.Object"method="netmarkets/jsp/angus/report/show_Archive_record.jsp?action=Export </action></objecttype></listofactions>4.定制Action下拉菜单在D:\ptc\Windchill_9.1\Windchill\src\ext\resource目录下navigationRB.rbInfo(navigationRB_en_US.rbInfo)英文资源文件里面添加的代码为:Example: navigationRB.rbInfo (英文资源文件)<!-- 必须引入的(重复则无需引入) -->ResourceInfo.class=wt.tools.resource.StringResourceInfoResourceInfo.customizable=trueResourceInfo.deprecated=false<!-- 导出物料 -->part.ExportBom.description.value=ExportBompart.ExportBom.tooltip.value=ExportBom<!-- 导出数据 -->part.ExportData.description.value=ExportDatapart.ExportData.tooltip.value=ExportData5.定制Action下拉菜单在D:\ptc\Windchill_9.1\Windchill\src\ext\resource目录下navigationRB_zh_CN.rbInfo中文资源文件里面添加的代码为:Example: navigationRB_zh_CN.rbInfo (中文资源文件)<!-- 必须引入的(如果已经引入则无需再引入) -->ResourceInfo.class=wt.tools.resource.StringResourceInfoResourceInfo.customizable=trueResourceInfo.deprecated=false<!-- 导出物料 -->part.ExportBom.description.value=\u5bfc\u51fa\u7269\u6599part.ExportBom.tooltip.value=\u5bfc\u51fa\u7269\u6599<!-- 导出数据 -->part.ExportData.description.value=\u5bfc\u51fa\u6570\u636epart.ExportData.tooltip.value=\u5bfc\u51fa\u6570\u636e6.在Windchill Shell 下面运行:Resourcebuild ext.resource.navigationRB 或Resourcebuild ext.resource.navigationRB_zh_CNant -f bin\swmaint.xml installSiteChangeswindchill stop & windchill start➢ 1.清除Tomcat下面的缓存:D:\ptc\Windchill_9.1\Tomcat\work➢ 2.清除资源文件编译后目录:D:\ptc\Windchill_9.1\Windchill\codebase\ext\resource➢ 3.清除IE缓存、历史记录、cookies:➢ 4.查看Windchill的日子记录:D:\ptc\Windchill_9.1\Windchill\logsWindchill重新启动成功的标志(3min左右):INFO : wt.method.server.startup - MethodServer ready (in 42.063 secs).7.显示效果如图:文件夹工具栏菜单定制1.文件夹工具栏菜单定制,跟上面二级菜单的定制差不多,主要涉及的文件也是4个(2个xml、2个资源文件),添加代码之后再Windchill Shell 里面运行的命令也是一样的注意:文件一定要是UTF-8编码格式的2.配置文件夹工具栏菜单定制在 ..\wtSafeArea\siteMod\codebase\config\actions 目录下,custom-actionModels.xml文件里面添加的代码为:Example: custom-actionsModel.xml (模型文件)<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE actionmodels SYSTEM "actionmodels.dtd"><actionmodels><!--文件夹工具栏菜单定制--><model name="folder_list_toolbar"><action name="list_cut" type="object"/><action name="list_copy" type="object"/><action name="fbpaste" type="object"/><action name="pasteAsCopy" type="saveas"/><action name="list_delete" type="object"/><action name="CONTAINERMOVE" type="pdmObject"/><action name="PAGERELOADINGMULTICHECKOUT" type="folder"/><action name="WFADDTOWORKSPACE" type="folder"/><action name="separator" type="separator"/><action name="create" type="folder"/><action name="create" type="document"/><action name="createMulti" type="document"/><action name="createFromTemplateWizard" type="document"/><action name="createPartWizard" type="part"/><action name="createMultiPart" type="part"/><action name="create" type="requirement"resourceBundle="com.ptc.windchill.enterprise.requirement.requirementFol <action name="createSpecification" type="specification"resourceBundle="com.ptc.windchill.enterprise.requirement.specificationA <action name="importWordRequirements" type="requirement"resourceBundle="com.ptc.windchill.enterprise.requirement.requirementAct <action name="add_link" type="bookmark"/><action name="create" type="problemReport"/><action name="create" type="changeRequest"/><action name="create" type="changeNotice"/><action name="SBUpdatePrj" type="sandbox"/><action name="separator" type="separator"/><action name="createChangeDirective" type="changeDirective"/> <action name="list6" type="object"/></model></actionmodels>3.文件夹工具栏菜单定制..\wtSafeArea\siteMod\codebase\config\actions 目录下custom-actions.xml文件里面添加的代码为:Example: custom-actions.xml (动作文件)<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE listofactions SYSTEM "actions.dtd"><listofactions><!--文件夹工具栏菜单定制--><objecttype name="object" resourceBundle="ext.resource.navigationRB"> <action name="list6"><command url="/netmarkets/jsp/angus/report/change_record.jsp" window </action></objecttype></listofactions>4.文件夹工具栏菜单定制在D:\ptc\Windchill_9.1\Windchill\src\ext\resource目录下navigationRB.rbInfo(navigationRB_en_US.rbInfo)英文资源文件里面添加的代码为:Example: navigationRB.rbInfo (英文资源文件)<!-- 必须引入的(重复则无需引入) -->ResourceInfo.class=wt.tools.resource.StringResourceInfoResourceInfo.customizable=trueResourceInfo.deprecated=false<!--文件夹工具栏菜单定制-->object.list6.description=CreateWSobject.list6.icon=/netmarkets/images/demodata/Modem.jpgobject.list6.tooltip=ToolTip65.文件夹工具栏菜单定制在D:\ptc\Windchill_9.1\Windchill\src\ext\resource目录下navigationRB_zh_CN.rbInfo中文资源文件里面添加的代码为:Example: navigationRB_zh_CN.rbInfo (中文资源文件)<!-- 必须引入的(如果已经引入则无需再引入) -->ResourceInfo.class=wt.tools.resource.StringResourceInfoResourceInfo.customizable=trueResourceInfo.deprecated=false<!--文件夹工具栏菜单定制-->Resourceinfo.class=wt.tools.resource.StringResourceinfoResourceinfo.customizable=trueResourceinfo.deprecated=falseobject.list6.description=\u521b\u5efa\u5de5\u4f5c\u533aobject.list6.icon.value=/netmarkets/images/demodata/Modem.jpgobject.list6.tooltip=ToolTip66.在Windchill Shell 下面运行:Resourcebuild ext.resource.navigationRB 或Resourcebuild ext.resource.navigationRB_zh_CNant -f bin\swmaint.xml installSiteChangeswindchill stop & windchill start➢ 1.清除Tomcat下面的缓存:D:\ptc\Windchill_9.1\Tomcat\work➢ 2.清除资源文件编译后目录:D:\ptc\Windchill_9.1\Windchill\codebase\ext\resource➢ 3.清除IE缓存、历史记录、cookies:➢ 4.查看Windchill的日子记录:D:\ptc\Windchill_9.1\Windchill\logsWindchill重新启动成功的标志(3min左右):INFO : wt.method.server.startup - MethodServer ready (in 42.063 secs).7.显示效果如图:三级导航菜单1.三级导航菜单定制,跟上面二级菜单的定制差不多,主要涉及的文件也是4个(2个xml、2个资源文件)添加代码之后再Windchill Shell 里面运行的命令也是一样的注意:文件一定要是UTF-8编码格式的2.配置三级导航菜单定制在..\wtSafeArea\siteMod\codebase\config\actions 目录下custom-actionModels.xml文件里面添加的代码为:Example: custom-actionsModel.xml (模型文件)<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE actionmodels SYSTEM "actionmodels.dtd"><actionmodels><!--三级导航菜单定制--><model name="third_level_nav_promotionRequest" defaultActionName="promotionI defaultActionType="promotionRequest" ><description>Third level for promotion request with default action promotio<submodel name="general"/><submodel name="relatedItems"/><submodel name="history"/><submodel name="collaboration"/><submodel name="replaceout"/></model><model name="replaceout" resourceBundle="ext.resource.navigationRB"><description>ReplaceOut 3rd level nav menu</description><action name="BatchReplace" type="object"/><action name="MaterialsOut" type="object"/></model></actionmodels>3.三级导航菜单定制..\wtSafeArea\siteMod\codebase\config\actions 目录下custom-actions.xml文件里面添加的代码为:Example: custom-actions.xml (动作文件)<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE listofactions SYSTEM "actions.dtd"><listofactions><!--三级导航菜单定制--><objecttype name="object" class="wt.fc.Persistable"><action name="BatchReplace" resourceBundle="ext.resource.navigationRB"/ <action name="MaterialsOut" resourceBundle="ext.resource.navigationRB"/> </objecttype></listofactions>4.三级导航菜单定制在D:\ptc\Windchill_9.1\Windchill\src\ext\resource目录下navigationRB.rbInfo(navigationRB_en_US.rbInfo)英文资源文件里面添加的代码为:Example: navigationRB.rbInfo (英文资源文件)<!-- 必须引入的(重复则无需引入) -->ResourceInfo.class=wt.tools.resource.StringResourceInfoResourceInfo.customizable=trueResourceInfo.deprecated=false<!--三级导航菜单定制-->object.replaceout.description.value=ReplaceOutment=ReplaceOutobject.replaceout.tooltip.value=ReplaceOutobject.BatchReplace.description.value=BatchReplacement=BatchReplaceobject.BatchReplace.tooltip.value=BatchReplaceobject.MaterialsOut.description.value=MaterialsOutment=MaterialsOutobject.MaterialsOut.tooltip.value=MaterialsOut5.三级导航菜单定制在D:\ptc\Windchill_9.1\Windchill\src\ext\resource目录下navigationRB_zh_CN.rbInfo中文资源文件里面添加的代码为:Example: navigationRB_zh_CN.rbInfo (中文资源文件)<!-- 必须引入的(如果已经引入则无需再引入) -->ResourceInfo.class=wt.tools.resource.StringResourceInfoResourceInfo.customizable=trueResourceInfo.deprecated=false<!--三级导航菜单定制-->object.replaceout.description.value=替换淘汰ment=替换淘汰object.replaceout.tooltip.value=替换淘汰object.BatchReplace.description.value=批量淘汰ment=批量淘汰object.BatchReplace.tooltip.value=批量淘汰object.MaterialsOut.description.value=物料淘汰ment=物料淘汰object.MaterialsOut.tooltip.value=物料淘汰6.在Windchill Shell 下面运行:Resourcebuild ext.resource.navigationRB 或Resourcebuild ext.resource.navigationRB_zh_CNant -f bin\swmaint.xml installSiteChangeswindchill stop & windchill start➢ 1.清除Tomcat下面的缓存:D:\ptc\Windchill_9.1\Tomcat\work➢ 2.清除资源文件编译后目录:D:\ptc\Windchill_9.1\Windchill\codebase\ext\resource➢ 3.清除IE缓存、历史记录、cookies:➢ 4.清除xml文件的编译目录:D:\ptc\Windchill_9.1\Windchill\codebase\config\actions➢ 5.查看Windchill的日子记录:D:\ptc\Windchill_9.1\Windchill\logsWindchill重新启动成功的标志(3min左右):INFO : wt.method.server.startup - MethodServer ready (in 42.063 secs).7.显示效果如图:产品→文件夹→选择一个部件或者是文档→在操作里面选择升级,升级流程执行完成之后,回到:单击主页→工作总揽,在列表里面找到你刚才升级的部件或文档,单击链接然后你会看到:客制工作流的角色1.客制工作流的角色,主要涉及的文件也是2个(英文、中文资源文件),添加代码之后再Windchill Shell 里面运行编译资源文件的命令和打包的命令注意:客制工作流的角色的时候,因为修改了Java应用程序中的枚举类型,所以应该使用以下命令打一次包...编译资源文件的时候先编译中文的,文件一定要是UTF-8编码格式的打包成功的标志:2.在% wt_home %Src/wt/project/ (目录)找文件,如:D:\ptc\Windchill_9.1\Windchill\src\wt\project找到如下3个文件:RoleRB.rbInfoRoleRB_zh_TW.rbInfRoleRB_zh_CN.rbInfo复制到:D:\ptc\Windchill_9.1\Windchill\wtCustom\wt\project中,沒有路径则建立➢编辑D:\ptc\Windchill_9.1\Windchill\wtCustom\wt\project目录下RoleRB.rbInfo英文资源文件里面添加的代码为:Example: RoleRB.rbInfo (英文资源文件)Linenum:496行添加如下代码:DEPARTMENTLEVEL1.shortDescription=Workflow Approver RoleDEPARTMENTLEVEL1.order=990➢编辑D:\ptc\Windchill_9.1\Windchill\wtCustom\wt\project目录下RoleRB_zh_CN.rbInfo中文资源文件里面添加的代码为:Example: RoleRB_zh_CN.rbInfo (中文资源文件)Linenum:494行添加如下代码:# custom roleDEPARTMENTLEVEL1.value=PM项目负责人DEPARTMENTLEVEL1.shortDescription=工作流程核准者角色DEPARTMENTLEVEL1.order=9903.进入Windchill Shell 运行一下命令:执行中文资源文件:ResourceBuild wt.project.RoleRB_zh_CN执行英文编译文件:ResourceBuild wt.project.RoleRB执行打包命令:ant -f D:\ptc\Windchill_9.1\Windchill\codebase\MakeJar.xml简写打包命令:ant -f codebase\MakeJar.xml停止 Windchill: windchill stop启动 Windchill: windchill start删除 D:\ptc\Windchill_9.1\Tomcat\work 缓存登陆Windchill系统验证客制工作流角色是否成功工作流角色资源文件编译后的目录:D:\ptc\Windchill_9.1\Windchill\codebase\wt\project自己建的工作流角色资源文件存放目录:D:\ptc\Windchill_9.1\Windchill\wtCustom\wt\project如果工作流角色资源文件编译成功你会看到:4.显示效果如图:站点→实用程序→工作流管理器→在列表随便选择一个,然后编辑,双击人图标,然后选择参与者选项卡→角色→找到自己客制化的角色5.如果遇到角色乱码,请参考下面的解决步骤:角色客制化乱码的问题解决了,方法步骤是:1.保证系统中:D:\ptc\Windchill_9.1\Windchill\src\wt\project的角色资源文件的编码没有问题,如果不行,去备份的codebase目录拷贝2.保证自己新建客制化目录的资源文件的编码格式没有问题D:\ptc\Windchill_9.1\Windchill\wtCustom\wt\project3.保证工作流角色资源文件编译后的目录是最新的文件:D:\ptc\Windchill_9.1\Windchill\codebase\wt\project4.编译、打包、重启Windchill、重启Tomcat、删除Tomcat缓存客制生命周期的状态1.客制生命周期的状态,主要涉及的文件也是2个(英文、中文资源文件),添加代码之后再Windchill Shell 里面运行编译资源文件的命令和打包的命令注意:客制生命周期状态的时候,因为修改了Java应用程序中的枚举类型,所以应该使用以下命令打一次包...编译资源文件的时候先编译中文的,文件一定要是UTF-8编码格式的打包成功的标志:2.在Windchill的安装% wt_home %Src/wt/project/ (目录)找文件,如:D:\ptc\Windchill_9.1\Windchill\src\wt\lifecycle找到如下3个文件:StateRB.rbInfoStateRB_zh_CN.rbInfoStateRB_zh_TW.rbInfo复制到:D:\ptc\Windchill_9.1\Windchill\wtCustom\wt\lifecycle中,沒有路径则建立➢编辑D:\ptc\Windchill_9.1\Windchill\wtCustom\wt\lifecycle目录下StateRB.rbInfo英文资源文件里面添加的代码为:Example: StateRB.rbInfo (英文资源文件)Linenum:496行添加如下代码:# custom stateQC Manager.value=品管科主管审核中QC Manager.shortDescription=品管科主管审核中状态➢编辑D:\ptc\Windchill_9.1\Windchill\wtCustom\wt\project目录下StateRB_zh_CN.rbInfo中文资源文件里面添加的代码为:Example: StateRB_zh_CN.rbInfo (中文资源文件)Linenum:194行添加如下代码:# custom stateQC Manager.value=品管科主管审核中QC Manager.shortDescription=品管科主管审核中状态3.进入Windchill Shell 运行一下命令:执行中文资源文件:ResourceBuild wt.lifecycle.StateRB_zh_CN执行英文编译文件:ResourceBuild wt.lifecycle.StateRB执行打包命令:ant -f D:\ptc\Windchill_9.1\Windchill\codebase\MakeJar.xmlant -f codebase\MakeJar.xml停止 Windchill: windchill stop启动 Windchill: windchill start删除 D:\ptc\Windchill_9.1\Tomcat\work 缓存登陆Windchill系统验证客制生命周期状态是否成功生命周期状态资源文件编译后的目录:D:\ptc\Windchill_9.1\Windchill\codebase\wt\lifecycle自己建的生命周期状态资源文件存放目录:D:\ptc\Windchill_9.1\Windchill\wtCustom\wt\lifecycle如果生命周期状态资源文件编译成功你会看到:4.显示效果如图:站点→实用程序→生命周期管理器→在列表随便选择一个,然后编辑,双击任一一个状态,然后选择状态下拉条→找到自己客制化的生命周期状态5.如果遇到生命周期状态乱码,请参考下面的解决步骤:角色客制化乱码的问题解决了,方法步骤是:1.保证系统中:D:\ptc\Windchill_9.1\Windchill\src\wt\lifecycle的角色资源文件的编码(UTF-8- 系统\ANSI- -自定义)没有问题,如果不行,去备份的codebase目录拷贝2.保证自己新建客制化目录的资源文件的编码格式没有问题D:\ptc\Windchill_9.1\Windchill\wtCustom\wt\lifecycle3.保证工作流角色资源文件编译后的目录是最新的文件:。