Windchill二次开发

Windchill二次开发
Windchill二次开发

Windchill 二次开发中常用的API方法

# 1.根据零件名称/编码得到该零件

# wt.clients.prodmgmt.WTPartHelper.findPartByName(name) ;

# wt.clients.prodmgmt.WTPartHelper.findPartByNumber(number);

# 2.根据WTpart得到WTparMaster

# WtPart wtpart;

# WTPartMaster wtmaster=(WTPartMster)part.getMaster();

# 3.获取codebase下配置文件wt.properties属性信息

# WTProperties wtproperties = WTProperties.getLocalProperties();

# String wthome = wtproperties.getProperty("wt.home", ""); //codebase的文件夹路径

# 4.获取part被借用的所有父部件

# QueryResult qr= wt.part.WTPartHelper.service.getUsedByWTParts(WTPartMster wtMaster);

# 注:此方法得到的结果为该part被使用情况的全部父部件,包括了Design视图及Manufacturing视图更包括# 了父部件使用part的所有修订版本,打印出来可以看到会有相同的部件编号,不同的修订版本.

# 5. 根据OID 获取Wtpart

# wt.fc.WTReference partRef = new wt.fc.ReferenceFactory().getReference( oid );

# WTPart wtpart=(WTPart)partRef;

# 6.得到零件最新版本

# WTPart wtpart= (WTPart) VersionControlHelper.getLatestIteration(part);

# 7.通过过滤得到零件最新版本

# QuerySpec querysearch = new QuerySpec(WTPartMaster.class);

# //查询所有的WTPartMaster

# QueryResult queryresult = PersistenceHelper.manager.find(querysearch);

# LatestConfigSpec latestconfigspec = new LatestConfigSpec();

# //根据WTPartMaster查询所有最新版本的零部件

# QueryResult allWTPart = ConfigHelper.service.filteredIterationsOf(queryresult,latestconfigspec)

# 8.查询某用户某段时间范围内创建的零件

# QuerySpec qs = new QuerySpec(WTPart.class);

# qs.appendSearchCondition(new SearchCondition(WTPart.class,WTPart.CREATE_TIMESTAMP, true,

# new AttributeRange(begintime, endtime)));//删选条件时间范围内

# qs.appendAnd();//一定要加上不然下一个条件不能删选

# qs.appendSearchCondition(new SearchCondition(WTPart.class,

# "iterationInfo.creator.key", SearchCondition.EQUAL,PersistenceHelper.getObjectIdentifier

# (name)));//删选条件用户

# QueryResult qr = PersistenceHelper.manager.find(qs);

# //今后持续更新

public static WTUser getUserFromName(String name) throws WTException {

Enumeration enumUser = OrganizationServicesHelper.manager.findUser(https://www.360docs.net/doc/b415297243.html,, name);

WTUser user = null;

if (enumUser.hasMoreElements())

user = (WTUser) enumUser.nextElement();

if (user == null) {

enumUser = OrganizationServicesHelper.manager.findUser(WTUser.FULL_NAME, name);

if (enumUser.hasMoreElements())

user = (WTUser) enumUser.nextElement();

}

if (user == null) {

throw new WTException("系统中不存在用户名为'" + name + "'的用户!");

}

return user;

}

}

10.windchill 中查询,高级查询,基本查询

QuerySpec qs = new QuerySpec();//构造

Int index = qs.appendClassList(WTPart.class,true);//添加查询类型,获取类型索引,第2个参数表示“要查询的类型、表”WhereExpression where = new SearchCondition(WTPart.class, WTPart.xx, “=”, xx);//泛型在WC API中的使用//获取查询条件数目

If(qs.getConditionCount()>0 && qs.getW here().endsWith(“")){

qs.appendAnd();

}

//添加查询条件

qs.appendWhere(where, new int[]{index});

//** 以下是联合查询的API范例。LINK关系//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.appendSearchCriteria(qs);

//执行查询

QueryResult qr = PersistenceHelper.manager.find(qs);

//过滤出最新小版本

LatestConfigSpec lcs = new LatestConfigSpec();

qr = lcs.process(qr);

Windchill常用业务对象、目录结构、类、包介绍

常用业务对象、目录结构、类、包介绍

文档控制 更改记录 目录 文档控制 (ii) 更改记录 (ii) 1. Windchill对象介绍 (i) 1.1 Windchill目录结构 (i) 1.2 Windchill常用业务对象、类 (i) 1.3 Windchill常用包 (iii) 1.4 如何在Windchlil系统中查找对象对应的类 (iv)

1.Windchill对象介绍(会持续更新此文档) 1.1Windchill目录结构 ●wtCustom放入修改系统的rblnfo文件 ●wtSateArea下的siteMod文件中放入修改后的系统文件,比如.jspf文件、html, xml;ptcCurrent文件放系 统当前版本的文件;ptcOrig放系统最原始的文件ant-f bin/swmaint.xml installSiteChanges ●bin:windchill工具目录,如windchill shell ●src目录放客制化的源文件,放国际化.rblnfo文件。 ●codebase是运行时目录,放编译后的.class文件、放WEB相关文件、放模板文件(.html) ●netmarkets:JSP文件 ●tasks目录放系统服务文件.xml文件, Info*Engine配置文件 ●valuts:文件仓目录 ●loadFiles目录,放置需要导入到系统的工作流、生命周期等 ●Logs:日志目录 ●loadXMLFiles目录,放置配置系统的信息的.xml文件8,DB目录,放置建立模型后生成的SQL语句 ●db:数据库映射文件及模型SQL脚本 1.2Windchill常用业务对象、类 业务对象常用类名描述 部件wt.part.WTPart 零部件对象 部件wt.part.WTPartMaster 部件master对象 部件wt.part.WTPartReferenceLink 部件参考关系 部件wt.part.WTPartDescribeLink 部件描述关系 部件wt.part.WTPartUsageLink 部件使用关系 部件wt.part.WTPartAlternateLink 实现wt.fc.ObjectToObjectLink,全局可替换 部件wt.part.WTPartSubstituteLink 实现wt.fc.ObjectToObjectLink,特定可替换 部件wt.part.LineNumber 行号 部件wt.part.Quantity 数量

Windchill主要应用模块简介

经过全球50000多家先进企业长期验证的内容和过程管理系统: 不管您是全球集团企业、区域供应商还是小型服务机构,您在设法管理产品内容和开发过程时都面对着各种问题。比如:产品数据安全、产品数据规范、产品数据的结构化管理、研发流程的规范化、研发流程的自动化、研发效率如何提升?研发成果如何重用?标准化、通用化如何更有效的贯彻执行等。贵公司的成功依赖于拥有高效的业务过程,并且有效地管理复杂的信息资产,这包括产品设计、工艺、服务、认证、法规符合等相关资料。 Windchill 是一个有着近10年历史的全球一流的生命周期管理系统,经过了全球50000多家先进企业实际应用和长期验证过的内容和过程管理软件,它提供了全面的产品生命周期解决方案。这个全面的企业业务协同系统具有快速、安全、稳定、成熟和只需一个 Web 浏览器就能访问的特点,它使公司能够更规范的管理产品研发过程,为企业提高研发效率、规范产品研发过程、加快产品上市、提高产品标准化、通用化、降低产品成本、增强企业竞争力等方面提供强大而完整的系统解决方案。 功能及益处 ?一体化的信息管理系统,单一的产品数据源提高了产品研发效率,并减少了错误和返工; ?完整的产品结构化信息管理和协作功能使得企业能够根据需要快速地从多个视角掌握产品的所有信息- 不管信息来自何处; ?可重复、端到端的研发流程支持及流程自动化提升了流程效率、加快了产品上市速度,并降低了产品成本; ?安全、稳定、符合业界标准的 Internet 体系结构带来了安全、高性能的、多层次研发协同的技术平台; Windchill主要应用模块简介: 1、产品数据管理(Windchill PDMLink): a) 在产品整个生命周期中,帮助企业管理和控制产品信息,确保数据的准确、安全、可靠、完整、规范、逻辑关系,管理产品开发过程; b) 优化与固化产品研发流程,使得流程能够通过系统来保证规范、一致、严谨; c) 强大的产品结构管理功能,支持产品配置管理; d) 可一完全根据业务特点定制的、工作流驱动式产品开发过程自动化,内置获得CMⅡ认证的变更管理流程; e) 发布管理功能简化了数据的审核和签发(支持数字化签名)。实现无纸化办公; f) 基于Web的轻量化模型,数据容量大大减少,网上传送速度快。能够实现浏览、标注、测量主流的2D和3D机械电子设计图档; g) 与主流MCAD及ECAD设计工具良好集成,check in到系统中时自动产生产品结构,大大提高了设计效率; h) 选配管理:使用具有交互、动态、协作等特点的可视化功能,其中包括图形化产品系列建模、

Windchill二次开发常用API

1.1.根据零件名称/编码得到该零件 2.; 3. 4.2.根据WTpart得到WTparMaster 5.WtPart wtpart; 6.WTPartMaster wtmaster=(WTPartMster)(); 7.3.获取codebase下配置文件属性信息 8.WTProperties wtproperties = (); 9.String wthome = ("", ""); 取part被借用的所有父部件 10.QueryResult qr= wtMaster); 11.注:此方法得到的结果为该part被使用情况的全部父部件,包括了Design视图及 Manufacturing视图更包括了父部件使用part的所有修订版本,打印出来可以看到会有相同的部件编号,不同的修订版本. 12.5.根据OID 获取Wtpart 13.partRef = new oid ); 14.WTPart wtpart=(WTPart)partRef; 15.6.得到零件最新版本 16.WTPart wtpart= (WTPart) (part); 17.7.通过过滤得到零件最新版本 18.QuerySpec querysearch = new QuerySpec; 19.询某用户某段时间范围内创建的零件 20.QuerySpec qs = new QuerySpec;

(where, new int[]{index}); //** 以下是联合查询的API范例。LINK关系//ROLEA、ROLEB的INDEX被使用到。int linkIndex = , false); (linkIndex, , index_A); (linkIndex, , index_B); //添加“生命周期”查询条件 LifeCycleConfigSpec lcsp = new LifeCycleConfigSpec(); (state)); qs = (qs); //执行查询 QueryResult qr = 过滤出最新小版本 LatestConfigSpec lcs = new LatestConfigSpec(); qr = (qr); /** * 根据WTPartMaster对象获得最新的WTPart * @param partmaster WTPartMaster对象 * @return 最新的WTPart * @throws WTException */ public static WTPart getLastPart(WTPartMaster partmaster) throws WTException{ WTPart part=null; if(partmaster==null){ return part;

windchill工作流

---------------------------------------------------------------最新资料推荐------------------------------------------------------ windchill工作流 Windchill 10.0 的工作流管理T3164-010-01-CN 1/ 132

课程目标在本课程中,您将学到以下内容:n n n n n n n n n n n n n n n n n说明控制和定义 Windchill 业务进程定义所用的业务对象。 确定用于管理工作流模板的工具。 显示、创建和修改工作流模板。 确定预编写工作流进程的工作内容启动、跟踪和管理工作流进程定义和配置已分配活动使用工作流模板中的连接器使用工作流模板中的链接将工作流节点归组到块进程中使用代理进程创建对其他工作流模板的参考从工作流进程发送通知在工作流进程中自动检入或检出对象使用工作流进程在整个生命周期移动 Windchill 对象在工作流进程中创建时间延迟从工作流进程启动外部应用程序在工作流进程中执行 Java 表达式将工作流进程与系统事件同步

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 课程目标n n n n n n n使用工作流进程中的 URL 与其他服务器通信配置基本生命周期和高级生命周期指定要在高级生命周期中使用的工作流配置升级请求修改要与升级请求一起使用的工作流使用路由选择重新分配项目或项目群中的生命周期创建要与项目路由选择一起使用的生命周期和工作流 3/ 132

Windchill系统基本概念

低调低调 Windchill 系统基本操作 杰为软件系统(深圳)有限公司JW Innovation Software (Shenzhen) Ltd.

文档控制 更改记录 日期作者版本更改参考 2009-04-14 1.0 该方案适用于Windchill 9.1 M010。

目录 文档控制 (ii) 更改记录 (ii) 目录 .......................................................................................................................................................... i ii 1.基本菜单介绍 (1) 1.1主页 (1) 1.2产品 (1) 1.3项目 (4) 1.4变更 (7) 2.对象简介 (10) 2.1产品 (10) 2.2成品(EndItem) (10) 2.3部件(part) (11) 2.4Bom (11) 2.5文档(Document) (12) 2.6CAD文档 (12) 3.基本操作菜单介绍 (13) 3.1操作 (13) 3.2导入文档与图纸 (15) 4.问题记录 (16)

1.基本菜单介绍 1.1主页 用户登录windchill后,显示的界面如下: ●主页:显示个人的专有信息,不同用户查看此页,“工作总揽”、“更新”、“已检出工作” 三个列表中显示的内容不同。 ●工作总揽:视图选择“开启的”,此列表中显示登录用户负责的所有工作项,包括工作流的任 务、项目活动、项目交付项、措施项。 ●更新:视图选择“最新”,此列表中显示由登录用户创建/修改过的文档、图纸、part、变更 对象等。 ●已检出工作:视图选择“全部”,此列表显示由登陆用户检出的对象,如:文档、图纸、part、 变更对象等。 1.2产品 1.2.1产品列表 ●选择“完整的产品列表”,显示登陆用户有权限访问的产品列表。如果不能找到您 知道其存在的产品,则您不是此产品团队的成员。 ●如果您具有必需的权限,则可以从此页面单击“新建产品”的图标进行新建产品。

Windchill应用功能介绍

电子化文档的管理: Windchill文档管理工具能让用户建立和管理复杂的产品信息, 这些出版物可能由多个文件组成、有多种修订版本、并且有不同 的格式。如UG、Pro/E、AutoCAD、MSOffice等应用工具生成的 图纸或模型文件,各种测试数据和报告,任务书或规格说明书, 工艺文件、使用或维护手册、零件明细等。而且,它们还可以包 括某些外来文件,并通过URL地址连接并从外部进行管理。文档 管理提供了许多随时可用的文档和出版物类型,若需要的话,还 可以方便地把它们扩展成代表企业业务信息的模型。为了方便用 户的操作,系统能够自动地将产品数据和应用程序进行关联。用 户可以直接在Windchill中激活应用程序,并对数据进行操作。 1.文档的分类与存储:对文档的存储管理可以按照一定的分类规 则来完成。在Windchill环境中,文档的分类可以有不同的分类 规则。可以以产品对象为参考来完成文档的分类的管理,如:产 品型号或系列为标准;可以按照文件的类型进行分类,如电子档 案或结构部件;按照文档的功能进行分类,如技术文档、设计文 档、工艺文档;当然,还可以按照项目、部门、产品、功能的组 合进行分类。在Windchill系统中,文件通常存储在逻辑的档案 柜、文件目录中,以保持对用户的透明性。在实施时,应该根据 实际需求,同时采用多种分类方法相结合的方法。文档的存储管 理需要完成的工作如下: 确定分类规则,定义新的、扩展的文档类。

文档的分类存放策略确定,划分文档存储地点。 结合文档评审、发布,实现文档信息的合理流动。 制定文档归档策略,实现文档的归档管理。 下图为Windchill中的文档管理界面 2、文档的版本追踪:文档随着产品设计的进行,而需要不断的变化和修改。数据管理系统要求能够及时纪录文档的变更历史,进行版本的追踪。同时,还必须提供文件的共享机制,以实现并行工程的需求。在Windchill系统中,通过以下几个方面来实现相关的需求。 一个数据仓库,它能通过控制权限,来保护信息不会被未授权用户修改 检入和检出功能,用于把文档提交给数据仓库以及从数据仓库中提取文档 版本控制和历史记录功能,用来跟踪数据更改、记录根据已有文档建立的新文档的来源,并能浏览历史数据 3、文档的快速检索:文档的快速检索和利用,将有利于减少辅助工作时间,提高用户的工作效率。同时又能改善用户对系统的接受程度。方便简洁的检索机制,是产品数据管理系统的基本要求。Windchill系统提供了多种检索机制,以满足客户的需求。基于文档属性的检索:用户可以根据文档的类型、所属部门、或

Windchill技术培训笔记

搭建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 --> Finish 2.Browse 选择codebase 3.添加自定义的library库 3.指定codebase 的映射: 3.指定codebase文件夹编译之后的.class 文件和工程下面的 java源文件的映射关系在Eclipse中选择:当前项目上(HelloWindchill) --> New --> Properties --> Java Build Path --> Browse -->

Windchill应用功能介绍

8.2 Windchill应用功能介绍 8.2.1 电子化文档的管理: Windchill文档管理工具能让用户建立和管理复杂的产品信息,这些出版物可能 由多个文件组成、有多种修订版本、并且有不同的格式。如UG、Pro/E、AutoCAD、 MSOffice等应用工具生成的图纸或模型文件,各种测试数据和报告,任务书或 规格说明书,工艺文件、使用或维护手册、零件明细等。而且,它们还可以包 括某些外来文件,并通过URL地址连接并从外部进行管理。文档管理提供了 许多随时可用的文档和出版物类型,若需要的话,还可以方便地把它们扩展成 代表企业业务信息的模型。为了方便用户的操作,系统能够自动地将产品数据 和应用程序进行关联。用户可以直接在Windchill中激活应用程序,并对数据 进行操作。 1.文档的分类与存储:对文档的存储管理可以按照一定的分类规则来完成。在 Windchill环境中,文档的分类可以有不同的分类规则。可以以产品对象为参考 来完成文档的分类的管理,如:产品型号或系列为标准;可以按照文件的类型 进行分类,如电子档案或结构部件;按照文档的功能进行分类,如技术文档、 设计文档、工艺文档;当然,还可以按照项目、部门、产品、功能的组合进行 分类。在Windchill系统中,文件通常存储在逻辑的档案柜、文件目录中,以保 持对用户的透明性。在实施时,应该根据实际需求,同时采用多种分类方法相 结合的方法。文档的存储管理需要完成的工作如下: 确定分类规则,定义新的、扩展的文档类。 文档的分类存放策略确定,划分文档存储地点。 结合文档评审、发布,实现文档信息的合理流动。 制定文档归档策略,实现文档的归档管理。 下图为Windchill中的文档管理界面

Windchill二次开发常用API说课讲解

W i n d c h i l l二次开发 常用A P I

1.1.根据零件名称/编码得到该零件 2.wt.clients.prodmgmt.WTPartHelper.findPartByName(name) ; 3.wt.clients.prodmgmt.WTPartHelper.findPartByNumber(number); 4.2.根据WTpart得到WTparMaster 5.WtPart wtpart; 6.WTPartMaster wtmaster=(WTPartMster)part.getMaster(); 7.3.获取codebase下配置文件wt.properties属性信息 8.WTProperties wtproperties = WTProperties.getLocalProperties(); 9.String wthome = wtproperties.getProperty("wt.home", ""); //codebase的文件夹路径 10.4.获取part被借用的所有父部件 11.QueryResult qr= wt.part.WTPartHelper.service.getUsedByWTParts(WTPartMster wtMaster); 12.注:此方法得到的结果为该part被使用情况的全部父部件,包括了Design视 图及Manufacturing视图更包括了父部件使用part的所有修订版本,打印出来可以看到会有相同的部件编号,不同的修订版本. 13.5.根据OID 获取Wtpart 14.wt.fc.WTReference partRef = new wt.fc.ReferenceFactory().getReference( oid ); 15.WTPart wtpart=(WTPart)partRef; 16.6.得到零件最新版本 17.WTPart wtpart= (WTPart) VersionControlHelper.getLatestIteration(part); 18.7.通过过滤得到零件最新版本 19.QuerySpec querysearch = new QuerySpec(WTPartMaster.class); 20.//查询所有的WTPartMaster 21.QueryResult queryresult = PersistenceHelper.manager.find(querysearch); https://www.360docs.net/doc/b415297243.html,testConfigSpec latestconfigspec = new LatestConfigSpec(); 23.//根据WTPartMaster查询所有最新版本的零部件 24.QueryResult allWTPart = ConfigHelper.service.filteredIterationsOf(queryresult,latestc onfigspec) 25.8.查询某用户某段时间范围内创建的零件 26.QuerySpec qs = new QuerySpec(WTPart.class); 27.qs.appendSearchCondition(new SearchCondition(WTPart.class,WTPart.CREATE_TIMESTAMP, true, new AttributeRange(begintime, endtime)));//删选条件时间范围内 28.qs.appendAnd();//一定要加上不然下一个条件不能删选

Windchill模块功能白皮书

Windchill 模块功能白皮书 2011年3月9日

目录 一、Windchill PDMLink (1) 二、Windchill ProjectLink (5) 三、Windchill PartsLink (6) 四、Windchill ProductView (7) 五、Windchill Workgroup Manager (8) 六、Windchill ECAD Workgroup Manager (10) 七、Windchill Workgroup Manager for Arbortext IsoDraw (10) 八、InterComm Expert Suite (11) 九、Windchill Supplier Management (12) 十、Windchill MPMLink (13) 十一、Windchill RequirementsLink (15) 十二、Windchill Business Reporting (16) 十三、Windchill Information Modeler (17) 十四、Windchill Info*Engine (18) 十五、Windchill Enterprise Systems Integration (ESI) (19) 十六、Windchill Integration for Rational ClearCase (20) 十七、Windchill Aerospace and Defense Module (21) 十八、Windchill PLM Connector (22) 十九、Windchill ProductPoint (23) 二十、Windchill PPMLink Portfolio (24) 二十一、Windchill SocialLink (26) 二十二、Arbortext Content Manager (27) 二十三、Windchill Archive (28) 二十四、FlexPLM – footwear & Apparel Solution (29)

windchill开发基础CreateTable

package com.ptc; import java.rmi.RemoteException; import java.util.Iterator; import java.util.Vector; import wt.fc.ObjectReference; import wt.fc.PersistenceHelper; import wt.fc.QueryResult; import wt.fc.ReferenceFactory; import wt.fc.collections.WTCollection; import wt.fc.collections.WTHashSet; import wt.maturity.MaturityHelper; import wt.maturity.PromotionNotice; import wt.method.RemoteAccess; import wt.part.WTPart; import wt.query.QuerySpec; import wt.query.SearchCondition; import wt.util.WTException; import wt.util.WTRuntimeException; import https://www.360docs.net/doc/b415297243.html,mon.QueryException; public class CreateTable implements RemoteAccess { public static void main(String[] args) throws WTRuntimeException,WTException, RemoteException{ wt.method.RemoteMethodServer server = wt.method.RemoteMethodServer.getDefault(); server.setUserName("wcadmin"); server.setPassword("wcadmin"); QueryResult part = CreateTable.getWTPart(); System.out.println("=="+part.size()); } public static WTPart getWTPart1() throws WTException { String folderPath = "/GOLF_CART/Design"; String partName = "GC000001"; QuerySpec qs; WTPart part = null; try { qs = new QuerySpec(WTPart.class); QueryResult qr = null;

WC9_action&actionModel windchill学习笔记

使用参数jcaDebug=1。方法:jsp页面中后面手动加上?jcaDebug=1;其它页面手动加上参数&jcaDebug=1 显示“创建文件夹”动作folder.create actionModel: folder_file_new Enable: 类com.ptc.windchill.enterprise.folder.validators.CreateFolderActionValidator 以站点管理员身份查看action报告:

附: 查看property Report: http:///Windchill/netmarkets/jsp/property/propertyReport.jsp 查看service Report: http:///Windchill/netmarkets/jsp/carambola/svc/report.jsp 在\codebase\config\action\custom_action.xml中重新定义folder.create /codebase/netmarkets/jsp/folder/sayHi.jsp的内容为:

Hello World

不需要重启服务器,只需要reload XML就OK了。 Reload XML的方法:在windchill 控制台上执行以下命令: java https://www.360docs.net/doc/b415297243.html,markets.util.misc.NmActionServiceHelper

刷新页面,点击“创建新文件夹“,将跳出如下页面 需求: actionModel: folder_list_toolbar 新增action: folder1.create 第一步:在/codebase/config/action/custom_actions.xml定义folder1.create 第二步: 查找actionModel中的action,并跟上步中定义的create.folder1在custom_actionModels中定义

windchill业务

Info*Engine 的数据管理 Info*Engine 的数据管理机制基于5 个基本的概念:JSP、Task、Webject、Group 和Virtual Database(VDB)。JSP 页和Task定义了Info*Engine 如何获取和显示信息。Webject 则能够被JSP 页和Task 组织起来,具体实现数据的收集、处理和显示。Group 是JSP 页和Task 生成的信息块。VDB 是Group 的存储区域。 Info*Engine 的JSP 页面包含Info*Engine 的自定义标记,主要封装了一些可重用的功能,用于简化JSP 页和Task 文件的实现。 Task 的基本语法与功能JSP 相同,但不包含如HTML 标记等显示组件,因此不提供数据显示功能。 Webject 将特定Info*Engine 功能封装成一条命令,JSP 页和Task 可以通过调用这些Webject 达到动态的组织、处理信息的目的。 能够返回的数据Webject 被调用时会创建一个Object Group。Object Group 存储于VDB,并确保具有唯一的命名。 对task的作用和具体说明在jiaocai\教材\ 07_Windchill 9.x Client Customization Exercise Book.pdf中,具体参考文档 //创建一个task <%@taglib uri="https://www.360docs.net/doc/b415297243.html,/infoengine/taglib/core" prefix="ie"%> //添加一个Get-Properties的webject对象 // 这个webject将返回一个wt.federation.ie.VMName对象 //作为properties指定一个GROUP_OUT //添加一个通过名字查询产品 //定义一个instance作为wt.federation.ie.VMName的”properties”组的字段 //添加webject查询wt.inf.container.WTContainer对象。查询data所给的对象 //对wt.inf.container.WTContainer中名为GOLF_CART进行筛选查询 //指定GROUP_OUT的值为container

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.WTPart

Windchill开发之创建对象

第一章Windchill开发之创建对象 2010-12-09 21:41:18| 分类:Windchill 应用空| 标签:无|字号大中小订阅 在windchill开发的过程中,整个操作围绕的都是增删改查,今天我们将介绍的是增加,此次以part的创建为例,对于删除,修改都一几乎一样的代码。 以下是源代码: import https://www.360docs.net/doc/b415297243.html,ng.reflect.InvocationTargetException; import java.rmi.RemoteException; import wt.fc.PersistenceHelper; import wt.fc.QueryResult; import wt.folder.Folder; import wt.folder.FolderEntry; import wt.folder.FolderHelper; import wt.inf.container.WTContainer; import wt.inf.container.WTContainerRef; import wt.inf.library.WTLibrary; import wt.method.RemoteMethodServer; import wt.part.WTPart; import wt.query.QueryException; import wt.query.QuerySpec; import wt.query.SearchCondition; import wt.type.TypeDefinitionReference; import wt.type.TypedUtility; import wt.util.WTException; import wt.util.WTPropertyVetoException; import wt.vc.views.ViewHelper; import wt.vc.views.ViewReference; public class Demo4 implements wt.method.RemoteAccess { // 在类型管理器中自定义的part类型 private static String lenovoPart_type = "wt.part.WTPart|cn.jwis.kenny.LenovoPart"; // 产品中文件夹的路径,注意默认在文件夹前夹上Default private static String PartPath = "Default/NewPart"; /** * 创建一个新的部件 * * @param args * @throws WTException * @throws WTPropertyVetoException * @throws InvocationTargetException * @throws RemoteException

KT00_09_Windchill开发之创建对象

Detail Design Document 详细设计文档-Windchill开发之创建对象

Document Properties File Name Status Windchill开发之创建对象提交签审 Change History Date Author Version Description Approvers Approver Approval Date Comments 涂文斌 金保涛 1.创建part 在windchill开发的过程中,整个操作围绕的都是增删改查,今天我们将介绍的是增加,此次以part的创建为例,对于删除,修改都是几乎一样的代码。以下是源代码:

import https://www.360docs.net/doc/b415297243.html,ng.reflect.InvocationTargetException; import java.rmi.RemoteException; import wt.fc.PersistenceHelper; import wt.fc.QueryResult; import wt.folder.Folder; import wt.folder.FolderEntry; import wt.folder.FolderHelper; import wt.inf.container.WTContainer; import wt.inf.container.WTContainerRef; import wt.inf.library.WTLibrary; import wt.method.RemoteMethodServer; import wt.part.WTPart; import wt.query.QueryException; import wt.query.QuerySpec; import wt.query.SearchCondition; import wt.type.TypeDefinitionReference; import wt.type.TypedUtility; import wt.util.WTException; import wt.util.WTPropertyVetoException; import wt.vc.views.ViewHelper; import wt.vc.views.ViewReference; public class Demo4 implements wt.method.RemoteAccess { // 在类型管理器中自定义的part类型 private static String lenovoPart_type = "wt.part.WTPart|cn.jwis.kenny.LenovoPart"; //注cn.jwis.kenny.LenovoPart改为自己定义的part类型 // 产品中文件夹的路径,注意默认在文件夹前夹上Default private static String PartPath = "Default/NewPart"; //注:在default默认文件夹下新建一个NewPart文件夹 /** * 创建一个新的部件 * * @param args * @throws WTException * @throws WTPropertyVetoException * @throws InvocationTargetException * @throws RemoteException */ public static void main(String[] args) throws WTPropertyVetoException, WTException, RemoteException, InvocationTargetException {

Windchill工程师面试

Windchill工程师面试 Windchill Foundation是Windchill的基本包,故大家如果对Windchill技术了解,就不用太担心对Foundation技术的掌握。两者的技术差异在于里面一些开发手段的差异。 1.有没有做过Foundation 没有,但看过Foundation的系统,Founation与Windchill本质上没有差异,技术上只是部分实现手段不一样。比如之前大部分用Template做页面,9.0目前用JSP或JCA来做。 2. 有没有做过Template Template技术是在8.0的PDMLink中广泛使用的界面开发技术,主要是通过在URL中输入action,然后系统在properties文件中去查找对应的html文件和html文件的处理类 然后把界面显示给用户,在这里面使用了Windchill自己开发的一些类似javascript技术的Windchill script技术。Windchill script技术可以在html页面上写一些函数,当处理类对html页面进行处理的时候就会在处理类中调用在html页面上写的那些windchill script函数。 或-按自己情况回答。Template技术按字面意思理解就是页面的模板。类似Jsp,里面基本的东西就是html,主要通过嵌入,每个template会在配置文件里指定由哪个类来处理。 这部分建立大家看一下wccustomization.pdf文档,里面有一些描述。知道有几个地方就好了。 3. 系统的权限有几个地方来控制 ●权限策略管理器配置 ●生命周期里指定的动态权限 ●工作流通过代码调用(动态权限) 4. 有没有拉过Windchill 模型 有测试过,但因为目前项目基本上都不拉模型,所以没有在项目里去做。拉模型主要是对Windchill的业务对象及关系了解就可以。 5. 描述一下如何建立一个自己的对象,比如HWPart,然后做创建这个对象的页面。 答:基本步骤大概如下: 1) 确定这个业务对象的基本属性与操作 2) 根据分析的结果建立模型,一般会考虑从WTObject扩展或是wt.fc.Persistable类型扩展 3) 复杂的对象一般会参考ECR对象来建立这个模型 4) 模型建立完后,接下来定义这种对象类型的创建Action。其中有URLAction,Template,Process几个部分。其中URLAction是指这个这个Action是指向哪个页面,Template是指这个页面是哪个模板来显示,Process是这个页面的处理是哪个类来处理。

相关文档
最新文档