创建产品容器
当前,可以一步创建一个产品容器。但在本示例中,客户已根据早期 Windchill 加载进程为产品准备了加载文件。
以下为该进程流:
1. 要使用合适的客户数据,需使用 CSV2XML 实用程序将数据文件转换为 XML。请参阅以下示例:
<?xml version="1.0" ?><!DOCTYPE NmLoader SYSTEM "standardX20.dtd">
<NmLoader>
<csvProductContainer handler="wt.part.LoadPart.createProductContainer">
<csvuser>productcreator</csvuser>
<csvname>TestLoad3</csvname>
<csvpnumber>TestLoad3</csvnumber>
<csvsharedTeamName>Shared Team 2</csvsharedTeamName>
<csvcontainerExtendable>true</csvcontainerExtendable>
<csvdescription>Test</csvdescription>
<csvview></csvview>
<csvsource></csvsource>
<csvdefaultUnit></csvdefaultUnit>
<csvtype></csvtype>
<csvcontainerTemplate>General Product</csvcontainerTemplate>
</csvProductContainer>
</NmLoader>
<csvsharedTeamName>Shared Team 2</csvsharedTeamName> 和 <csvcontainerExtendable>true</csvcontainerExtendable> 为可选项。仅当要在加载数据中包含共享团队时才需要包含这些内容。
2. 数据更新后,使用自定义的内置 XSL 样式表对其进行处理。请参阅以下示例:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
method="xml"
indent="yes"
encoding="iso-8859-1"
doctype-system="standardX20.dtd"
/>
<xsl:template match="/">
<NmLoader>
<xsl:for-each select="//csvProduct">
<csvProductContainer handler="wt.part.LoadPart.createProduct
Container" >
<csvname><xsl:value-of select="csvpartNumber"/></csvname>
<csvnumber><xsl:value-of select="csvpartNumber"/></csvnumber>
<csvsharedTeamName>Shared Team 2</csvsharedTeamName>
<csvcontainerExtendable>true</csvcontainerExtendable>
<csvdescription><xsl:value-of select="csvpartName"/></csv
description>
<csvview></csvview>
<csvsource></csvsource>
<csvdefaultUnit></csvdefaultUnit>
<csvtype></csvtype>
<csvcontainerTemplate>General Product</csvcontainerTemplate>
</csvProductContainer>
</xsl:for-each>
</NmLoader>
</xsl:template>
</xsl:stylesheet>
<csvsharedTeamName>Shared Team 2</csvsharedTeamName> 和 <csvcontainerExtendable>true</csvcontainerExtendable> 为可选项。仅当要在加载数据中包含共享团队时才需要包含这些内容。
|
尽管此示例中未必出现,也应开发测试并验证数据用的 XML 代码。例如,若确实需要空值,可能需替代默认值。
|
3. 使用上述 XML 代码后,即会产生可用于加载的文件。产品容器属某一组织所有,因此,调用加载实用程序时,应指定合适的组织。
针对产品容器运行加载实用程序时,必须指定用户。此用户必须是指定组织的“产品创建者”。此外,他们还应是管理员组的成员。这通常需要手动进行设定。
|
不要使用默认的管理员帐户来创建产品容器或将默认管理员帐户作为此容器的团队成员进行添加。有关详细信息,请参阅 事前准备。
|
一个加载文件中可有多个产品容器。
以下是一个命令的示例:
windchill wt.load.LoadFromFile -d product_container.xml -u productcreator
-p productcreator -CONT_PATH \"/wt.inf.container.OrgContainer=My Organization\"
|
在 UNIX 系统中调用 wt.load.LoadFromFile 时,容器名称中有空格,且容器旁有引号。此外,请确保用反斜杠转义引号。
|
|
要指定备用的默认值,请从 Windchill 的“站点”上下文中调整产品 (成品) 的初始化规则。
|
示例
以下是一个批处理文件的示例:
echo *************************************************
echo ** Variable Setup
echo *************************************************
set tmp_org="/wt.inf.container.OrgContainer=My Organization"
echo *************************************************
echo ** Legacy Products Containers
echo *************************************************
windchill wt.load.LoadFromFile -d product_container.xml -u
productcreator -p productcreator -CONT_PATH \%tmp_org%
创建装配
有些产品要使用与其他产品通用的部件或独立存在于其他存储库中的部件,要创建这些产品,需要创建装配。
<csvAssemblyAddLoad> 标记只能与现有部件一起使用。这就是说,它只能用于使用现有部件创建装配。<csvAssemblyAddLoad> 标记不能用于创建全新的部件。
为此,必须先使用以下文件:
<csvBeginWTPart handler="wt.part.LoadPart.beginCreateWTPart">?
创建部件,然后再添加构成部件。
在标记说明的后面,您可找到两种方法的示例。
标记说明
<csvAssemblyAddLoad> 标记具有以下标记:
• assemblyPartNumber - 装配的部件编号。必须输入值。
• constituentPartNumber - 构成部件的部件编号。必须输入值。
• constituentPartQty - 部件的数量。必须输入值。
• constituentPartUnit - 部件单位,例如 ea。必须输入值。
• assemblyPartVersion - 部件版本。如未指定值,则使用最新版本。
• assemblyPartIteration - 部件小版本。如未指定值,则使用最新小版本。
• assemblyPartView - 装配部件的部件结构视图名称,例如“设计”或“制造”。如果当前使用部件结构视图,应指定一个视图用来标识装配部件的视图版本。如果当前未使用部件结果视图,则将该属性留空。
• OrganizationName - 指定装配部件所属的组织的名称。这是该部件所属的组织的名称,而不是组织容器的名称。如果当前未使用组织所有者 (如果在重命名某个部件时无法选取所属组织),则将该属性留空。
• organizationID - 另一种用于指定装配部件所属的组织的方法。如果当前未使用组织所有者 (如果在重命名某个部件时无法选取所属组织),则将该属性留空。如果指定该属性,则使用以下格式:
<编码系统>$<组织 ID>
美元符号 ($) 充当分隔符。编码系统为下列系统之一:
◦ 0141 或 CAGE
◦ 0060 或 DUNS
◦ 0026 或ISO65233
组织 ID 是在“参与者管理器”或 WTOrg 信息页面中指定的组织 ID。
例如,CAGE$1234 用于标识使用 CAGE 代码编码系统且其 CAGE 代码为 1234 的组织。
|
您应该指定 organizationName 或 organizationID,但无需同时指定这两者。如果选择指定这两者,则它们必须指代同一个组织。
|
• componentID – 与使用关系链接关联的 ID。对于每个父部件-子部件主数据对,该 ID 是唯一的。也就是说,具有父部件的每个使用关系链接具有不同的 ID。
• inclusionOption (适用于可配置部件) – 指定结构中是否包含链接 (子部件)。如果设置为“真”,则包括链接。如果设置为“假”,则不包括链接。
• quantityOption - 与 InclusionOption 配合使用,用于控制变型中子项部件的数量。如果数量为固定值 (例如 5),则会对变型中的子项设置该量。如果数量为参数,则该参数的值用于设置变型中子项的数量。如果该数量设置为 0 或更少,则不包括子部件。
• 参考 ID - 指示您在引用子项可配置部件或其任何子代中的参数时,需要赋予给该子项的别名。例如,如果父部件具有参数 A,子部件具有参数 B,并且部件间的使用关系链接具有参考 DOOR,则可按下面的方式建立参数间的对等关系:A == DOOR.B。