Includes: Windchill API, Windchill REST Services, Info*Engine, UI Customization
Recently active
Version: Windchill 13.0 Use Case: For a change status monitoring system based on SQL reports against the oracle source tables, we want to accommodate a specific department's practice of tracking in-progress efforts by saving and updating comments on open tasks.Description: As https://www.ptc.com/en/support/article/CS153902 makes clear, WFVOTINGEVENTAUDIT stores user comments for completed workitems, but it is not populated before they're complete. However, users can enter comments on a task and save it without completing it, and there is no alternate source mentioned in this article for comments on running tasks. I have a complete change task tracking setup already built, and pulling comments on completed tasks is no problem. I just can't figure out where the comments are if they're saved on a task with no entry in the voting event audit table. My efforts to trace known comment strings in the source tables have come up empty, but our database has some grant i
Version: Windchill 12.1 Use Case: I would like to list all items of a selected folder, then to extract all documents related to the selected itemDescription: I've found several solutions using Odata, but I don't succeed to rerpoduce the same requests. And I would prefer to use REST queries to get result formated in json. Does the REST API can give access to all data that are accessible from the user web interface ?Thanks for any help.Fred Context: Although the product version is 12.1.2.0, the REST Services version is 2.3.
Version: Windchill 12.1 Use Case: I need to traverse the folder structure in a Windchill Library via the REST API'sDescription: I see there are a few relevant API's. "/v6/DataAdmin/Containers('"+containerId+"')/Folders" provides us with a way to get the root folder, which I believe is pretty much always "/Default", but how do I get the list of folders in that folder, to recursively traverse the folder structure?I see there is "/v6/DataAdmin/Containers('"+containerId+"')/Folders('"+folderId+"')" but that only gives me the information about the folder I already have the ID for and does not tell me what subfolders exist in that folder.
Version: Windchill 12.1 Use Case: I use this URL to get Info on the Reporesenation attached to the wtPart and the attached CAD Docs: https:///Windchill/servlet/odata/v7/ProdMgmt/Parts('<wtpart_id')?%24select=Name%2CNumber&%24expand=PartDocAssociations(%24expand%3DRelatedCADDoc(%24select%3DNumber%2CName%2CCategory%3B%24expand%3DRepresentations))%2CRepresentations.Description: I use this URL to get Info on the Reporesenation attached to the wtPart and the attached CAD Docs: https://<Windchill URL>/Windchill/servlet/odata/v7/ProdMgmt/Parts('<wtpart_id')?%24select=Name%2CNumber&%24expand=PartDocAssociations(%24expand%3DRelatedCADDoc(%24select%3DNumber%2CName%2CCategory%3B%24expand%3DRepresentations))%2CRepresentations. What I am missing is the Information from the Details column in the Representationn/Annotations table on the Part Information Page. (see attached picture) Is there a other Rest Service API to get the information (Positioning Assembly / EPM only
Version: Windchill 13.0 Use Case: I have several global attributes contained under object types which have been linked to reusable attributes. However, the basis for selecting which reusable attribute should be linked to the attributes of the object has been solely down to the data type of the reusable attribute and if it aligns with the data type of the attribute I want to associate with my object type.Description: Is this bad practice and should I have more control of my understanding of where I have used my reusable attributes? For example, I could have three reusable attributes called "Material", "Manufacturing Process" and "Product Type" which are linked to the global attributes called "Material", "Manufacturing Process" and "Product Type" in an object type called "Object A". These reusable attributes could be contained in an attribute organizer folder called "Object A Attributes" to make it clear where they are used and to which attributes they are associated to. What are th
Version: Windchill 12.0 Use Case: for example if i select type as A then it should be take lifecycle template as PART A lifecycle. similarly for B it should take lifecycle template as PART B lifecycle.Description: How to define lifecycle template based on type. while creating new part.
Version: Windchill 12.0 Use Case: Using a listener via API in order to update attributes at check-in of the corresponding WTPart / WTPartUsagelink.Description: Updating values of the attributes works perfectly, but after check-in using the browser UI, the new attribute values are not displayed on screen. The UI is not refreshed. Is there a command/hook or something that makes the web ui refresh?If the user manually refreshes (hits F5), then the new values are displayed...I tried those functions, but either wasn't competent enough or they are not made for this use case...: // refresh for changes that might have been made to the object working_part = (WTPart) PersistenceHelper.manager.refresh(working_part, true, true); WorkInProgressHelper.service.refreshObject(working_part); PersistenceServerHelper.manager.update(working_part); PersistenceServerHelper.update(working_part); wt.fc.PersistenceHelper.manager.save(working_part); // this all does not help... Anybody have an i
Version: Windchill 12.0 Use Case: assume for example if am creating new part and type should be A. i need to select lifecycletemplate based on type. it should show the lifecycle template drop down like A,B, C etc.Description: assume for example if am creating new part and type should be A. i need to select lifecycletemplate based on type. it should show the lifecycle template drop down like A,B, C etc
I am using Windchill PDMLink Release 13.1 and Datecode with CPS 13.1.0.1Is it possible to show different list of values for selection for an attribute based on a value of attribute on the context. For example : In context , A attribute called 'Confidential' with Enum of 3 values "Yes, No, Partial'. In Part, I have an attribute called 'Preferred delivery' with Enum value - Electronic, Notification, Paper, Package.When I create a part, if Confidential=Yes on context, then the list of values for 'Preferred delivery' should only be 'Electronic', 'Notification'. If confidential=No, then then the list of values for Preferred Delivery' should only be 'Notification', 'Paper'. If Confidential=Partial, then the list of values for 'Preferred delivery' should be all enum values.Is this possible to achieve?
Version: Windchill 13.0 Use Case: I want to be able to only allow a transition from state A to state B in my life cycle if the object using the life cycle has not been set to "Released" before.Description: Has anybody got thoughts on the best way to approach this? I was thinking about introducing some custom JavaScript on the server to identify an attribute that would allow the code to detect if the object had previously been released before either permitting the transition or throwing an exception. Or, introducing code into the workflow.
Remove action on table header is pointing to our custom class, similarly i want the remove action on right-click of a row also to point to the same class.
I just thought I would drop a note here, since I was not able to find anything useful myself when looking for a solution around this: "I have a group with duplicates how do I remove them, it is adversely effecting a join?"I have come up with this solution that seems to be straightforward, use it if you like it.EXAMPLE: <?xml version="1.0" standalone="yes"?><%@page language="java" access="http"%><%@taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie"%> <ie:webject name="Create-Group" type="GRP" > <ie:param name="DELIMITER" data="," /> <ie:param name="ELEMENT" data="obid=A,color=red" /> <ie:param name="ELEMENT" data="obid=A,color=red" /> <ie:param name="ELEMENT" data="obid=A,color=red" /> <ie:param name="ELEMENT" data="obid=B,color=blue" /> <ie:param name="ELEMENT" data="obid=B,color=blue"
Version: Windchill 13.0 Use Case: It is possible to assign a change task in Windchill to a user group. This will result in the change task being displayed on the home page of each of the users in the group when it is time for the change task to be actioned. If at this stage a user is removed from the user group that the change task was assigned to, it seems that the change task still remains available in the "My Tasks" table on the homepage of the user who was removed from the group.Description: I would like Windchill to prevent users from being able to complete a workflow task if they are no longer a member of the group that the workflow task was originally assigned to. Does anybody know if this is possible?
The PTC Help Center recommends overriding the getSpecialTableColumnsAttrDefinition() method to include new attributes.However, when I click "Customize" in the table view, all attributes for the selected object type already appear under "Set Column Display."Is there a specific reason or scenario where overriding getSpecialTableColumnsAttrDefinition() is needed?
Version: Windchill 12.1 Use Case: Developing custom Windchill Java services to listen lifecycle state changes (RELEASED) and execute background logic; need guidance on required JAR dependencies and proper service architecture.Description: Hello everyone,I’m trying to develop on PTC Windchill using Javadoc-based APIs, but I’m facing some difficulties and would really appreciate guidance from experienced Windchill developers.1) Required JARs for IntelliJ IDEAI’m using IntelliJ IDEA for development, but I’m not sure which JAR files I actually need to add to my project.When I try to add all Windchill JARs, I get dependency conflicts.When I fix one library error, another one appears.I believe the real issue is that I don’t know the correct JAR hierarchy / minimal required set for Windchill development.My background is .NET Core, not Java, so I don’t have strong knowledge about Java classpaths, dependency resolution, or how Windchill structures its libraries. Because of this, I’m curren
I am using Windchill PDMLink Release 12.1 and Datecode with CPS 12.1.2.1Info Engine custom tag directives not working as expected https://www.ptc.com/cs/help/windchill_hc/wc102_hc/index.jspx?id=IEUG_CustomTagDirectives&action=show I have modified access = internal on respective task file as well as directory delegate.info level. Still, we are able to access the task file through http (i.e. info engine task runner from client browser)
Hi Team, I am trying to checkout Part using below taks I have created <%@page language="java"%> <%@taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie"%> <ie:webject name="Get-Properties" type="MGT"> <ie:param name="ATTRIBUTE" data="wt.federation.ie.VMName"/> <ie:param name="GROUP_OUT" data="properties"/> </ie:webject> <ie:webject name="Query-Objects" type="OBJ"> <ie:param name="INSTANCE" data="$(properties[0]wt.federation.ie.VMName[0])" /> <ie:param name="ATTRIBUTE" data="name"/> <ie:param name="ATTRIBUTE" data="number"/> <ie:param name="GROUP_OUT" data="parts"/> <ie:param name="TYPE" data="$(@FORM[]typeOfObj1[])"/> <ie:param name="WHERE" data="number='$(@FORM[]number1[])'"/> </ie:webject> <ie:webject name="Query-Objects" type="OBJ"> <ie:param name="INSTANCE" data="$(properties[0]wt.federation.ie.VMName[0])" /> <ie:param name="ATTRIBUTE" data="name"/&
Version: Windchill 13.0 Use Case: In our customization, we use the SaveAsHelper class to duplicate some WTPart (and structure) and would like to "tag" the function used by setting a comment on the new WTPart, for example: "created by Copy Machine". Then it would be easier to track whether the SaveAs menu of Windchill was used or if the customization was used.Description: I cannot find a mean to set this comment/note on an pass it the the SaveAs function. I have tried setting "iterationInfo.note" as attribute in the SaveAsObjectInfo, but without success (nor error message). final HashMap<RevisionControlled, AbstractSaveAsObjectInfo> saveAsObjects = new HashMap<>(); for (WTPart wtPart : partsToCopy) { final AutoNumberingHelper helper = new AutoNumberingHelper(containerRef); final String newPartNumber = helper.getNumber(wtPart.getTypeDefinitionReference()); final Map<String, String> ibas = new HashMap<>(); // checkin Comment I try to set, but t
I am using Windchill PDMLink Release 11.0 and Datecode with CPS M010Windchill 9.0 에서 Windchill 11.0으로 업그레이드 이후 발생다른 시스템에서 Windchill을 원격 접속해서 사용 하고 있음RemothdMehtodServer.getInstance(url)wt.propertieswt.auth.handlers=wt.auth.NullAuthentication wt.httpgw.HTTPAuthenticationWindchill 11 Upgrad 이후 타 시스템 최초 원격 호출 시 인증창이 뜨고, 최초 한번 인증을 해줘야 함인증없이 바로 사용가능한 방법 문의 드립니다.
Version: Windchill 12.0 Use Case: Custom Windchill Report download simply the template but no data insideDescription: I am trying to modify a custom report. However the Custom Windchill Report downloads simply the template but no data inside on my local Windchill ( hosted on VMWare). Tried adding Sys out statement and getting data on method server logs but still nothing inside the download files. Tried Exporting Importable spreadsheet report and it has data. So probably an issue with custom one but not able to catch it. Any clues folks
Version: Windchill 12.1 Use Case: Comparing values between an WTpart attribute and a WTpartUsageLink attribute, in a BuisnessAlgorithm - to use on a calculated value on WTpartUsageLink.Description: Following this procedure: Procedure – Using a BusinessAlgorithm in a Calculated Attribute togehter with this knowledge base: New java algorithm for calculated attributes (BusinessAlgorithm) starting Windchill 11.0 We have a calculated value on a WTpartUsageLink. This should compare an attribute from the WTpartUsageLink and the WTpart that it is linked to. The attribute from the WTpartUsageLink can be passed as a variable in the execute statement, but I have a hard time referencing the attribute from the WTpart. Sample code or a pointer for referencing an attribute in this use case would be very helpfull.
Hello,I am using Windchill PDMLink Release 12.0 and Datecode with CPS 12.0.2.17I want to add an alias attribute on the WTPartUsageLink to retrieve the value of a component attribute on a structure.So I created an attribute on the WTPartUsageLink type with the mapping "uses@wt.part.WTPartMaster~masterReference^<Internal name of part type>~<Internal name of attribute>"It works fine and I can see it in the structure, see the attachment.But there's a problem because when there are several iterations of a component, there are several PartUsageLinks and the alias retrieves the same values several times, see the attachment.Do you have a solution for this and what alias should be used?Otherwise, the primary objective is to bring up the value of a component attribute to fill an attribute on the top-level part.For example, if the value of an attribute is set to yes, the top-level part must have an attribute that is also set to yes.(even if there are several yes if several components
Version: Windchill 12.1 Use Case: Matching WTPart and EPMDocument numbers when using Save AsDescription: Hi all, We currently have WTPart and EPMDocument subtypes which receive auto generated numbers, snips of the OIRs below...WTPart: <!-- Set the number to M01234567 format --> <AttrValue id="number" algorithm="com.ptc.windchill.enterprise.revisionControlled.server.impl.NumberGenerator"> <Arg>M</Arg> <Arg>{GEN:wt.enterprise.SequenceGenerator:BOM_GROUP_seq:7:0}</Arg> </AttrValue> <AttrConstraint id="number" algorithm="com.ptc.core.rule.server.impl.GatherAttributeConstraints"> <Value algorithm="com.ptc.core.rule.server.impl.GetServerAssignedConstraint"/> <!-- Get the server to generate a number --> <Value algorithm="com.ptc.core.rule.server.impl.GetHiddenConstraint"/> <!-- Hide from the user (have to leave it modifiable so that auto associate works correctly) --> </AttrConstraint> 
Version: Windchill 13.0 Use Case: I have the following requirements relating to how a custom workflow I have implemented treats objects as they are moved from state 1 to state 2. 1. The part number should be given a prefix which communicates the date and time its state was changed. 2. A check is made to ensure the part has not historically been at a state of "Released" before allowing the transition to complete.Description: Has anybody got a suggestion on how I can implement these aspects into my workflow?
Hello Team,We are currently evaluating the feasibility of integrating with Windchill using REST APIs (Windchill REST Services – WRS) and would appreciate guidance from the community on the following points:Recommended Windchill Version / WRS API SetSince REST APIs vary across Windchill versions, which Windchill version and corresponding WRS API set is generally recommended for initial API testing and validation?Windchill Cloud AvailabilityIs Windchill Cloud / Windchill+ available for customers?If yes, are there any known differences in REST API behavior or availability compared to On-Premise deployments?REST API AuthenticationWhat is the recommended authentication mechanism for Windchill REST APIs?OAuth 2.0Bearer tokenAny other supported methodAlso, does the authentication approach differ between Cloud and On-Premise environments?Swagger / Open API DocumentationIs there any official Swagger or Open API specification available that lists all Windchill REST APIs?If available, where can i
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.