Windchill API 培训_第1页
Windchill API 培训_第2页
Windchill API 培训_第3页
Windchill API 培训_第4页
Windchill API 培训_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Windchill API 培训张玉概述 只有掌握Windchill API,才能实施好方案. 本文介绍方案实施中最常使用的API WC API有框架,学习本文的基础,其它可举一反三. 养成“验证、总结”的好习惯目录1.高级查询2.基本查询3.用户、组、角色的查与改4.流程参数5.IBA操作6.设置生命周期状态7.设置动态权限8.部件与文档之间9.持续化操作10. Windchill设计模式1、高级查询 添加查询类型 添加查询条件 联合查询 添加生命周期条件 执行查询 过滤出最新小版本QuerySpec qs = new QuerySpec();/构造Int index = qs.append

2、ClassList(WTPart.class,true);/添加查询类型,获取类型索引,第2个参数表示“要查询的类型、表”WhereExpression where = new SearchCondition(WTPart.class, WTPart.xx, “=”, xx);/泛型在WC API中的使用/获取查询条件数目If(qs.getConditionCount()0 & qs.getWhere().endsWith(“)”)qs.appendAnd();/添加查询条件qs.appendWhere(where, new intindex);/* 以下是联合查询的API范例。LIN

3、K关系/ROLEA、ROLEB的INDEX被使用到。int linkIndex = qs.appendClassList(XXLink.class, false);qs.appendJoin(linkIndex, xxLink.RoleA, index_A);qs.appendJoin(linkIndex, xxLink.RoleB, index_B);/添加“生命周期”查询条件LifeCycleConfigSpec lcsp = new LifeCycleConfigSpec();lcsp.setLifeCycleState(State.toState(state);qs = lcsp.ap

4、pendSearchCriteria(qs);/执行查询QueryResult qr = PersistenceHelper.manager.find(qs);/过滤出最新小版本LatestConfigSpec lcs = new LatestConfigSpec();qr = cess(qr);习题1 1、查询部件输入:部件编码输出:各小版本对象的集合 2、接上题,添加条件:只得到最新小版本 3、查询部件的参考文档输入:部件对象输出:此部件的所有参考文档2、基本查询 建立数据库连接 准备SQL语句 执行查询 遍历查询结果 关闭数据库连接/建立数据库连接PDSIfc pds =

5、DataServicesRegistry.getDefault().getPdsFor(“Default”);Connection conn = null;if(pds!=null)conn = pds.getDataSource().getConnection();/准备SQL语句PreparedStatement query = conn. prepareStatement(SQL);/执行查询ResultSet rs = query.executeQuery();/关闭数据库连接。conn.close();习题2 1、查询部件的最新小版本输入:部件编码输出:部件的最新小版本3、用户、组、

6、角色的查与改 WC中承担者的类型结构 核心API:OrganizationServicesHelper 承担者的类型结构WTPrincipalWTGroupWTOrgnazitionWTUser 查用户OrganizationServicesHelper.manager.getAuthenticatedUser(String); 其它常用的方法。在OrganizationServicesHelper的设计中,提供了许多有关用户、群组、团队的“服务”。Windchill中大量使用“Helper-服务模式” 。有关“Windchill的3大模式”,请详见Windchill 客制化手册倒数第2章,本

7、文略。 其它常用方法:getGroup();getOrganization();isMember();members();rename();习题3 1、查找用户输入:表示名称的字符串输出:用户对象。若无此用户则返回null。 2、验证用户是否属于组输入:表示用户的字符串,表示组的字符串输出:若属于则返回true其它返回false 3、验证用户是否属于某角色输入:表示用户的字符串,表示角色的字符串输出:若属于则返回true其它返回false 4、将用户添加到组和角色输入:表示用户、组、角色的字符串输出:若发生异常则抛出异常4、流程参数 进程类型:WfProcess 活动类型:WfAssigned

8、Activity 进程上下文:ProcessData 进程变量:WfVariable/获取活动WfAssignedActivity activity = (WfAssignedActivity) workItem.getSource().getObject();/获取进程WfProcess process = activity.getParentProcess();/获取进程上下文ProcessData pPdata = wfProcess.getContext();/获取变量WfVariable xx = pData.getVariable(“xx”);习题4 1、创建一个问题报告,找到它的

9、进程输入:问题报告的编码输出:相关进程对象 2、接上题,查询当前活动节点输入:进程对象输出:进程目前所在活动节点的名称 3、接上题,查询进程上下文输入:进程对象输出:进程上下文5、IBA操作 IBA=Instance Based Attribute 有现成的IBAUtility供使用 注意两点: 1)为每个对象构造它自己的IBAUtility对象 2)set更新属性后,需要updateAttributeContainer(); IBA名称定义在:StringDefinition表中。习题5 1、使用现有的IBAUILITY,查询部件的IBA属性输入:部件对象,指定IBA属性的名称输出:IBA属

10、性值 2、接上题,设置此IBA属性为新值输入:部件对象,指定IBA属性的名称,新IBA属性值输出:若发生异常则返回异常6、设置生命周期状态 Helper-服务模式 核心API:LifeCycleHelper/设置生命周期状态LifeCycleHelper.service.setLifeCycleState();习题6 1、查询部件的生命周期模板输入:部件对象输出:生命周期模板对象 2、重新设置部件的生命周期状态输入:部件对象输出:若发生异常则抛出异常7、设置动态权限 Helper-服务模式 核心API:AccessHelper习题7 1、判断某用户是否能修改某对象输入:用户对象,部件对象输出:

11、能则返回true其它返回false。 2、为用户添加修改权限输入:用户对象,部件对象输出:若发生异常则抛出异常8、部件与文档之间 部件与文档之间的关系,Windchill API是WTPartReferenceLink 核心API:StructureHelper/查询StructureHelper.service.navigateReference./构造WTPartReferenceLink.new WTPartReferenceLink();习题8 1、查询部件的所有参考文档输入:部件对象输出:所有参考文档的集合 2、查询文档参考的部件输入:文档对象输出:与之有参考关系的部件的集合9、持续化操作 核心API:PersistenceHelper 没有持续化的对象不能使用此API。要操作不持续的对象,使用其它WC API。/删除PersistenceHelper.manager.detele./存储PersistenceHelper.manager.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论