Windchill常用开发大全
- 格式:ppt
- 大小:4.22 MB
- 文档页数:12
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 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"。
常用业务对象、目录结构、类、包介绍文档控制更改记录目录文档控制 (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.。
常用业务对象、目录结构、类、包介绍文档控制更改记录目录文档控制 (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.。
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文档管理工具能让用户建立和管理复杂的产品信息,这些出版物可能由多个文件组成、有多种修订版本、并且有不同的格式。
如UG、Pro/E、AutoCAD、MSOffice等应用工具生成的图纸或模型文件,各种测试数据和报告,任务书或规格说明书,工艺文件、使用或维护手册、零件明细等。
而且,它们还可以包括某些外来文件,并通过URL地址连接并从外部进行管理。
文档管理提供了许多随时可用的文档和出版物类型,若需要的话,还可以方便地把它们扩展成代表企业业务信息的模型。
为了方便用户的操作,系统能够自动地将产品数据和应用程序进行关联。
用户可以直接在Windchill中激活应用程序,并对数据进行操作。
1.文档的分类与存储:对文档的存储管理可以按照一定的分类规则来完成。
在Windchill环境中,文档的分类可以有不同的分类规则。
可以以产品对象为参考来完成文档的分类的管理,如:产品型号或系列为标准;可以按照文件的类型进行分类,如电子档案或结构部件;按照文档的功能进行分类,如技术文档、设计文档、工艺文档;当然,还可以按照项目、部门、产品、功能的组合进行分类。
在Windchill系统中,文件通常存储在逻辑的档案柜、文件目录中,以保持对用户的透明性。
在实施时,应该根据实际需求,同时采用多种分类方法相结合的方法。
文档的存储管理需要完成的工作如下:确定分类规则,定义新的、扩展的文档类。
文档的分类存放策略确定,划分文档存储地点。
结合文档评审、发布,实现文档信息的合理流动。
制定文档归档策略,实现文档的归档管理。
下图为Windchill中的文档管理界面2、文档的版本追踪:文档随着产品设计的进行,而需要不断的变化和修改。
数据管理系统要求能够及时纪录文档的变更历史,进行版本的追踪。
同时,还必须提供文件的共享机制,以实现并行工程的需求。
在Windchill系统中,通过以下几个方面来实现相关的需求。
一个数据仓库,它能通过控制权限,来保护信息不会被未授权用户修改检入和检出功能,用于把文档提交给数据仓库以及从数据仓库中提取文档版本控制和历史记录功能,用来跟踪数据更改、记录根据已有文档建立的新文档的来源,并能浏览历史数据3、文档的快速检索:文档的快速检索和利用,将有利于减少辅助工作时间,提高用户的工作效率。
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 ;}}。
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 ;}}。