cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Stay updated on what is happening on the PTC Community by subscribing to PTC Community Announcements. X

Vuforia, thingworx, and Windchill workflow integration

GianVal
15-Moonstone

Vuforia, thingworx, and Windchill workflow integration

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

1 ACCEPTED SOLUTION

Accepted Solutions
pandersson
13-Aquamarine
(To:GianVal)

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

View solution in original post

6 REPLIES 6
pandersson
13-Aquamarine
(To:GianVal)

I would approach it in this way.

  1. Setup you windchill connector
  2. use the method described here to expose data from the pvz-file http://support.ptc.com/help/vuforia/studio/en/#page/Studio_Help_Center%2Fcad_metadata_api.html
  3. use number (OID doesn't get thru in Illustrations) from step 2 as a key for the Windchill queries to get the Windchill info 

Per

GianVal
15-Moonstone
(To:pandersson)

please can you give me details about point #1?

pandersson
13-Aquamarine
(To:GianVal)

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)

GianVal
15-Moonstone
(To:pandersson)

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

pandersson
13-Aquamarine
(To:GianVal)

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

GianVal
15-Moonstone
(To:pandersson)

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.

Top Tags