I have a workflow for a WTReferenceDocument soft type object. I also have custom attributes for the object. Once the workflow has started, I would at some point like to route the workflow based on the value of the attribute. How would I write the Routing expression in the conditional connector. Case in point, the possible values for the attribute are "Tim, Tom, Barry or Steve", The name of the attribute "Judge" and the object is a soft type of the WTReferenceDocument called. Summons.
Workflow routing based on an attribute.
Windchill Cache Recovery Tool - Version 2.05 (WC_FileRecovery) - 64 bit version
This tool has been available on the PTC/USER forum for some time but the installation package didn't make it during the migration of data to the PTC Community.
The discussion from the PTC/USER forum was included in the migration and can be found here: Windchill Cache Recovery Tool.
Ron Thellen
Windchill Cache Recovery Tool
Many Windchill users out there are painfully aware of local workspace cache corruptions. Those who have experienced this problem know that you can contact PTC and they will provide a list containing the names of the local cache files and their equivalent Pro/E file names. You then have to manually rename all of the files using the provided list. Having dealt with this in the past and based on information obtained from logged calls to PTC (and as others have mentioned here) I learned that the Pro/E file name can be found in the cache file, usually (but not always) in the file header. After dealing with workspace cache corruptions many times I decided to see if I could automate this process.
Earlier this year, while between jobs, I began to develop what I am calling WC_FileRecovery. It is a Windows application that will open cache files, attempt to determine the original Pro/ENGINEER file name and, if found, rename the cache file to that name. This effort has been done completely on my own time and is not associated with either my previous or my current employer. At this point in time I feel it is working quite well and would like to make it available to others.
In the Public Files area you will find two zipped files, one for 32 bit and one for 64 bit installations. Each zipped file contains three files: a setup.exe and related .msi file as well as a PDF user guide. Please read the user guide carefully to understand three very important things:
1. Use this program at your own risk! If you aren't willing to take that risk, do not use the program. See the user guide for more information.
2. Do not try to recover files in the original cache. Copy the cache contents to another folder and recover the files in that folder. This will leave your original cache intact if problems should arise.
3. The development of this program is being done on my own time. I am not in the business of developing applications and my current employer expects me to do the work they are paying me to do. As such, I welcome discussion of the program on the exploder. However, I make no promise of correcting any issues that may surface as others begin to use the program. This program comes with no warranty, expressed or implied (see item 1, above).
The installation of this program requires Microsoft .NET 2.0 Framework and the installer will query your system to determine if it is already installed. If not, you will be given an option to download and install the required version of .NET from Microsoft.
Finally, this program was developed using a Windchill 8.0 cache with Wildfire 3 and has not been tested with any other versions. Using this program with other versions of Windchill or Pro/ENGINEER is not supported and results are unknown at this time.
I hope this program is useful to others.
Ron Thellen
What is the best way to call a custom java class methods present in windchill codebase from outside Windchill Application
Hi,
Can anyone please let me know what are the different ways to call a custom javaclass methods outside windchill application.
Thanks in advance.
Regards,
Archana.
PTC Windchill Visualization Services (WVS) and Windchill Queues
Introduction
Are you new to Windchill Visualization? Would you like WVS Jobs to be processed more efficiently or to just have more control over how they are processed? This blog will cover the fundamental concepts behind WVS Job Processing and how WVS utilizes Windchill Processing Queues to achieve this. In addition, I have included links to key Technical Support knowledge base articles for your reference.
The primary TS knowledge article CS149619 - How Windchill Visualization Services uses Windchill Queues for processing WVS Jobs.
WVS Jobs
Since Windchill 10.0 there are three types of WVS Jobs:
- Publish Jobs - Traditional WVS Publishing
- Clash Jobs - Batch Interference Detection
- Print Jobs - Batch Printing
All three WVS Job types are managed and processed using Windchill Processing Queues but WVS utilises these in a unique way.
WVS Queues and Job Processing
At start-up, for Publish Jobs, WVS creates three Prioritized ‘Waiting Queues for High, Medium and Low priority jobs, and a single Numbered ‘Processing’ Queue where the work is actually done. These together are referred to as the default (unnamed) WVS Queue Set. WVS also creates similar Queue Sets for processing Clash and Print Jobs but including the respective queue set names, CLASH and PRINT, i.e.:
Queue Set Name | ‘default’ | CLASH | |
Prioritized ‘Waiting’ Queues | PublisherQueueH PublisherQueueM PublisherQueueL | PublisherQueueCLASHH PublisherQueueCLASHM PublisherQueueCLASHL | PublisherQueuePRINTH PublisherQueuePRINTM PublisherQueuePRINTL |
Numbered ‘Processing’ Queues | PublisherQueue1 | PublisherQueueCLASH1 | PublisherQueuePRINT1 |
An Administrator can optionally then create additional Numbered ‘Processing’ Queues to which WVS will attempt to distribute the entries from the Prioritized ‘Waiting’ Queues equally, thereby spreading the publishing load across multiple queues in parallel. Although, if publishing large numbers of small and quick publish jobs (simple parts), only the lower queue numbers will be loaded (Refer to TS knowledge article CS42096).
WVS processes each logical WVS Job using a combination of two physical Windchill Processing Queue Entries:
- A Prioritized ‘Waiting’ Queue Entry - Target Method queueJob
- A Numbered ‘Processing’ Queue Entry - Target Method doJob
Note: Clash and Print Jobs do not currently support all the capabilities that are supported for Publish Jobs; for example, Clash and Print Jobs cannot be processed in Dedicated Publisher Queue Set or using Dedicated Workers (see below).
WVS Job Queue Entry Processing
The following shows a conceptual diagram of the traditional WVS Publisher Queue mechanism in the context of the overall WVS architecture:
WVS adds queue entries (that execute the queueJob method) for each newly submitted Publish Job to the relevant Prioritized ‘Waiting’ Queue, based on the type of the content to be processed and source of the request. The mapped priorities for the type and source combinations can be configured using property settings in the wvs.properties file (refer to TS knowledge base article CS28472).
Note: Similar settings are available for prioritizing Print and Clash Jobs (refer to the wvs.properties.xconf file alongside wvs.properties).
All Windchill processing queues are FIFO (First in First Out) queues. Queue Entries initially have a READY state when they are created, EXECUTING state when they are being processed and COMPLETED state once processing completed successfully. Since Windchill 10.0, the NONEVENTFAILED state is used when processing completed but unsuccessfully; the Windchill Queue Entry states COMPLETED and NONEVENTFAILED now map to the WVS Job completion states JOB SUCCESSFUL and JOB FAILED respectively. Refer to TS knowledge article CS37569 for details of the different Windchill Queue Entry states and how to manage the related queue entries.
Queue Entries in the WVS Prioritized ‘Waiting’ Queues are processed one-at-a-time, so there should only ever be one EXECUTING entry in each queue and the rest waiting in the READY state. All entries in the High priority queue are processed before those in the Medium and all those in the Medium priority queue before those in the Low. An EXECUTING ‘Waiting’ Queue Entry (queueJob) is simply looking for an idle Numbered ‘Processing’ Queue that has no READY or EXECUTING entries. When it finds one, it creates a new ‘Processing’ Queue Entry (doJob) within it, initially in a READY state. The related ‘Waiting’ Queue Entry is then COMPLETED and is automatically removed by the Windchill Queue Service.
Note: Out-of-the-box, this process is repeated every 5 seconds for all ‘Waiting’ Queues in every defined WVS Queue Set, based on the value of the publish.publishqueuepollinterval property in wvs.properties.
Queue Entries in the WVS Numbered ‘Processing’ Queues are also processed one-at-a-time, so there should only ever be one EXECUTING entry in each queue and the rest already processed in the COMPLETED state. An EXECUTING Queue Entry (that executes the doJob method) will identify and execute the Document Publisher (for WTDocuments) or the respective CAD Publisher (for EPMDocuments) configured using the Authoring Application specific CadConvert properties in wvs.properties, e.g. for Creo Parametric, with an internal Authoring Application of PROE, the publisher class defined by the publish.cadconvert.PROE property is used. It is the Publisher that controls the execution of the publishing process for its respective CAD application data type.
Upon successful completion of publishing, the ‘Processing’ Queue Entry state is set to COMPLETED and depending on the Numbered ‘Processing’ Queue name and the value of the respective wt.queue.removeCompleted.<QueueName> property in wt.properties, will automatically keep or remove it (refer to TS knowledge base article CS32811). After publishing is complete, the Publish Job Details log is added to a BLOB data column in the COMPLETED queue entry, so removing the queue entry also removes the logging. At Windchill 10.0 the new state NONEVENTFAILED was added so that completed unsuccessful Publish Jobs are not automatically deleted by this mechanism.
WVS Dedicated Publisher Queue Sets and Workers Sets
Since Windchill 9.1 M010, WVS has also supported the concept of Dedicated Publisher Queue Sets. The purpose of this capability is to extend the ability to manage and control specific categories of Publish Jobs using a completely separate and dedicated publisher queue set. For example, to separate the publishing of Parts, Assemblies and Drawings, or to separate publishing of different CAD authoring application content, so that all the Numbered ‘Processing’ Queues in each dedicated publisher queue set can be dedicated to optimally loading the CAD workers for the same application. These Dedicated Publisher Queue Sets can also be combined with Dedicated Worker Sets for even greater control over which workers should process Publish Jobs from specific Publisher Queue Sets.
For a detailed example configuration, including sample filter code, refer to TS knowledge article CS132318 - Windchill PDMLink 10.0: An example of how to configure WVS Dedicated Publisher Queues and/or Workers to process Publish Jobs based on custom criteria.
I hope you find the information in my blog post interesting and of use. As always, your comments and feedback are very welcome.
How do you set a Document's Name in an OIR?
I would like to set the Document's name to the value of an attribute plus a suffix. Anybody have an example I can follow?
thx!
How to start 'windchill profiler' on slave machine, in cluster environment?
Windchill is installed on cluster environment & profiler works on BMS but not on Slaves, it gives error on slave 'Unable to connect to Windchill', no prompt for credentials.
PLM and SAP Integration
Hi,
We are looking to integrate Windchill PLM to SAP Integration. Our goal is transfer real time data (BOM, parts) to SAP. We are looking at options on what are the best options here.what are your thoughts on using SOAP based JMS queue concept?
We want to use SAP PI system instead of TIBCO and wanted to see if we need ESI framework in order to do real time integration?
Also what is the best way for error handling mechanism where in scenarios such as if sap pi server is down, can we monitor the failed messages from PTC PLM side and can we resend those message once the SAP PI is up.
Thanks
Raj
Oracle / Windchill File count
Afternoon All,
I'm trying to get a total count of .DRW & .PRT & .ASM files on my system.
We are currently using Windchill 10.1 with Oracle.
My current method is by running these Oracle queries:
SQL> SELECT count(*) FROM EPMDocumentMaster WHERE name like '%.asm';
COUNT(*)
----------
1568
SQL> SELECT count(*) FROM EPMDocumentMaster WHERE name like '%.prt';
COUNT(*)
----------
7055
SQL> SELECT count(*) FROM EPMDocumentMaster WHERE name like '%.drw';
COUNT(*)
----------
200
QL> SELECT COUNT(*) FROM EPMDocumentMaster WHERE authoringapplication='PROE';
COUNT(*)
----------
19487
However I do not think these values are correct??
In Windchill front end If I search for *.DRW I get over 2k results, but it wont display more than 2k so I cant use this as a reliable counter.
How can I double check these results / Is there a better way to be doing this?
Mike
How to get "Synchronize" component in the workflow in the javacode
Windchill and AutoCAD External references
Hello everyone,
I am learning Windchill and I am looking for information on how to attach AutoCAD external references, the referenced file can be another dwg, a tif or a pdf, all of them are in Windchill, including the main file.
NOTE: I know how to do it in AutoCAD when the files are in a shared or local folder, I am looking for a procedure or documentation on how to do it when the files are in Windchill.
I would appreciate any help or link.
Windchill version: 10.1
Thank you,
William Gonzales
How to setup a Remote apache webserver when no access to the Windchill loadpoint
Hi,
I have previously sucessfully setup a Windchill 9.1 Remote Apache server located in a DMZ (for external Internet access) that had no access to the Windchill Server's application loadpoint.
I have just tried replicating this process for our 10.1 Windchill System and have found it does not seem to work in the same way.
All the PTC docs refer to the Remote Apache server being able to see the Windchill Application Loadpoint, but this is not possible for a machine located in a DMZ.
I have configured the remote apache server as per the PTC instructions and have created the dummy windchill directory stub on the apache server in the DMZ with a few of the necessary files that I knew about in 9.1, but this seems not to be adequate for 10.1.
I can get the Windchill Server Status page values returned in a browser, so I am pretty sure Tomcat is working through to the server, but no other pages render - does anyone have any information on how to do this?
Thanks and Regards
Gary
How does Version Series in Lifecycle Administration work?
Specifying Controls to 'Numeric Series' or 'Alpha Series' of WTPart or WTDocument etc., So that Users can Set-State, Read, Download, etc., in those Version series only.
Is this possible by Version Series Tab in Lifecycle Administration and How does this really work?
Windchill vs competition
Hello everyone,
I am wondering if any one of you have benchmarked Windchill against Teamcenter and/or PLM360 from Autodesk.
I know that there are many aspects to consider and what can be good for one company may not be suitable for another one. However, as I have worked with Windchill for over 8 years now, I would like to stay with this software in my new company and therefore try to ensure we select Windchill.
We will soon consider those 3 solutions. So if you have (not too old) information about those software and why Windchill is better this will help my case ;)
So far we have Inventor with Vault
Thanks a lot
Best regards
This is for all DTI users. Does anyone receive messages relating to user buffers?
I feel like we are alone with this issue, and it is quite frustrating.
We rolled out Windchill 10.2 F000 in March of 2014. We have ProjectLink & PDMLink. Our server is offsite, hosted on the cloud.
We have some document templates that have attributes mapped. In some cases, quite a few, ~100.
Our users receive this message frequently when working with these documents and the DTI;
"The supplied user buffer is not valid for the requested operation. dtiCommandComplete"
We have opened a few calls with TS, but this issue is not easy to replicate on a consistent basis. There does not seem to be a pattern we can find.
We suspected our proxy server was causing the traffic to be blocked, but we completely bypass the proxy server for this URL.
We have also upgraded to 10.2 M020, but the issue remains.
We have been living with this issue, but it's getting bad. Our management does not understand why we cannot get this feature to work properly. They state that it was a major selling point, and why would we continue to use this if it doesn't work as advertised.
COPY STRUCTURE WTPART
hello everyone,
i have a question: is it possible to copy all the structure of a wtpart to another with quantities?
copy and paste is working but all the quantities go to 1
thanks!
Java Code to add Windchill IBA Values to WTPart Object
Workflow Activity Routing based on Attribute
Hi, I have to decide my workflow path depending on an attribute type, which is having a list of values, Each value will take a separate workflow after choosing it.
I am tried to execute the below code but some how not succesful.
For Routing Two options succesfully executed, while i am using the values in place of String_value its not working.
Soft Attribute Name = CustomerGroup, Dropdown values are HERO/FORD.
if (primaryBusinessObject != null)
{
try
{
com.ptc.core.lwc.server.PersistableAdapter obj = new com.ptc.core.lwc.server.PersistableAdapter(primaryBusinessObject,null, java.util.Locale.US, new com.ptc.core.meta.common.DisplayOperationIdentifier());
obj.load("CustomerGroup");
java.lang.String string_value = (java.lang.String) obj.get("CustomerGroup");
System.out.println("Soft attibute value : " + string_value);
if ( string_value == "HERO" )
{
result = "Route1";
}
else
if( string_value == "FORD" )
{
result="Route3";
}
else
result="Route2";
}
catch ( Exception e )
{
e.printStackTrace();
}
},
Below code executed succesfully,
Soft Attribute Name = CustomerGroup, Dropdown values are HERO/FORD.
if (primaryBusinessObject != null)
{
try
{
com.ptc.core.lwc.server.PersistableAdapter obj = new com.ptc.core.lwc.server.PersistableAdapter(primaryBusinessObject,null, java.util.Locale.US, new com.ptc.core.meta.common.DisplayOperationIdentifier());
obj.load("CustomerGroup");
java.lang.String string_value = (java.lang.String) obj.get("CustomerGroup");
System.out.println("Soft attibute value : " + string_value);
if ( string_value !=null)
{
result = "Route1";
}
else
result="Route2";
}
catch ( Exception e )
{
e.printStackTrace();
}
}
Thanks in advance.
Email notification when needed
Our business unit director want to be emailed as part of a workflow but only when necessary. Currently there is an email node that sends out an email to multiple users each time a document is created and run thru the workflow....is there a way to add a check box to the task page that when checked he would get an email, if not checked he would not get one? Any other ideas on how to achieve this would be greatly appreciated.
PLM and ERP
Are your PLM and ERP systems aligned and synchronized ?
Are your Design and Manufacturing people using the most up-to-date data when they make decisions ?