高级自定义 > 业务逻辑自定义 > PDM 的自定义 > 自定义下载服务中的参数
自定义下载服务中的参数
预设委派
Windchill 提供了预设机制,可将与 CAD 文档相关的其他信息作为自定义系统参数传递。
要自定义参数,请在站点级别设置服务器端首选项“Workgroup Manager 客户端” > “映射自定义系统属性和文件特性”
该值是 CAD 文档相关对象中附加属性的列表,这些属性在 CAD 工具中显示为参数或特性。
该值是以逗号分隔的 CAD 特性和 Windchill 属性对的列表,其格式如下:
<name_of_CAD_property>:<relatedObjectCode>.<WindchillAttributeName>
其中:
说明
可能的值
name_of_CAD_property
这是 CAD 工具中参数或特性的名称
PART_REVISION
relatedObjectCode
这是用于标识相关对象的字符串。
docMaster
associatedPart
relatedECN
promote
WindchillAttributeName
这是相关对象的 Windchill 属性的逻辑名称或内部名称
CAD 文档主数据的可变类型属性
部件属性
“布尔型”、“日期”、“整数”、“实数”、“带实数的单位”或“字符串”类型的相关部件的可变类型属性
lifeCycleState
lifecycleTemplate.name
name,
number
orgid
view.identity
partType
对于相关 ECN
number
orgid
resolutionDate
对于升级
number
orgid
approvers
approveDates
reviewers
reviewDates
* 
对于可变类型属性,发送到 CAD 工具的值是对象在“信息页面”上呈现的显示值。显示值使用“属性处理”首选项和“类型和属性管理”设置,但不支持使用数据实用程序进行呈现的复杂显示自定义。
只有在不存在可用于插入参数的自定义服务器端委派 CustomModeledAttributesDelegate 时,才能使用此功能 (有关“自定义委派”的信息,请参阅下一部分“自定义委派”)。
对于关联部件:
此功能支持与具有所有者、提供图像、图像和提供内容的“CAD 文档”相关的部件。
选定的部件版本与“CAD 文档”信息页面相关部件表类似。
如果同一部件的多个修订版本均与 CAD 文档相关,则返回每个部件的最新修订版本。
如果系统配置为允许多个构建关联,其中服务器端首选项“操作” > “自动关联” > “允许 CAD 文档构建多个部件”设置为“是”,则可以返回多个部件。在这种情况下,每个相关部件的信息都将以带分隔符的格式返回。所使用的分隔符由服务器端首选项“Workgroup Manager 客户端” > “用于多个相关对象的自定义系统属性分隔符”定义。
对于相关 ECN:
如果 CAD 文档的修订版本作为产生的对象参与了变更通告,则关于 ECN 的属性会被发送到 CAD 参数。
如果 CAD 文档的修订版本参与多个“变更通告”,则所使用的分隔符由服务器端首选项“Workgroup Manager 客户端” > “用于多个相关对象的自定义系统属性分隔符”定义。
已拒绝的 ECN 未列出。
对于升级请求:
如果 CAD 文档的版本参与了升级请求,则关于升级请求的属性会被发送到 CAD 参数。
如果 CAD 文档的版本参与多个“升级请求”,则所使用的分隔符由服务器端首选项“Workgroup Manager 客户端” > “用于多个相关对象的自定义系统属性分隔符”定义。
未列出已拒绝的升级请求。
自定义委派
如果业务流程要求将其他属性传递到 CAD 工具,则 Windchill 会提供一个服务器端委派,该委派可用于在下载时将参数插入到 Creo Parametric 模型中。这种机制可用于将信息从服务器传送到 Creo Parametric,在此可像其他所有 Creo Parametric 参数一样使用这些信息 (例如,在绘图表单上填充信息)。以 PTCPROI 开头的参数被视为保留的系统参数,不能通过自定义进行传播。如果在自定义中添加这些参数,下载服务会将其忽略。
* 
此功能适用于所有与第三方 CAD 工具集成的 Windchill Workgroup Manager
* 
自定义的参数在下载时被提供给客户端,与系统参数 (如 PTC_WM_ITERATION) 不同,它们不会在执行某个 Windchill 操作 (例如,检入) 后,在 Creo Parametric 会话或本地缓存中更新。
例如,如果某个自定义参数分配了 CAD 文档编号的值,其值会在模型下载时提供给客户端。如果后来对 CAD 文档进行了重新编号,则 Creo Parametric 会话或客户端缓存中的值不会自动更新。
Windchill 服务委派机制用于实现自定义。以下步骤说明自定义过程:
1. 创建一个实现接口 ModeledAttributesDelegate 的 Java 类。接口定义如下:
package com.ptc.windchill.uwgm.proesrv.c11n;
import java.util.Collection;
import java.util.HashMap;
import wt.util.WTException;
public interface ModeledAttributesDelegate
{
/*
Implement this API to return list of parameters added by
customization along with it's type (customization profile of the
server). For example "WT_CADDOC_NUMBER" custom parameter will
be of type "String.class" (the java class)
*/
// getAvailableAttributes() returns
// HashMap<String, Object> which contains
// HashMap<Attribute name, Attribute type>
HashMap getAvailableAttributes();
/*
This is the API, invoked by the download service on download, to
be implemented for the customization. Create and return a
HashMap where key is input object and value is HashMap of
parameter name - value pairs that must be propagated to Pro/E
part represented by the EPMDocument (input object). Use the
getCADName() API on the EPMDocument to identify the Pro/E part
*/
// getModeledAttributes(Collection docs) returns
// HashMap<input object, HashMap<Attribute name, Attribute
value> HashMap getModeledAttributes(Collection docs) throws
WTException;
}
2. PTC 提供的自定义系统属性预设在 DefaultModeledAttributesDelegate 中提供。不过,您可以将 site.xconf 文件 (位于 <Windchill>) 更改为指向服务器上的自定义服务。
<Service context="default"
name="com.ptc.windchill.uwgm.proesrv.c11n.ModeledAttributesDele
gate" targetFile=codebase/service.properties">
<Option cardinality="singleton"
requestor="java.lang.Object"
serviceClass="com.ptc.windchill.uwgm.proesrv.c11n.CustomerXYZModeledAttributesDelegate"/>
</Service>
然后使用 xconfmanager 工具,将变更应用于 service.properties 文件 (运行 xconfmanager -p)。
使用类路径代替 serviceClass 的值 (即,使用类路径替换 com.ptc.windchill.uwgm.proesrv.c11n.DefaultModeledAttributesDelegate)。
3. 重新启动方法服务器。
这对您有帮助吗?