Windchill常用开发大全

合集下载

windchill开发流程

windchill开发流程

windchill开发流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!1. 需求分析。

与业务部门沟通,了解他们的需求和期望。

确定系统的功能和特性。

Windchill常用命令和客制化

Windchill常用命令和客制化

Windchill 常用命令和客制化windchill wt.load.util.CSV2XML -input -output -root d:\moduleswindchill markets.CSV2XML -input -output -rootwindchill wt.load.util.CSV2XML -root e:\windchill wt.load.LoadFromFile -u[user name] -p[password] -d d:\modules\users.xml -CONT_PATH /Container=Software/wt.pdmlink.PDMLinkProduct= windchill wt.load.LoadFromFile -u[user name] -p[password] -d d:\modules\users.xml -CONT_PATH /Container=Software/wt.inf.library.WTLibrary=windchill wt.load.LoadFromFile -u wcadmin -p wcadmin -d e:\LoadDoc.xml -CONT_PATH /Container=ptc/wt.pdmlink.PDMLinkProduct=路由器_P1windchill wt.load.LoadFromFile -u wcadmin -p wcadmin -d E:\WMDocumentReview.xml -CONT_PATH /Container=ptcwindchill com.ptc.windchill.partslink.AdminApp -reloadenumCustomizeant -f MakeJar.xmlResourceBuild wt.project.RoleRB trueenumVerify <fully_qualified_EnumClassname>[<language>][<country>][<variant>]例如:enumVerify wt.lifecycle.State fr CAjava wt.util.resource.ResourceBundleUtil wt.part.partModelRBxconfmanager -p用命令导入ldif:windchill engine.util.LDAPImport -dir E:\PTC\Windchill_8.0 -ldiffileE:\PTC\IE_JDBCAdapter\jdbc.ldif将Windchill的核心class文件打包为jar文件命令:makejar.bat 或者 Windchill wt.tools.boot.MakeJar jar=wt.jarconfig=wt.jar.config 或者 Windchill wt.tools.boot.MakeJar jar=wt.jar处理多字节:在wt.properties最后添加wt.db.maxBytesPerChar=3wt.db.encoding=UTF8或者<Property name="wt.db.maxBytesPerChar" overridable="true"targetFile="codebase/wt.properties" value="3"/>JavaGen.sh registry false false true false falseJavaGen registry false false true false false产生CAD代理工作服务: i486_nt\obj\WorkDaemon.exe -InstallD:\Eclipse\eclipse.exe -vm D:\j2sdk1.4.2_06\jre\bin\javaw -vmargs -Xms256M -Xmx512M Attribute Type Logical ID Belong To Catalog------------------------------------------------------------------------------------------------------Extended Type String RootLocalID String persistInfo.objectIdentifier RoothelperName String SearchableNumber String number PartOracle 命令导出命令(全量导出):exp system/system@wind file=f:\wind.dmp full=y statistics=noneexp system/system@wind file=f:\wind.dmp owner=(PDM1,PDM2) statistics=none exp pdm8/pdm8@wind tables=(table1,table2)(增量导出):exp system/system@wind file=f:\wind.dmp inctype=incremental导入命令:imp system/system@wind file=f:\wind.dmp full=y ignore=yimp system/system@wind file=f:\wind(PDMLink).dmp fromuser=PDMLinktouser=PDMLink ignore=yimp system/system@wind file=f:\wind(PDMLink).dmp fromuser=PDM1 touser=PDM2 rows=y indexes=y显示当前连接用户:show user查看数据库的表空间:select * from dba_tablespaces;显示常用的系统文件的视图:v$database,v$datafile,v$logfile,v$controlfile,v$parameter快速清空一个大表:truncate table table_name;查询数据库实例:select * from v$instance;将查询的结果导入到文本文件中:SQL>spool c:\abcd.txt;SQL>select * from table;SQL>spool off;修改字段大小:alter table table_name modify (field_name varchar2(100));修改表名:alter table old_table_name rename to new_table_name;找数据库表的主键字段的名称:select * from user_constraints where constraint_type='P' and table_name='TABLE_NAME';如果导出时出现942的错误,那是进行升级后没有执行:SQL>conn / as sysdba;SQL>%Oracle_home%\rdbms\admin\catexp.sql;删除用户下的所有对象:set linesize 50set pagesize 500spool drop_object.sqlselect 'drop '||object_type||' '||object_name||';' from user_objects;spool off@drop_object.sql;Oracle监听器启动:lsnrctl startOracle监听器停止:lsnrctl stopOracle实例启动:使用sysdba身份登录,输入:startupOracle实例停止:使用sysdba身份登录,输入:shutdown创建远程连接:create database link pdmlink_wind connect to pdm_migration identified by migchangeme using 'fan-10'(pdmlink_wind连接名称、pdm_migration用户名、migchangeme密码、fan-10连接字符串)使用链接:select * from wtpart@pdmlink_windselect a.CLASSNAMEA2A2,a.IDA2A2,b.CLASSNAMEA2A2,b.IDA2A2 where wtpart a,pdmlink_wind.wtpart b where a.IDA2A2=b.IDA2A2;改变使用者口令:alter user pdm identified by pdm;停止OEM:oemctl stop oms sysman/passwd比较表结构:SELECT COUNT(*) FROM(SELECT CNAME||COLTYPE||WIDTH FROM COL@PDJ WHERE TNAME='WTPART'MINUSSELECT CNAME||COLTYPE||WIDTH FROM COL WHERE TNAME='WTPART');我们在建立一个基于原来某个表的结构的时候,就用这个:CREATE TABLE T_NAME AS SELECT * FROM V_TABLE WHERE 1=2执行Oracle数据库碎片整理工具:在生产环境、测试环境中,请定期执行下面的sql,将其中的“pdm7”替换成为实际的数据库用户名,注意在执行该语句的时候一定要将Windchill先停止:execute dbms_stats.gather_schema_stats(ownname => 'pdm7', cascade=>true);该sql的用途是用来整理数据库的碎片程序,从而可以显著提高数据库的存取性能,在各个环境中建议每隔1-2个月执行一次,该语句可以在我们的WCPerfTuningGuide.pdf文档中找到修改游标的最大打开数:在两个文件中可以修改游标的打开数:"SPfile+例程名.ora" 和 "Init+例程名.ora";其中"SPfile+例程名.ora"的优先于"Init+例程名.ora"。

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

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 数量1.3Windchill常用包1.4如何在Windchlil系统中查找对象对应的类方法一:导航到站点-->"类型和属性管理器",选择部件,这个部件就对应了系统中OOTB对象,wt.part是包名,WTPart是类名称方法二:对象的详细页面,浏览器地址中key(OID)的值包含类名+ida2a2,例如:oid=OR%3Awt.part.WTPart%3A222040.。

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

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 数量1.3Windchill常用包1.4如何在Windchlil系统中查找对象对应的类方法一:导航到站点-->"类型和属性管理器",选择部件,这个部件就对应了系统中OOTB对象,wt.part是包名,WTPart是类名称方法二:对象的详细页面,浏览器地址中key(OID)的值包含类名+ida2a2,例如:oid=OR%3Awt.part.WTPart%3A222040.。

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

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

W i n d c h i l l二次开发常用A P I1.1.根据零件名称/编码得到该零件2.wt.clients.prodmgmt.WTPartHelper.findPartByName(name) ;3.wt.clients.prodmgmt.WTPartHelper.findPartByNumber(number);4.2.根据WTpart得到WTparMaster5.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(WTPartMsterwtMaster);12.注:此方法得到的结果为该part被使用情况的全部父部件,包括了Design视图及Manufacturing视图更包括了父部件使用part的所有修订版本,打印出来可以看到会有相同的部件编号,不同的修订版本.13.5.根据OID 获取Wtpart14.wt.fc.WTReference partRef = newwt.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.//查询所有的WTPartMaster21.QueryResult queryresult =PersistenceHelper.manager.find(querysearch);testConfigSpec latestconfigspec = newLatestConfigSpec();23.//根据WTPartMaster查询所有最新版本的零部件24.QueryResult allWTPart =ConfigHelper.service.filteredIterationsOf(queryresult,latestc onfigspec)25.8.查询某用户某段时间范围内创建的零件26.QuerySpec qs = new QuerySpec(WTPart.class);27.qs.appendSearchCondition(newSearchCondition(WTPart.class,WTPart.CREATE_TIMESTAMP, true,new AttributeRange(begintime, endtime)));//删选条件时间范围内28.qs.appendAnd();//一定要加上不然下一个条件不能删选29.qs.appendSearchCondition(new SearchCondition(WTPart.class,30."iterationInfo.creator.key",SearchCondition.EQUAL,PersistenceHelper.getObjectIdentifier(n ame)));//删选条件用户31.QueryResult qr = PersistenceHelper.manager.find(qs);32.//今后持续更新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.getWhere().endsWith(“")){qs.appendAnd();}//添加查询条件qs.appendWhere(where, new int[]{index});//** 以下是联合查询的API范例。

Windchill常用开发大全

Windchill常用开发大全
选择菜单Units.Control docs,保存为docs.cat
模型扩展(续)
生成系统文件,选中docs包
模型扩展(续)
生成系统文件.mData和EleadDocs.java文件
在src目录下自动生成包路径和文件 docs.mData和 EleadDocs.java
模型扩展(续)
系统会自动生成SQL【WT_HOME】 \db\sql3\ext\elead\docs
– 不预留属性
对象建模,不预留属性。对于已有对象的预留属性,因属性名称业务 含义,也不允许使用。历史模型已预留的属性不做要求。 例如:不再使用以前建模留下的reserv1、reserv2等预留属性
设计规范
– 关联关系
两个对象关联时,需要使用模型的关联关系。尽量不要采用建模为两 个独立对象,在一个对象的属性中记录另一个对象的某个标志属性的 方式。 例如: 错误的建模方法:CBBCounter类有一个属性cbbNumber,记录CBB 的编码。 正确的建模方法:引入一个Link对象,记录CBBCounter类和 WTPartMaster类的关系。
模型扩展(续)
测试代码
public void test(){ try{ Person p = Person.newPerson(); p.setName("111"); p.setTitle("222"); p.setAge(1111); p = (Person) PersistenceHelper.manager.save(p); WTPart part = getPartByNumber("D3_0000000064"); if(part==null){ Debug.P("part is null"); return; } PersonLink link = PersonLink.newPersonLink(part, p); link = (PersonLink) PersistenceHelper.manager.save(link); if(link==null){ Debug.P("link is null"); return; } WTPart part1 = link.getUse(); Person p1 = link.getUsed(); if(part1==null){ Debug.P("part1 is null"); }else{ Debug.P("part1 is "+part1.getNumber()); } if(p1==null){ Debug.P("p1 is null"); }else{ Debug.P("p1 is "+p1.getName()); } }catch(Exception e){ e.printStackTrace(); } }

Windchill应用功能介绍

Windchill应用功能介绍

电子化文档的管理:Windchill文档管理工具能让用户建立和管理复杂的产品信息,这些出版物可能由多个文件组成、有多种修订版本、并且有不同的格式。

如UG、Pro/E、AutoCAD、MSOffice等应用工具生成的图纸或模型文件,各种测试数据和报告,任务书或规格说明书,工艺文件、使用或维护手册、零件明细等。

而且,它们还可以包括某些外来文件,并通过URL地址连接并从外部进行管理。

文档管理提供了许多随时可用的文档和出版物类型,若需要的话,还可以方便地把它们扩展成代表企业业务信息的模型。

为了方便用户的操作,系统能够自动地将产品数据和应用程序进行关联。

用户可以直接在Windchill中激活应用程序,并对数据进行操作。

1.文档的分类与存储:对文档的存储管理可以按照一定的分类规则来完成。

在Windchill环境中,文档的分类可以有不同的分类规则。

可以以产品对象为参考来完成文档的分类的管理,如:产品型号或系列为标准;可以按照文件的类型进行分类,如电子档案或结构部件;按照文档的功能进行分类,如技术文档、设计文档、工艺文档;当然,还可以按照项目、部门、产品、功能的组合进行分类。

在Windchill系统中,文件通常存储在逻辑的档案柜、文件目录中,以保持对用户的透明性。

在实施时,应该根据实际需求,同时采用多种分类方法相结合的方法。

文档的存储管理需要完成的工作如下:确定分类规则,定义新的、扩展的文档类。

文档的分类存放策略确定,划分文档存储地点。

结合文档评审、发布,实现文档信息的合理流动。

制定文档归档策略,实现文档的归档管理。

下图为Windchill中的文档管理界面2、文档的版本追踪:文档随着产品设计的进行,而需要不断的变化和修改。

数据管理系统要求能够及时纪录文档的变更历史,进行版本的追踪。

同时,还必须提供文件的共享机制,以实现并行工程的需求。

在Windchill系统中,通过以下几个方面来实现相关的需求。

一个数据仓库,它能通过控制权限,来保护信息不会被未授权用户修改检入和检出功能,用于把文档提交给数据仓库以及从数据仓库中提取文档版本控制和历史记录功能,用来跟踪数据更改、记录根据已有文档建立的新文档的来源,并能浏览历史数据3、文档的快速检索:文档的快速检索和利用,将有利于减少辅助工作时间,提高用户的工作效率。

windchill开发基础ConfigTable

windchill开发基础ConfigTable

package com.ptc;import java.util.ArrayList;import java.util.List;import java.util.Locale;import java.util.Vector;import wt.part.WTPart;import wt.util.WTException;import ponents.descriptor.DescriptorConstants.ColumnIdentifiers;import com.ptc.core.htmlcomp.createtableview.Attribute.TextAttribute;import com.ptc.core.htmlcomp.tableview.AbstractConfigurableTable;import com.ptc.core.htmlcomp.tableview.TableColumnDefinition;import com.ptc.core.htmlcomp.tableview.TableViewDescriptor;public class ConfigTable extends AbstractConfigurableTable {public List getSpecialTableColumnsAttrDefinition(Locale locale) {List result = new ArrayList();result.add(new TextAttribute(/* id */"myView",/* label */"MyView",locale));result.add(new TextAttribute(/* id */"testView",/* label */"TestView",locale));return result;}public List getOOTBTableViews(String tableId, Locale locale)throws WTException {List result = new ArrayList();Vector columns = new Vector();columns.add(TableColumnDefinition.newTableColumnDefinition(/* name */,/* lockable */false));//columns.add(TableColumnDefinition.newTableColumnDefinition(/*name*/ColumnIdentifiers.NU MBER,/*lockable*/false));//columns.add(TableColumnDefinition.newTableColumnDefinition(/*name*/ColumnIdentifiers.CRE ATED,/*lockable*/false));//columns.add(TableColumnDefinition.newTableColumnDefinition(/*name*/ColumnIdentifiers.VER SION,/*lockable*/false));TableViewDescriptor tvd = TableViewDescriptor.newTableViewDescriptor(/* name */"Sapmple View", tableId,/* system */true,/* global */true, columns, /* constraints */null,/* match */true,/* descriptption */"Sample View");result.add(tvd);return result;}public String getOOTBActiveViewName() {return null;}public String getLabel(Locale locael) {return "Custmom config table ";}public Class[] getClassTypes() {return new Class[] { WTPart.class };}public String getDefaultSortColumn() {return ;}}。

Windchill常用开发大全.ppt

Windchill常用开发大全.ppt

Rose模型介绍
打开Rose模型,点击FileOpen
选择src\wt\WTdesigner.mdl
Rose模型使用
点击【是】,系统会加载
其中Logical View是系统核心 逻辑显示,其中3rd是Windchilll 中使用了哪些Java技术模块、ext 是系统客制化扩展模型目录、wnc是Windchill核心业务逻辑组成
– 不预留属性
对象建模,不预留属性。对于已有对象的预留属性,因属性名称业务 含义,也不允许使用。历史模型已预留的属性不做要求。 例如:不再使用以前建模留下的reserv1、reserv2等预留属性
设计规范
– 关联关系
两个对象关联时,需要使用模型的关联关系。尽量不要采用建模为两 个独立对象,在一个对象的属性中记录另一个对象的某个标志属性的 方式。 例如: 错误的建模方法:CBBCounter类有一个属性cbbNumber,记录CBB 的编码。 正确的建模方法:引入一个Link对象,记录CBBCounter类和 WTPartMaster类的关系。
设计规范
– 字段扩展
对于对象的属性,一般情况下采用默认长度。建模时要求考虑属性长 度是否符合要求,如果需要加大长度,在模型中设置相应的值即可。
– 选择父类
对于建模,尽量继承底层的Windchill类,例如:Managed\Item等,继 承上层的具有实际业务含义的Windchill类(例如:WTPart、 WTDocument)时,在业务上符合“是一个(As -is)”的含义,例如: EleadPart是一个WTPart
安装完成之后,load注册文件 rational_perm.dat.txt
进入到{WT_HOME}\roseAddIn,将 VirtualPathMap.AddIn.reg和Windchill.AddIn.reg文件中 的路径修订为个人本机环境的路径并注册

windchill开发基础ConfigTable

windchill开发基础ConfigTable

package com.ptc;import java.util.ArrayList;import java.util.List;import java.util.Locale;import java.util.Vector;import wt.part.WTPart;import wt.util.WTException;import ponents.descriptor.DescriptorConstants.ColumnIdentifiers;import com.ptc.core.htmlcomp.createtableview.Attribute.TextAttribute;import com.ptc.core.htmlcomp.tableview.AbstractConfigurableTable;import com.ptc.core.htmlcomp.tableview.TableColumnDefinition;import com.ptc.core.htmlcomp.tableview.TableViewDescriptor;public class ConfigTable extends AbstractConfigurableTable {public List getSpecialTableColumnsAttrDefinition(Locale locale) {List result = new ArrayList();result.add(new TextAttribute(/* id */"myView",/* label */"MyView",locale));result.add(new TextAttribute(/* id */"testView",/* label */"TestView",locale));return result;}public List getOOTBTableViews(String tableId, Locale locale)throws WTException {List result = new ArrayList();Vector columns = new Vector();columns.add(TableColumnDefinition.newTableColumnDefinition(/* name */,/* lockable */false));//columns.add(TableColumnDefinition.newTableColumnDefinition(/*name*/ColumnIdentifiers.NU MBER,/*lockable*/false));//columns.add(TableColumnDefinition.newTableColumnDefinition(/*name*/ColumnIdentifiers.CRE ATED,/*lockable*/false));//columns.add(TableColumnDefinition.newTableColumnDefinition(/*name*/ColumnIdentifiers.VER SION,/*lockable*/false));TableViewDescriptor tvd = TableViewDescriptor.newTableViewDescriptor(/* name */"Sapmple View", tableId,/* system */true,/* global */true, columns, /* constraints */null,/* match */true,/* descriptption */"Sample View");result.add(tvd);return result;}public String getOOTBActiveViewName() {return null;}public String getLabel(Locale locael) {return "Custmom config table ";}public Class[] getClassTypes() {return new Class[] { WTPart.class };}public String getDefaultSortColumn() {return ;}}。

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(, 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范例。

Windchill开发经验点滴

Windchill开发经验点滴

将更改codebase目录下的四个.properties文件;
© 2001 PTC
6
Rational Rose使用
Units

Control
Uncontrol
Reload Save

Unload
双击新对象对应的类,在弹出的Class Specification窗口中选 择Windchill选项卡,在StandardIcon和OpenIcon项中输入图 标的路径及名称; wt/clients/images/project.gif;
</applet>
© 2001 PTC
12
Applet调用Java应用程序
String oid; oid = getParameter("oid");
PartReportDefine app = new PartReportDefine(oid);
app.setApplet(this); app.show();
2

© 2001 PTCFra bibliotekSimple和Item的区别
共同点:

继承于WTObject;
都关联于管理域:Default;
实现接口: DomainAdministered AccessControlled 不同点:

Simple比Item多实现的接口: BusinessInformation(业务类信息,如对象标志、对象类型) Notifiable(事件通知)
© 2001 PTC
17
获取oid
获取Form中的oid:

<INPUT name = “oid" type="hidden" value="<SCRIPT LANGUAGE=Windchill>contextualValue propertyName=oid</SCRIPT>"> getFormData().getProperty("oid"); …?action=Update&oid=… getQueryData().getProperty("oid");

windchill解决方案功能介绍--l快速启动解决方案[管理资料]

windchill解决方案功能介绍--l快速启动解决方案[管理资料]

附录A: Windchill快速启动解决方案功能介绍Windchill®快速启动解决方案Windchill快速启动解决方案是“交钥匙工程”,它使用预先包装好的软件和服务来完成特定的业务过程,以快速获取投资回报。

该套解决方案提供了一个建立在公共Windchill体系架构和平台上的创建-协作-控制组合功能。

综合了为数百家客户部署Windchill积累的经验,Windchill快速启动解决方案具有最佳的用户界面、预装的标准工作流和可配置的过程,所以易于使用。

这些解决方案提供了许多实用功能,其中包括CAD集成、丰富的可视化、以及分布式信息共享功能。

每个解决方案都提供了支持特殊业务过程所必需的功能,这些解决方案可以被完美组合,以满足多个产品生命周期阶段的需求。

为了进一步加快投资回报,Windchill快速启动解决方案的价格固定,并包括资深顾问提供的确定范围内的技术服务和培训。

这些实施工作可以在很短的几周内完成,而不象其它企业系统要用几个月或者几年。

Windchill快速启动解决方案包括:Windchill PDMLinkWindchill PDMLink汇集、控制和利用整个产品生命周期中的数字化产品信息,通过一个基于Web的信息源使参与产品开发过程的每个人都能够轻而易举地访问到各种形式的最新准确信息。

随处可用的基于浏览器的强大可视化功能,确保工程师和非工程师无论身在何处,无需启动原始的应用程序都可以在自己的桌面上浏览和圈阅复杂的2D和3D产品信息。

主要功能:●一个主产品知识库把数字化产品表示(其中包括物料清单、文档、组件属性、二维工作图和模型、原理图、软件模块、技术规格、数据资料和修订记录)编制在一个基于Web的虚拟库中;它支持强大的搜索功能和相关信息的超链接导航。

●强大的产品结构管理功能,可以在建立和处理产品时支持产品配置管理-其中包括自动从CAD模型获得的配置。

●过程和信息的阶段-关口管理有助于管理产品开发过程。

JAVA常用命令 WINDCHILL学习笔记

JAVA常用命令 WINDCHILL学习笔记

打开Windchill Homepage:start D:\ptc\Windchill_9.0\Windchill\bin\HomePage.html1、查看Windchill版本:windchill version2、Windchill的客制化pdf(参考文档)在这个目录下D:\ptc\Windchill_9.0\Windchill\codebase\wt\clients\library;其中IEUsersGuide.pdf中包含了一些常用操作,有关QueryTree的用法在WCAdapterGuide.pdf中3、Windchill中用到的类(Class文件)都在D:\ptc\Windchill_9.0\Windchill\codebase目录下;Class的使用方法和作用多在D:\ptc\Windchill_9.0\Windchill\codebase\wt\clients\library\api目录下;例如:4、直接查看tasks目录下的xml文件执行结果,例如D:\ptc\Windchill_9.0\Windchill\tasks\com\business\test-efficientrate.xml;在地址栏输入:http:\\<machine>/\Windchill\servlet\IE\tasks\com\business\test-efficientrate.xml10、CTRL+C(关闭Tomcat、method server)20、windchill stop&&windchill start(重启Windchill)30、修改了action.properties文件后,需重启Method Server和Tomcat以重新加载40、ant-f%WT_HOME%/bin/tools.xml bundle_custom-Dbundle.input=registry(可用于编译3种resource bundles文件,当然对于枚举类型文件,可以用执行enumCumstmoize来代替,例如:StateRB.rbInfo)ant-f%WT_HOME%/codebase/MakeJar.xml(修改后重建Jar文件,例如为StateRB.rbInfo增加了Finished属性,要先执行ant-f bin/tools.xml bundle-custom-Dbundle.input=registry,再执行这条命令)50、infoReport[-x]<class-name>(前提条件:类文件同时有*.class和*.ClassInfo.ser根据类名{在WT_HOME\temp下}生成*.xml文件/*.out文件,以便查看类的内容;默认生成*.out、[-x]生成*.xml)class-name是将WT_HOME\codebase后面的目录改为.号连接;如WT_HOME\codebase\wt\part(BOMUtil.class)-->wt.part.BOMUtil例:要查看WT_HOME\codebase\wt\part目录下的BOMUtil.class文件,执行infoReport wt.part.BOMUtil(会报错***d:\ptc\Windchill_9.0\Windchill\codebase\wt\part\ProductProductInstance does not meet criteria for having an info object),原因是这个类的类型不符;如果使用WT_HOME\codebase\wt\part目录下的ProductProductInstance.class文件,执行infoReport wt.part.ProductProductInstance;成功了(在WT_HOME\temp下生成了*.out文件)60、windchill markets.util.misc.NmActionServiceHelper(用于重载*_actionModel.xml;相当于重启Tomcat和method server)====javamarkets.util.misc.NmActionServiceHelper70、ResourceBuild*(*是*.rbInfo文件名;即取src后面的去掉后缀的文件名;例如ext.business.client.*)<用于编译*.rbInfo文件>80、xconfManager-i path/name-p(用于根据*.properties文件第一次生成*.properties.xconf) xconfManager-p(用于更新对已有*.properties文件所做的修改)xconfManager-h查看xconfManager命令windchill-h查看Windchill帮助命令90、查看action report:http://<machine>/Windchill/netmarkets/jsp/carambola/tools/actionReport/action.jsp查看property Report:http://<machine>/Windchill/netmarkets/jsp/property/propertyReport.jsp查看service Report:http://<machine>/Windchill/netmarkets/jsp/carambola/svc/report.jsp100、在action.properties、action_en_US.properties、action_en_GB.properties、action_zh_CN.properties、action_zh_TW.properties更新属性后,必须在任意Internet页面的选项卡“工具-Internet选项-语言”中选择对应的语言,改变结果才能正常显示出来,例如:当语言选中了,英语(美国)[en-us]时,只能显示action_en_US.properties中的属性110、Jsp常用标签、导入:<%@include file="/netmarkets/jsp/util/begin.jspf"%><%@include file="/netmarkets/jsp/util/end.jspf"%><%@taglib uri="/infoengine/taglib/core"prefix="ie"%><%@taglib uri="/windchill/taglib/components"prefix="wca"%> <%@taglib uri="/windchill/taglib/carambola"prefix="cmb"%>120、编译Class文件到指定目录;例如要将D:\ptc\Windchill_9.0\Windchill\src\com\business\CustomWCAHelper.java编译生成Class文件到D:\ptc\Windchill_9.0\Windchill\codebase\com\business目录下:(命令如下)javacD:\ptc\Windchill_9.0\Windchill\src\com\business\CustomWCAHelper.java-d D:\ptc\Windchill_9.0\Windchill\codebase130、常用命令:windchill(codebase)目录下类名。

Windchill常用开发大全

Windchill常用开发大全

– 不预留属性
对象建模,不预留属性。对于已有对象的预留属性,因属性名称业务 含义,也不允许使用。历史模型已预留的属性不做要求。 例如:不再使用以前建模留下的reserv1、reserv2等预留属性
设计规范
– 关联关系
两个对象关联时,需要使用模型的关联关系。尽量不要采用建模为两 个独立对象,在一个对象的属性中记录另一个对象的某个标志属性的 方式。 例如: 错误的建模方法:CBBCounter类有一个属性cbbNumber,记录CBB 的编码。 正确的建模方法:引入一个Link对象,记录CBBCounter类和 WTPartMaster类的关系。
– 进入到 Oracle SQL*Plus路径,执行命令:
– 操作完成之后,即可使用EleadDocs对象了!
模型扩展(续)
模型扩展(续)

完整的例子说明
– 在windchill/src/目录下建立一个helloWorld目录,在 windchill/codebase/目录下也建立一个helloWorld目录 – 打开rose软件,依次打开fileopen定位到 windchill/src/wt/WTdesigner.mdl,打开

点击Save AS,重新命名为HelloWorld.mdl文件,弹出 框选择No,环境搭建好后,即可创建模型
扩展模型
模型扩展(续)


针对上面的图示,自定义个模型EleadDocs,继承 WTDocument,该模型自定义方法getEleadDocName() 和属性eleadDocType,且将其属性设置constrain=false, 点击保存(遇到提示,点击No) 选择菜单Units.Control docs,保存为docs.cat

windchill系统学习之--开发流程

windchill系统学习之--开发流程

windchill系统学习之--开发流程An Overview of the Windchill Development ProcessVerify The Development Environment:Verify the following environment variables: path ,sqlpathVerify the contents of the following property files: wt.properties ,db.propertiesStart the Windchill servers. Open a new console window.Establish your Rose model directory.Model the Object in Rose:Start Rational Rose and check the virtual path map.WT_WORK = ..\windchill\srcWT_EXTENSIONS = ..\windchill\RoseAddInWT_STD_PACKAGES = $WT_EXTENSIONS\Standard PackagesEstablish the initial Rose model by performing the following steps:a. From the File menu, select Open, browse to ..\windchill\src\wt, andload the model WTDesigner.mdl.b. When asked whether to load subunits, press the Yes button.c. Save the model as ..\windchill\src\helloWorld\HelloWorld.mdl.d. When asked whether to save subunits, press the No button.Model the person class by performing the following steps:a. In the Logical View/Main class diagram, drop in a Package icon and labelit helloWorld.b. Use the dependency tool to draw dependencies from helloWorld to the wtand java packages.c. Go to the Main diagram of the helloWorld package.d. Drop on a class icon and give the class the name Item (the parent forPerson). Attributes and operations for Item automatically appear. Changethe diagram to suppress attributes and operations of Item. Ensure that theShow Visibility option is on for Item (so you can see in the diagram that itcomes from the fc package).e. Drop on another class icon and give it the name Person.f. Make Person a subclass of Item. (Use the generalization icon/tool to drawa line from Person to Item.)g. Insert the attributes name, age, title, and id. Name, title, and id should bestrings (String) and age should be an integer (int). Use lowercase or a mixof upper- and lowercase letters for these attributes; do not use alluppercase letters.2 Right click to start the specification dialog. Make allthe attributes public and change the Windchill property of each toconstrain=false. Click the Apply button for each change and, when youare done, click the OK button.h. Select the menu option Browse > Units. Select the HelloWorld packageand press the Control button. Save the unit to c:\ptc\windchill\src\helloWorld\helloWorld.cat. With the helloWorld package selected, pressthe Save button.i. Save the Rose model file. When asked whether to save subunits, click theNo button.Generate Java Classes From Rose:Go to the parent package of the Person class (by selecting the LogicalView/Main diagram from the class browser, then selecting the helloWorld package).From the Tools menu, select Windchill > System Generation.From the popup window, select Java Source Code, WT Introspector Support, and Database Support, then click the OK button.Create Database Tables:Initialize the Object:Design the GUI Layout:Code the GUI:Run the Applet in Mozilla or Internet Explorer:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设计规范
– 字段扩展
对于对象的属性,一般情况下采用默认长度。建模时要求考虑属性长 度是否符合要求,如果需要加大长度,在模型中设置相应的值即可。
– 选择父类
对于建模,尽量继承底层的Windchill类,例如:Managed\Item等,继 承上层的具有实际业务含义的Windchill类(例如:WTPart、 WTDocument)时,在业务上符合“是一个(As -is)”的含义,例如: EleadPart是一个WTPart
安装完成之后,load注册文件 rational_perm.dat.txt
进入到{WT_HOME}\roseAddIn,将 VirtualPathMap.AddIn.reg和Windchill.AddIn.reg文件中 的路径修订为个人本机环境的路径并注册
建模搭建环境
启动rose,点击“Edit Path Map…”查看注册信息 rose 参数配置.txt
– Debug语句要有开关控制,避免直接使用System.out.println()打印,导致将来的生产环境 产生大量日志。
– 每个客制点之间,设定一个Debug开关,方便自身模块的调试。Debug的开关,缺省值设 置为false。客制点之间的输入和输出部分,需要输出Debug信息,方便客制点之间的调试。
选择菜单Units.Control docs,保存为docs.cat
模型扩展(续)
生成系统文件,选中docs包
模型扩展(续)
生成系统文件.mData和Elea集合
开发目录介绍 开发环境搭建 Windchill 模型环境搭建 Windchill类的介绍 Windchill各个业务对象的模型介绍 Windchill常用开发类和方法介绍
开发规范
JAVA开发规范,请遵守sun标准
Windchill开发规范
– 由于将来系统生产环境是Cluster架构,所以在编写代码时,要尽量避免使用Static的Class 变量,测试环境配置多个Method Server,以防止编写的代码在Cluster环境中运行出现问 题。
– 系统运行的错误信息,要显示在UI界面上,以便用户和系统管理员了解,同时需要在系统 log中记录。
点击Save AS,重新命名为HelloWorld.mdl文件,弹出 框选择No,环境搭建好后,即可创建模型
扩展模型
模型扩展(续)
针对上面的图示,自定义个模型EleadDocs,继承 WTDocument,该模型自定义方法getEleadDocName() 和属性eleadDocType,且将其属性设置constrain=false, 点击保存(遇到提示,点击No)
wtSafeArea\ptcOrig目录下,修改后的文件另存到wtSafeArea\siteMod目录 – 需要增加的properties属性不要放置在wt.properties中(service的注册除外),其他都放置
在codebase\com\itbg\ext.properties。 – 客制的新增Class文件放置在codebase\com\itbg对应的目录下。不要放在系统原有的包中。
(除非使用了系统原有的Protected Method,这种用法要尽量避免).
设计规范
设计规范之建模
– 仅对持久化对象建模
只有数据需要保存到数据库中的持久化业务对象才允许进行建模。其 余的操作类(例如:Processor、Delegate、Helper类等) 不被允许进行建模。
– 模型命名规则
对象的名称、属性名称、方法名称应该满足命名规则,同Java编码规 范的类命名、变量命名和方法命名。 例如: 类名 TRApplyDoc 属性名trPhase 方法名getFormData 说明:历史的模型如果要更改将要做数据迁移。因此只要求对新建立 的模型,历史模型不做要求。
– 不预留属性
对象建模,不预留属性。对于已有对象的预留属性,因属性名称业务 含义,也不允许使用。历史模型已预留的属性不做要求。 例如:不再使用以前建模留下的reserv1、reserv2等预留属性
设计规范
– 关联关系
两个对象关联时,需要使用模型的关联关系。尽量不要采用建模为两 个独立对象,在一个对象的属性中记录另一个对象的某个标志属性的 方式。 例如: 错误的建模方法:CBBCounter类有一个属性cbbNumber,记录CBB 的编码。 正确的建模方法:引入一个Link对象,记录CBBCounter类和 WTPartMaster类的关系。
– 布局
类图中尽量保证各部分分布均匀,连线尽量不要交叉,整个类图能够 显示在一个屏幕范围之内(标准1024*768分辨率),对于引用的其他包 的类、接口,可以将其属性、方法隐藏起来。避免占用过大的显示空 间。
建模搭建环境
进入到\Windchill+Information+Modeler091_F000l\Rational_Rose_for_Windows\setup.exe安 装
Rose模型介绍
打开Rose模型,点击FileOpen
选择src\wt\WTdesigner.mdl
Rose模型使用
点击【是】,系统会加载
其中Logical View是系统核心 逻辑显示,其中3rd是Windchilll 中使用了哪些Java技术模块、ext 是系统客制化扩展模型目录、wnc是Windchill核心业务逻辑组成
– 工作流中的表达式,具体实现,都写在WfUtil中,只在工作流中调用WfUtil中的方法。 WfUtil中的方法注释中,需要说明该段代码,将在那些workflow中被调用。
– 系统OOTB配置部分通过XML配置文件交付。方便新系统可以直接通过LoadFileSet导入配 置。
– 系统内部值,例如IBA,全部由英文字母和数字组成,不能包含特殊字符。 – 禁止反编译系统OOTB的Class文件,然后在此基础上修改做客制,导致系统无法升级。 – 需要对出厂文件(HTML template等)修改时,需要保存原出厂文件的备份在
相关文档
最新文档