You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PTC Windchill WRS API创建WTPart时无法添加自定义属性CAT_CODE

解决WRS API为WTPart自定义属性赋值的问题

问题原因

Windchill的OData API(WRS)不支持直接使用自定义属性的原始名称(如CAT_CODE)进行赋值,必须通过指定的扩展属性格式提交。

可行解决方法

方法1:使用CustomAttributes数组提交(推荐)

修改POST请求的JSON数据,将单独的CAT_CODE字段替换为CustomAttributes数组,格式如下:

{
    "DefaultUnit":{},
    "EndItem": false,
    "GatheringPart": false,
    "DefaultTraceCode":{},
    "PhantomManufacturingPart": false,
    "ConfigurableModule":{},
    "Name":"pyapitest",
    "Source":{},
    "AssemblyMode":{},
    "Uses@odata.bind":[],
    "DescribedBy@odata.bind":[],
    "References@odata.bind":[],
    "PartDocAssociations@odata.bind":[],
    "Context@odata.bind":"Containers('OR:wt.pdmlink.PDMLinkProduct:109352')",
    "Folder@odata.bind":"Containers('OR:wt.folder.SubFolder:155247')",
    "CustomAttributes": [
        {
            "AttributeName": "CAT_CODE",
            "AttributeValue": "52"
        }
    ]
}

注意:

  • 把原来的False改为JSON标准的小写false
  • 移除原JSON中末尾多余的逗号(如原"CAT_CODE": "52",的逗号)

方法2:使用完整命名空间的属性字段

先通过GET请求获取一个已包含CAT_CODE属性的WTPart,查看返回JSON中该属性的实际键名(格式通常为{命名空间别名}#{属性名},比如ns0#CAT_CODE),然后在POST数据中使用这个键名赋值:

{
    // 其他字段...
    "ns0#CAT_CODE": "52"
}

这种方式需要先确认属性的命名空间别名,适合需要直接映射单个属性的场景。

额外检查点

  • 确保自定义属性CAT_CODE确实已正确绑定到WTPart对象类型
  • 确认请求的Content-Type为application/json

内容的提问来源于stack exchange,提问作者tmorgan497

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 22:45:37