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_and_Configure_ThingWorx_Navigate.html%23 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.
hey @GianVal if you have already done this task would you please give me your feedback from you valuable time about the connectivity.
In my company we are using windchill and we have pvz(ilu) files in the windchill which we use in our experience but we upload them manually in the vuforia studio for each experience. now i want to get these files dynamically from windchill and assign it to model in vuforia studio because as customer wants to see the animation for each model and i want to get these files dynamically. I have been working with thingworx (not thingworx navigate) and vuforia studio since one year. If you have done this connectivity would you pleae write about it. i have read some documentation and they are not that clear.
Thank you 🙂