当前位置:文档之家› Windchill开发之创建对象

Windchill开发之创建对象

Windchill开发之创建对象
Windchill开发之创建对象

第一章Windchill开发之创建对象

2010-12-09 21:41:18| 分类:Windchill 应用空| 标签:无|字号大中小订阅

在windchill开发的过程中,整个操作围绕的都是增删改查,今天我们将介绍的是增加,此次以part的创建为例,对于删除,修改都一几乎一样的代码。

以下是源代码:

import https://www.doczj.com/doc/7f12683696.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

*/

public static void main(String[] args) throws WTPropertyVetoException, WTException, RemoteException, InvocationTargetException

{

// TODO Auto-generated method stub

WTPart part =RemoteMethod("001", lenovoPart_type);

if(part!=null)

{

System.out.println("part 的名称是:"+ part.getName());

}

}

//创建部件要用rmi

public static WTPart RemoteMethod(String partNumber,String partType) throws RemoteException, InvocationTargetException

{

String CLASSNAME = (Demo4.class).getName();

Class argTypes[];

Object svrArgs[];

argTypes = (new Class[]

{ String.class,String.class });

svrArgs = (new Object[]

{ partNumber,partType});

return (WTPart) RemoteMethodServer.getDefault().invoke("newPart", CLASSNAME, null, argTypes, svrArgs); }

/**

* 创建一个新的部件,类似的代码可以实现修改part的基本属性

*

* @param number

* 部件的编码

* @param PartType

* 部件的类型,部件在windchill中可以自定义很多中类型

* @return

* @throws WTException

* @throws WTPropertyVetoException

*/

public static WTPart newPart(String number, String PartType) throws WTException, WTPropertyVetoException {

WTPart newPart = null;

// 获取容器

WTContainer container = getContainer("Moto");

System.out.println(1);

// 获取容器的引用

WTContainerRef ref = ref = WTContainerRef.newWTContainerRef(container);

// 获取文件夹

Folder folder = wt.folder.FolderHelper.service.getFolder(PartPath, ref);

System.out.println(2);

String strPartNumber = number;

String strPartName = number;

wt.vc.views.View view = ViewHelper.service.getView("Design");

ViewReference viewRef = ViewReference.newViewReference(view);

System.out.println(3);

TypeDefinitionReference typeDefinitionRef = TypedUtility.getTypeDefinitionReference(PartType); System.out.println(4);

// 创建一个部件,编码与名称

newPart = WTPart.newWTPart(strPartNumber, "https://www.doczj.com/doc/7f12683696.html,");

// 为部件设置容器

newPart.setContainer(container);

// 为部件设置类型

newPart.setTypeDefinitionReference(typeDefinitionRef);

// 为部件设置view

newPart.setView(viewRef);

// 为此部件设置存贮位置

FolderHelper.assignLocation((FolderEntry) newPart, folder);

// 保存部件,切忌不要保存两次。经常在调用完本方法之后习惯性的再保存一次,这样会出现错误。newPart = (WTPart) PersistenceHelper.manager.save(newPart);

// 从数据库中提取part

newPart = (WTPart) PersistenceHelper.manager.refresh(newPart);

return newPart;

}

/**

* 产品是一个容器,这里通过一个产品的名称获取容器,产品的名称在windchill中具有唯一性

*

* @param containerName

* 产品的名称

* @return

*/

public static WTContainer getContainer(String containerName)

{

try

{

// 此处的逻辑部分可以参考:"windchill开发简单入门之条件查询"这篇文章

QuerySpec qs = new QuerySpec(WTContainer.class);

SearchCondition sc = new SearchCondition(WTContainer.class, https://www.doczj.com/doc/7f12683696.html,, "=", containerName); qs.appendWhere(sc);

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

while (qr.hasMoreElements())

{

WTContainer container = (WTContainer) qr.nextElement();

return container;

}

} catch (QueryException e)

{

// TODO Auto-generated catch block e.printStackTrace();

} catch (WTException e)

{

// TODO Auto-generated catch block e.printStackTrace();

}

return null;

}

}

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 系统基本操作 杰为软件系统(深圳)有限公司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二次开发常用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.doczj.com/doc/7f12683696.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开发基础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.doczj.com/doc/7f12683696.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;

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 --> 单击OK 之后,你可能会发现Java 项目Referenced Libraries里面有个codebase 文件夹了 4.添加Windchill环境所需的jar包(推荐使用1)

Windchill开发之创建对象

第一章Windchill开发之创建对象 2010-12-09 21:41:18| 分类:Windchill 应用空| 标签:无|字号大中小订阅 在windchill开发的过程中,整个操作围绕的都是增删改查,今天我们将介绍的是增加,此次以part的创建为例,对于删除,修改都一几乎一样的代码。 以下是源代码: import https://www.doczj.com/doc/7f12683696.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.doczj.com/doc/7f12683696.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是这个页面的处理是哪个类来处理。

Windchill 10.1客户端开发培训

1.Windchill自定义 Windchill自带的客制化:站点->实用程序->首选项管理器->展开"Client Customization"->将"Client Customization"选项卡的"否"改为"是"->重新打开浏览器->会出现"自定义"图标,如下图所示: 2.定制菜单 定制主菜单 1)复制navigation-actionModels.xml中的main navigation段代码到custom-actionModels.xml 文件中 Main navigation (tabs) //这里是添加的

Windchill 开发培训资料

主要内容:jca标签\Validator\dataUtilities 一、Windchill自带的客制化:站点->实用程序->首选项管理器->展开"用户自定义"->将"用户自定义"选项卡 的"否"改为"是"->重新打开浏览器->会出现"自定义"图标 二、增加主菜单和一级子菜单 1 、复制navigation-actionModels.xml中的main navigation段代码到custom-actionModels.xml文件 中 Main navigation (tabs) //这里是添加的 Sub tabs under the product main tab 2、修改properties文件action.properties和action_zh_CN.properties 在action.properties文件里增加如下代码: navigation.test.description=test test.subtest1.description=subtest1 test.subtest2.description=subtest2 在action_zh_CN.properties里增加如下代码: navigation.test.description=\u6d4b\u8bd5 (\u6d4b\u8bd5----测试) test.subtest1.description=\u5b50\u6d4b\u8bd51 (\u5b50\u6d4b\u8bd51----子测试1) test.subtest2.description=\u5b50\u6d4b\u8bd52 (\u5b50\u6d4b\u8bd52----子测试2) 3、在custom-actions.xml文件中增加如下代码:

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,

Windchill pdm介绍

一、PDM定义: PDM的全称是Product Data Management,即产品数据管理。PDM是一个用于开发和管理产品数据的协作平台,为整个企业提供信息共享机制和信息存储机制。PDM除了管理信息外,还管理信息的演变,控制产品数据审批流程的自动化以及信息的访问权限。在PDM中管理的常用对象包括:部件、文档、CAD文档、变更对象等。 二、功能: 1.产品(型号产品)、存储库(标准件库、模板库): ?产品 用户协作开发某型号产品的环境。此环境用于管理以下内容:与型号产品研发相关的业务对象及数据存储区域;数据访问控制规则;用于创建文档和CAD 文档的模板;产品研发团队和角色;以及此型号特定的生命周期和工作流。 ?存储库 用于管理不依赖与某个特定型号产品研发的企业公共数据的环境;如标准件库、元器件库、文档模板库等。 ?产品数据结构: 产品数据结构是指既包含BOM,同时包含文档、CAD文档的数据结构树。在产品数据结构中,点击“结构”查看下级结构,选择“使用情况”查看上级结构。 2.部件: 具有唯一标识的产品数据对象。它具有自己的属性数据,对象之间可以具有父子结构关系,且可以具有相关的文档。 成品:成品是一种特殊的部件,一般指顶级装配。 文档:是具有一定属性的文件存储单元。它可以有主要内容和附件,也可以有参考文档和子文档。文档可以与部件进行关联从而说明某个部件。技术文档,如项目建议书、试验大纲、试验报告等,产品图样(AutoCAD图纸)在系统中通过文档进行管理。 3.CAD文档: 由CAD设计软件产生(如Pro/E三维模型、二维绘图),通过与PDM集成方式存储的数据。可以与部件相关联以便进一步说明该部件,还可以与其他CAD 文档相关联。 4.检出和检入: 检出和检入操作是一种防止多用户对某对象进行冲突操作的一种机制。要修改对象前,必须将其检出。这会告知其他用户您正在修改它们。编辑对象后,可通过将该对象重新检入,以保存对该对象进行的所有变更。只有用户有该对象的修改权限才能执行检出和检入的操作,且一个对象同时只能被一个用户检出和修改。 5.版本:

windchill开发简单入门

windchill开发简单入门 2009-08-14 08:39 在此阅读之前,请先参考windchill 9开发环境配置过程,粗略阅读即可。 此实例主要针对windchill9.0开发,若是windchill8.0,有差别主要在第一步. 第一步:拷贝windchill8.0中MakeJar.class文件,图示路径如下: 第二步:在windchill shell中运行命令:windchill wt.tools.boot.MakeJar jar=wt.jar config=wt.jar.config 如图:

第三步:Eclipse中导入codebase下的wt.jar包,此包就是第二步命令生成的。编辑Demo.java文件,代码如下: import wt.fc.PersistenceHelper; import wt.fc.QueryResult; import wt.part.WTPart; import wt.query.QueryException; import wt.query.QuerySpec; import wt.util.WTException; public class Demo { /** * 一个入门windchill最简单例子 * 查询所有part,并将部件的名称与编号打印出来 * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try

{ QuerySpec qs = new QuerySpec(WTPart.class); QueryResult qr=PersistenceHelper.manager.find(qs); while (qr.hasMoreElements()) { WTPart part = (WTPart) qr.nextElement(); System.out.println("该部件的名称为:"+part.getName()); System.out.println("该部件的编号为:"+part.getNumber()); } } catch (QueryException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (WTException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 第四步:编译文件,注意一定要设置jdk5.0,如图:

相关主题
文本预览
相关文档 最新文档