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

Community Tip - Your Friends List is a way to easily have access to the community members that you interact with the most! X

Dynamically build a url link to a CAD object and the thumbnail representation in Windchill

MichaelSchumach
7-Bedrock

Dynamically build a url link to a CAD object and the thumbnail representation in Windchill

I trying to discover what ways I can dynamically build a URL path to an object in the windchill database. We have external applications that I would like to be able to display the generated thumbnail representation that is stored in Windchill.

Doing some research, it appears the table FVITEM stores

  • the filename on the disk in the vault
  • vault folder name

It appears the table APPLICATIONDATA stores

  • Role (thumbnail and thumbnail3d, etc)
  • format (1031 which seems to mean JPG. I'm not sure what format 1046 or 1061 mean. I have not been able to find a list either)

It appears the table EPMDOCUMENT stores

  • the name and number

I'm not sure how to relate (join) them all together yet. It looks like the pieces to be able to find the physical file, where it is stored is available so I could build a link to allow a user to view a thumbnail of the CAD Document.

My quesitons are:

  • Has any one else done something like this where you provided a link to the windchill data without forcing a user to use Windchill UI?
  • Are there better approaches than directly selecting information from the Oracle tables?
  • Any suggestions or links to documentation and examples would all be useful.

Thanks

Mike

5 REPLIES 5

You're pretty close to getting what you need. There is a little trick though. The FVITEM table does not store the filename in the vault. There is a UNIQUESEQUENCENUMBER column that you need to use to derive the file name. What you do is take the sequence number, convert it to hexidecimal, and then prefill it with 0's until it is 14 characters long. DISCLAIMER: I didn't figure this all out on my own. There was a great DB links user presentation at PTC Global a few years ago that devulged this information. If I can find the presentation, I'll give credit to the presenter.

Ex:

UNIQUESEQUENCENNUMBER = 47772

Converted to hex: BA9C

Prefilled with 0's: 0000000000BA9C

So, you would look in the vault for the file: 0000000000BA9C

I made an app that I use to go from the vault file to the Windchill object, and the query looks like this:

SELECT h.*

FROM HolderToContent h, ApplicationData a, FvItem f

WHERE (f.uniqueSequenceNumber = 47772)

AND (f.idA2A2 = a.IDA3A5)

AND (a.idA2A2 = h.idA3B5)

I take the vault file name as input and convert it to decimal which then goes in the WHERE clause (f.uniqueSequenceNumber = <decimalValuefromHex>)

That should give you a pretty good start. We don't allows users to access files without using the UI, but I do understand your requirement You could also use the Windchill APIs to traverse all the objects/links.

Hope this helps.

~Jamie

jmomber
9-Granite
(To:jmomber)

David Graham was the presenter.

GaryMansell
6-Contributor
(To:jmomber)

Is the presentation available anywhere - sounds useful?

I've been trying to find it, however I'm not sure that he actually had any slides. He was mostly just writing queries and showing related objects in the Windchill UI.

Jamie,

Thanks for the reply and information. I will run some tests on our data and see if I can pull this together. Having the presenter name, David Graham, will be useful.

-Mike

Top Tags