Hello,
I'm trying to figure out how to properly connect and set up the information flow between Vuforia, thingworx, and Windchill.
My company works with windchill PLM. Here, as you know, we store relevant information about products and projects.
I intend to structure an AR experience in which the user could click on any component/part of the represented 3D entity (starting from an imported pvz, of course) and retrieve updated information from windchill database (ranging from documentation to useful files).
do you have any advice or updated guide addressing this workflow?
Many thanks
Solved! Go to Solution.
This is one way:
I expect you to have the partnumber from point 2 above
Create a service in you windchill connector mapped to ProdMgmt/Parts/getPart
In $filter add your search criteria in this way:
Number eq '1231414'
This will give you the partinformation including the OID from Windchill, other services will give you related documents etc .
Or you can call the api direct but then you need to manage the authentication in another way.
/Windchill/servlet/odata/v4/ProdMgmt/Parts?%24filter=Number%20%20eq%20'0000000027'&%24count=false
Response:
{ "@odata.context": "http://......../Windchill/servlet/odata/v4/ProdMgmt/$metadata#Parts", "value": [ { "CreatedOn": "2018-12-06T12:47:33Z", "ID": "OR:wt.part.WTPart:758770", "LastModified": "2019-02-14T14:51:27Z", "AlternateNumber": null, "AssemblyMode": { "Value": "component", "Display": "Component" }, "BOMType": null, "CabinetName": "Default", "ChangeStatus": null, "CheckOutStatus": "", "CheckoutState": "Checked in", "Comments": "Assigned to operations in new build of process", "ConfigurableModule": { "Value": "standard", "Display": "No" }, "CreatedBy": "Jonas Ljungsten", "DefaultTraceCode": { "Value": "0", "Display": "Untraced" }, "DefaultUnit": { "Value": "ea", "Display": "each" }, "EndItem": false, "FolderLocation": "/Drone/Parts", "FolderName": "Parts", "GatheringPart": false, "GeneralStatus": null, "Identity": "Part - 0000000027, Frame_Battery, A.2 (Design)", "Latest": true, "LifeCycleTemplateName": "Basic", "ModifiedBy": "Dan Li", "Name": "Frame_Battery", "Number": "0000000027", "ObjectType": "Part", "OrganizationReference": "{\"type\":\"text\"}", "PhantomManufacturingPart": false, "Revision": "A", "ShareStatus": null, "Source": { "Value": "make", "Display": "Make" }, "State": { "Value": "INWORK", "Display": "In Work" }, "Supersedes": null, "TypeIcon": { "Path": "http://............./Windchill/wtcore/images/part.gif", "Tooltip": "Part" }, "Version": "A.2 (Design)", "VersionID": "VR:wt.part.WTPart:305207", "View": "Design" } ] }
Full documentation of Windchill's RestApi can be found here: http://............./Windchill/netmarkets/html/wrs/doc.html
I would approach it in this way.
Per
please can you give me details about point #1?
Thingworx WindchillSwaggerConnector gives you access to the restapi of Windchill.
You may need to patch the windchill system to enable this, depends on the windchill version.
This is used for Thingworx navigate, I would start with https://support.ptc.com/help/thingworx/navigate/r9.2/en/#page/ThingWorx_Navigate%2FInstall_License_a... to understand how to setup the connector.
(You need to have a license Navigate/Connected PLM/etc to do this)
ok we already have configured twx navigate, so i suppose we also have properly set up the swagger connector.
now my question is: how to perform the point n.3? how to query windchill infos?
many thanks
This is one way:
I expect you to have the partnumber from point 2 above
Create a service in you windchill connector mapped to ProdMgmt/Parts/getPart
In $filter add your search criteria in this way:
Number eq '1231414'
This will give you the partinformation including the OID from Windchill, other services will give you related documents etc .
Or you can call the api direct but then you need to manage the authentication in another way.
/Windchill/servlet/odata/v4/ProdMgmt/Parts?%24filter=Number%20%20eq%20'0000000027'&%24count=false
Response:
{ "@odata.context": "http://......../Windchill/servlet/odata/v4/ProdMgmt/$metadata#Parts", "value": [ { "CreatedOn": "2018-12-06T12:47:33Z", "ID": "OR:wt.part.WTPart:758770", "LastModified": "2019-02-14T14:51:27Z", "AlternateNumber": null, "AssemblyMode": { "Value": "component", "Display": "Component" }, "BOMType": null, "CabinetName": "Default", "ChangeStatus": null, "CheckOutStatus": "", "CheckoutState": "Checked in", "Comments": "Assigned to operations in new build of process", "ConfigurableModule": { "Value": "standard", "Display": "No" }, "CreatedBy": "Jonas Ljungsten", "DefaultTraceCode": { "Value": "0", "Display": "Untraced" }, "DefaultUnit": { "Value": "ea", "Display": "each" }, "EndItem": false, "FolderLocation": "/Drone/Parts", "FolderName": "Parts", "GatheringPart": false, "GeneralStatus": null, "Identity": "Part - 0000000027, Frame_Battery, A.2 (Design)", "Latest": true, "LifeCycleTemplateName": "Basic", "ModifiedBy": "Dan Li", "Name": "Frame_Battery", "Number": "0000000027", "ObjectType": "Part", "OrganizationReference": "{\"type\":\"text\"}", "PhantomManufacturingPart": false, "Revision": "A", "ShareStatus": null, "Source": { "Value": "make", "Display": "Make" }, "State": { "Value": "INWORK", "Display": "In Work" }, "Supersedes": null, "TypeIcon": { "Path": "http://............./Windchill/wtcore/images/part.gif", "Tooltip": "Part" }, "Version": "A.2 (Design)", "VersionID": "VR:wt.part.WTPart:305207", "View": "Design" } ] }
Full documentation of Windchill's RestApi can be found here: http://............./Windchill/netmarkets/html/wrs/doc.html
Many thanks. It would be very useful to have full documentation showing this entire process (step by step guide) from vuforia to windchill through thingworx... anyway we'll work on it.