Windchill二次开发常用API
- 格式:doc
- 大小:39.00 KB
- 文档页数:3
solidworks api二次开发实例详解-回复如何进行SolidWorks API二次开发实例的详解SolidWorks是一款常见的三维计算机辅助设计(CAD)软件,用于创建和编辑各种机械设计、装配和零件模型等。
它具有功能强大的应用编程接口(API),允许开发人员自定义和扩展软件的功能。
在本文中,我们将通过一个实例来详细介绍SolidWorks API的二次开发过程。
1. 环境设置首先,我们需要确保已经正确设置SolidWorks的开发环境。
在SolidWorks安装目录中,找到并运行"swvisualizeapi.exe"文件,按照提示安装Visualize API。
接下来,打开SolidWorks软件,点击"工具"->"宏"->"编辑",在"选项"对话框的"VBA环境"选项卡中,勾选"显示工具栏"和"显示添加-Ins",以便在开发过程中方便调试和查看结果。
2. 创建新的宏在SolidWorks中点击"工具"->"宏"->"新建"来创建一个新的宏。
在该宏中,我们将使用VBA代码进行二次开发。
首先,我们需要定义一个模块(Module)来存储我们的代码。
在"Macros in"下拉菜单中选择"NewMacros",然后点击"创建",在弹出的对话框中命名新模块为"API_Example"。
接下来,在模块中输入以下代码:vbaOption ExplicitSub API_Example()' 在此处编写您的代码End Sub接下来,我们将在此处编写我们的代码。
3. 加载程序集在编写SolidWorks API代码之前,我们需要加载SolidWorks程序集。
solidworksapi二次开发实例详解-回复Solidworks API二次开发实例详解Solidworks是一款广泛应用于机械设计和3D建模的软件,其强大的API功能使用户能够进行二次开发,实现更高效、更个性化的工作流程。
本文将以Solidworks API二次开发实例为主题,为您详细介绍该过程的每一步骤。
第一步:API的基础知识和环境准备在进行Solidworks API二次开发之前,需要先掌握API的基础知识,了解其用途和功能。
同时,您还需要准备一个Solidworks软件的开发环境,包括安装Solidworks、安装API软件开发包(SDK)以及设置开发工具。
第二步:创建API应用程序在开始二次开发之前,我们需要创建一个API应用程序。
可以使用各种编程语言来开发Solidworks API应用程序,如C#、、C++等。
这里以C#语言为例。
首先,创建一个新的项目并引用Solidworks API 库。
第三步:初始化Solidworks在API应用程序中初始化Solidworks,以便可以与Solidworks建立连接并执行各种操作。
这可以通过以下代码实现:SldWorks swApp;ModelDoc2 swModel;swApp =(SldWorks)Marshal.GetActiveObject("SldWorks.Application"); swModel = (ModelDoc2)swApp.ActiveDoc;首先,我们创建了一个SldWorks对象并通过GetActiveObject()方法获取了当前激活的Solidworks应用程序。
然后,我们获取了当前活动文档的ModelDoc2对象。
第四步:访问Solidworks对象模型在Solidworks API中,所有的对象和操作都是基于对象模型的。
通过访问和操作对象模型,我们可以实现各种功能。
例如,我们可以访问零件、装配体、图纸等对象,以及它们的属性和方法。
SolidWorks API二次开发是指通过SolidWorks提供的API接口来实现对SolidWorks软件的二次开发功能。
这种开发方式可以使用户根据自身需求定制功能,提高工作效率,丰富软件的应用场景。
本文将通过详细的实例来介绍SolidWorks API二次开发的相关内容,帮助读者更好地理解和应用这一技术。
一、SolidWorks API介绍SolidWorks是一款流行的三维CAD软件,广泛应用于机械设计、工程设计、汽车工业等领域。
SolidWorks提供了丰富的API接口,允许用户通过编程的方式对软件进行定制和扩展。
通过API接口,用户可以实现诸如模型创建、几何操作、特征编辑、文件处理等功能,从而满足特定的设计和工程需求。
二、SolidWorks API二次开发实例下面将以几个实际开发场景为例,介绍SolidWorks API二次开发的具体实现方法和技巧。
1. 模型创建与编辑在SolidWorks中,用户可以通过API接口实现对模型的创建和编辑。
可以通过编程的方式创建各种基本几何体,如立方体、圆柱体、球体等。
也可以对已有的模型进行编辑和修改,包括几何参数的调整、特征的添加和删除等操作。
这为用户提供了更灵活的设计手段,使其能够更好地应对复杂的设计需求。
2. 数据导入与导出SolidWorks API还支持对外部数据的导入与导出。
用户可以通过编程的方式将其他格式的CAD文件导入到SolidWorks中,并在其中进行进一步的编辑和修改。
同样地,用户也可以将SolidWorks模型导出为其他格式的文件,以满足不同系统和软件的需求。
3. 自动化设计与分析利用SolidWorks API,用户可以实现一些自动化的设计和分析功能。
可以通过编程来实现一些复杂的几何操作,从而自动化地生成某类特定的设计。
也可以实现对模型的自动化分析,提取其中的某些关键信息,并进行进一步的处理和应用。
4. 用户界面定制除了对模型进行操作外,SolidWorks 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范例。
windapi手册摘要:1.引言2.WindAPI 的概述3.WindAPI 的使用方法4.WindAPI 的功能模块5.WindAPI 的应用场景6.WindAPI 的示例代码7.WindAPI 的常见问题及解决方案8.总结正文:WindAPI 是一款非常实用的编程接口,它为开发者提供了一整套完善的Windows 操作系统API 接口,使得开发者可以更加轻松地编写Windows 应用程序。
本文将为您详细介绍WindAPI 的使用方法以及它的功能模块,帮助您更好地理解和使用WindAPI。
## 2.WindAPI 的概述WindAPI 是基于Windows API 的二次开发接口,它将复杂的Windows API 封装成简单的函数调用,使得开发者可以更加方便地使用Windows API。
WindAPI 提供了丰富的功能模块,涵盖了文件操作、系统管理、网络通信等多个领域,可以大大提高开发者的开发效率。
## 3.WindAPI 的使用方法使用WindAPI 非常简单,首先需要下载并安装WindAPI 的SDK,然后在自己的项目中引入WindAPI 的库文件即可。
接下来,您只需要调用WindAPI 提供的函数,就可以实现对应的功能。
## 4.WindAPI 的功能模块WindAPI 提供了丰富的功能模块,包括以下几个方面:- 文件操作:提供了一系列文件操作函数,包括文件读写、文件查找、文件属性等。
- 系统管理:提供了系统信息查询、进程管理、注册表操作等功能。
- 网络通信:提供了网络套接字、HTTP 请求等网络通信功能。
- 窗口操作:提供了窗口创建、消息处理、控件操作等功能。
- 其他功能:还包括时间操作、加密解密、图像处理等多个方面的功能。
## 5.WindAPI 的应用场景WindAPI 广泛应用于各种Windows 应用程序的开发中,例如:- 文件管理器:使用WindAPI 的文件操作函数实现文件管理功能。
标题:深度解析SolidWorks API二次开发实例在工程设计领域,SolidWorks是一个广泛使用的三维CAD软件,其强大的API功能使得二次开发变得异常便捷。
本文将深入探讨SolidWorks API二次开发的实例,以帮助读者更深入地理解和运用这一功能。
1. 理解SolidWorks API的概念和作用让我们简要回顾一下SolidWorks API的概念和作用。
API是应用程序接口的缩写,它允许软件程序之间或不同组件之间进行互动和通讯。
SolidWorks API作为一种编程接口,可以被用来自动化和定制SolidWorks软件的功能,使得用户可以通过编程实现更加高效和个性化的工程设计和分析。
2. 实例分析:创建自定义特征现在,让我们通过一个具体的实例来详细解析SolidWorks API的二次开发。
假设我们需要创建一个自定义特征,以实现在设计中快速生成某种特定的结构。
我们需要通过SolidWorks API获取到当前的活动文档,然后通过编程方式创建新的特征。
在这个过程中,我们需要考虑到各种参数和属性的设置,比如特征的类型、尺寸、位置等。
通过API的函数和方法,我们可以对这些属性进行准确的设置和调整,从而实现对特征的定制化。
我们可以将这个自定义特征保存下来,以备将来在其他设计中复用。
3. 实例分析:批量处理文件另一个常见的应用场景是批量处理文件,这在实际工程项目中非常常见。
通过SolidWorks API,我们可以编写脚本程序,实现对多个文件的批量操作,比如批量导出文件、批量修改属性、批量创建装配等。
这种批量处理的功能可以极大地提高工作效率,尤其是对于大批量的工程设计任务。
在编程实现过程中,我们需要使用API提供的文件遍历和操作函数,同时要考虑到异常处理和错误处理,以确保脚本程序的稳定性和可靠性。
通过合理的设计和编码,我们可以创建出高效、灵活并且易于维护的批量处理脚本。
4. 个人观点和总结SolidWorks API的二次开发为工程师和设计者提供了强大的定制化能力。
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范例。
Windows API(Application Programming Interface,应用程序编程接口)函数大全1. API之位图、图标和光栅运算函数BitBlt 将一幅位图从一个设备场景复制到另一个CopyIcon 制作指定图标或鼠标指针的一个副本。
这个副本从属于发出调用的应用程序CopyImage 复制位图、图标或指针,同时在复制过程中进行一些转换工作CreateBitmap 按照规定的格式创建一幅与设备有关位图CreateBitmapIndirect 创建一幅与设备有关位图CreateCompatibleBitmap 创建一幅与设备有关位图,它与指定的设备场景兼容CreateCursor 创建一个鼠标指针CreateDIBitmap 根据一幅与设备无关的位图创建一幅与设备有关的位图CreateDIBSection 创建一个DIBSectionCreateIcon 创建一个图标CreateIconIndirect 创建一个图标DestroyCursor 清除指定的鼠标指针,并释放它占用的所有系统资源DestroyIcon 清除图标DrawIcon 在指定的位置画一个图标DrawIconEx 描绘一个图标或鼠标指针。
与DrawIcon相比,这个函数提供了更多的功能ExtractAssociatedIcon 判断一个可执行程序或DLL中是否存在图标,或是否有图标与系统注册表中指定的文件存在关联并提取之ExtractIcon 判断一个可执行文件或DLL中是否有图标存在,并将其提取出来GetBitmapBits 将来自位图的二进制位复制到一个缓冲区GetBitmapDimensionEx 取得一幅位图的宽度和高度GetDIBColorTable 从选入设备场景的DIBSection中取得颜色表信息GetDIBits 将来自一幅位图的二进制位复制到一幅与设备无关的位图里GetIconInfo 取得与图标有关的信息GetStretchBltMode 判断StretchBlt 和 StretchDIBits函数采用的伸缩模式LoadBitmap 从指定的模块或应用程序实例中载入一幅位图LoadCursor 从指定的模块或应用程序实例中载入一个鼠标指针LoadCursorFromFile 在一个指针文件或一个动画指针文件的基础上创建一个指针LoadIcon 从指定的模块或应用程序实例中载入一个图标LoadImage 载入一个位图、图标或指针MaskBlt 执行复杂的图象传输,同时进行掩模(MASK)处理PatBlt 在当前选定的刷子的基础上,用一个图案填充指定的设备场景PlgBlt 复制一幅位图,同时将其转换成一个平行四边形。
solidworks二次开发常用API函数命令SolidWorks2003二次开发基础与实例教程1. 程序语言1.1 Visual Basic1.1.1 VB缺点①没有多线程②没有实现继承和其他面向对象的特性③错误处理能力差④与其他语言集成性差2.文件操作2.1 保存和退出SW文件 P60① ModelDoc2::SaveAs4作用:用不同的名称保存文件② ModelDoc::SaveAs2作用:用新名称保存文件③ SldWorks::ExitApp2.2 查找文件所参考的其他文件ModelDoc2::GetDependencies22.3 获得与配置有关的结构存储区域 P245SW文件使用Mocrosoft structured storage(微软结构储存)存储Parasolid 体在各个流中。
Cofiguration::GeteStreamNameModelDoc2::GetConfigurationByName3.1返回草图对象P72Feature::GetSpecificFeature3.2草图对象直接添加到到SW数据库 P109① ModelDoc2::SetAddToDB//自动推理功能关闭,即关闭网格和实体自动捕捉② ModelDoc2::SetDisplayWhenAdded(False); // 关闭新增实体的实时显示③ ModelDoc2::GraphicsRedraw2 // 重画或刷新文档窗口④ ModelDoc2::SetDisplayWhenAdded(True); // 恢复默认显示3.3获得草图实体的线宽 P110① SketchSegment.Width // 工程图才支持草图实体线宽② /doc/5a17272622.html,yerOverride// 判断对象是否正在使用默认线宽3.4检查草图的有效性 P120Sketch::CheckFeatureUse3.5获得草图的永久性标识符 P139SketchSegment::GetIDSketchPoint::GetID注:草图标识由草图名称和草图ID组成草图的ID是long的有序数对(a,b)同一个SketchSegment内的每个实体拥有唯一ID3.6列出草图中的约束 P140SketchSegment::GetConstraints3.7控制曲线的精度Modeler::SetT olerances3.8修剪曲线来对其边界 P154Face2.GetTrimCurves24.1逆序遍历特征和获得与特征相关的面 P197ModelDoc2::FeatureByPositionReverse //逆序遍历特征Feature::GetFaces4.2访问特征的子特征 P71Feature::GetFirstSubFeature4.3获得特征的属性 P204Feature::NameFeature::GetNextSubFeatureParDoc::FeatureByNameFeature::GetTypeName4.4获得特征的父子关系 P200Feature::GetParentsFeature::GetChildren4.5访问拉伸凸台\基体特征 P194ExtrudeFeatureData2::AccessSelections //允许修改修改特征,并释放控制权// Feature::ModifyDefinition ExtrudeFeatureData2::ReleaseSelectionAccess //释放控制权5.1重新播放一个模型 P207FeatureManager::EditRollback //回溯棒ModelDoc2::GraphicsRedraw2 //重新绘制当前图形视区Face2::Highlight //高亮显示面对象5.2改变FeatureManagerFeatureManager::UpdateFeatureTree6.参考面或坐标系6.1获得参考平面的参数和生成参考平面 P96 (对应目录中的P88)ModelDoc2::CreatePlaneFixed2Feature::GetSpecificFeatureRefPlane::GetRefPlaneParams7.1模型是否已在编辑状态 P97 ModelDoc2::IsEditingSelf8.1检查装配中零部件中的干涉情况AssemblyDoc::T oolsCheckInterference2 8.2 更新参数AssemblyDoc::UpdateFeatureScope 8.3获得装配零件的边界P314 Component2::GetBox9.工程图9.1获得层管理对象 P105 ModelDoc::GetLayerManager()10.1弹出信息框P64 SldWorks::SendMsgT oUser SldWorks::SendMsgToUser211.1设置注释文本的长宽比P74 ModelDoc2::GetUserPreferenceTextFormatTextFormat::WidthFactorModelDoc2::SetUserPreferenceTextFormatModelDoc2::EditRebuild312系统变量12.1设置用户参数选项P92 SldWorks::SetUserPreferenceT oggle13.1获得所选项目的剖面特性 P136ModelDoc2::Extension //可获得某些特性,如区域、重心以及惯性张量13.2 SW API常量查看swconst.bas,其位于安装目录下的samples\appComm13.3 SafeArray P260 OLE:: 变量为空COM::返回S_FALSE。
Windchill二次开发常用API1.1.根据零件名称/编码得到该零件2.wt.clients.prodmgmt.WTPartHelper.findPartByName(name ) ;3.wt.clients.prodmgmt.WTPartHelper.findPartByNumber(nu mber);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(WTPartMs terwtMaster);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);/doc/983824940.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(newSearchCondition(WTPart.class,WTPart.CREATE_TIMESTAMP, true, new AttributeRange(begintime, endtime)));//删选条件时间范围内28.qs.appendAnd();//一定要加上不然下一个条件不能删选29.qs.appendSearchCondition(newSearchCondition(WTPart.class,30."iterationInfo.creator.key",SearchCondition.EQUAL,PersistenceHelper.getObjectIdentifi er(name)));//删选条件用户31.QueryResult qr = PersistenceHelper.manager.find(qs);32.//今后持续更新1.根据零件名称/编码得到该零件wt.clients.prodmgmt.WTPartHelper.findPartByNamewt.clients.prodmgmt.WTPartHelper.findPartByNumb2.根据WTpart得到WTparMasterWtPart wtpart;WTPartMaster wtmaster=(WTPartMster)part.getMaste3.获取codebase下配置文件wt.properties属性信息WTProperties wtproperties = WTProperties.getLocaString wthome = wtproperties.getProperty("wt.ho4.获取part被借用的所有父部件QueryResult qr= wt.part.WTPartHelper.service.ge注:此方法得到的结果为该part被使用情况的全部父部件,5.根据OID 获取Wtpartwt.fc.WTReference partRef = new wt.fc.ReferenceFaWTPart wtpart=(WTPart)partRef;6.得到零件最新版本WTPart wtpart= (WTPart) VersionControlHelper.get7.通过过滤得到零件最新版本/*** 根据用户名得到用户* @param name 用户名* @throws WTException* return WTUser*/public static WTUser getUserFromName(String name) throws WTException {Enumeration enumUser = OrganizationServicesHelper.manager.findUser(/ doc/983824940.html,, name); WTUser user = null;if (enumUser.hasMoreElements())user = (WTUser) enumUser.nextElement();if (user == null) {enumUser = OrganizationServicesHelper.manager.findUser(WTUser.FULL_NA ME, 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.cl ass, WTPart.xx, “=”, xx);//泛型在WC API中的使用//获取查询条件数目If(qs.getConditionCount()>0 && qs.getWhere().endsWith(“")){qs.appendAnd();}//添加查询条件qs.appendWhere(where, new int[]{index});//** 以下是联合查询的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;
}
ConfigSpec configSpec= QueryResult qr= configSpec); if(qr!=null){
while()){
part=(WTPart) ();
}
}
return part;
}。