Managing Windchill Attributes
Syndeia makes it possible for system engineers working with SysML to get, compare, sync, and populate attributes on Windchill parts to/from the SysML model. The following sections present details of the new capabilities.
Get attributes of Windchill parts to the SysML model
In the Syndeia Dashboard, when you drag a Windchill part version (or part master) to a SysML package to generate SysML block structure from Windchill part structure, Syndeia brings up the Select Part Attributes window. Select the specific attributes you need and click OK.
This will generate a SysML blocks structure from the Windchill part structure. The part attributes will be generated as value properties on the SysML blocks. The values of Windchill part attributes will be set as default values of the SysML block value properties. The units on Windchill part attributes are also brought over where applicable. The values and units are brought together as a String in the SysML model. This is primarily because Windchill ‘s web services provides those values as a string with a value and unit together.
Syndeia applies the WC_Part_Attribute stereotype (from the Syndeia Profile) to every value property generated for Windchill part attributes, and sets the _windchill_name tag from the stereotype to the internal name of the Windchill part attribute.
Users can change the name of the block value properties once they are generated from the Windchill part attributes. The internal name set on the value property will make it possible for Syndeia to correlate them with Windchill part attributes during compare/sync operations. This approach also makes it possible for users to add new value properties to the SysML blocks connected to Windchill parts. If the _windchill_name tag is not populated on these value properties, then they will be ignored during compare/sync operations.
Create parts in Windchill with attribute values from the SysML model
Syndeia also makes it possible for system engineers using SysML to define blocks with value properties and set their values such that when SysML blocks are used for generating Windchill parts, the block value properties can be used to populate corresponding Windchill part attributes. This is especially useful when enterprise Windchill repositories are customized with business rules that mandate certain attributes be populated when creating parts. In those cases, SysML blocks with mandatory value properties can be setup before generating Windchill parts. Syndeia makes it possible to set the mandatory attributes on Windchill parts at the time of part creation. In addition, users can also create different types of Windchill parts by setting the custom part type on the SysML block. This is a very powerful feature of Syndeia. Follow the instructions below to learn about this feature.
Right click on any SysML model element and select Syndeia > Utils > Windchill Utils
This will launch the Windchill Utils window. Select your Windchill repository, select the base type as Windchill part, and click OK. It may take a few seconds for the results to appear in the window.
The base type of parts in out-of-the-box Windchill PLM system is WTPart. Organizations can develop their extensions of the base type and also add new attributes to those types. The result window above lists the base part type and all its extensions, and lists the attributes (out-of-thebox and custom) for each type. For example, it shows a custom part type (LPart), specifically WCTYPE|wt.part.WTPart|com.intercax.IPart|com.intercax.ipart.LPart that has an attribute with display name Bounding box size which you can see in the Windchill browser client, and internal name com.intercax.lpart.boundingBoxSize which is used for getting and setting its values programmatically.
The part type and attribute results show the data dictionary for Windchill parts. This information will be used for generating custom Windchill parts and setting their attributes from SysML blocks in the following steps.Create a SysML block (e.g. My New Part) in your SysML model.
Follow the remainder of the instructions in this step only if you want to set the part number for the Windchill part to be generated, or if you want to create a Windchill part of a specific type that is defined by your organization and which is not the base type (WTPart) defined out-of-the-box with PTC Windchill installation. If you don’t follow the remainder of the instructions in this step, then a Windchill part of the base type (WTPart) will be generated and a part number will be automatically assigned by Windchill.
Apply the Windchill_Part stereotype, available from the Syndeia Profile, to the SysML block. Set the _part_number tag value to your desired value, and set the _part_type tag value to the type for the custom Windchill part you want to create, e.g. WCTYPE|wt.part.WTPart|com.intercax.IPart|com.intercax.ipart.LPart.- If you want to set one or more Windchill part attributes when generating a Windchill part, especially if these attributes are mandatory attributes, create a value property with a name of your choice typed by String value type in the SysML block for each of those attributes. For example, create 2 value properties (typed by String value type) in the SysML block created in the previous step for each of the 2 Windchill part attributes you want to set. For MagicDraw, use the String value type that comes with SysML profile, specifically the package SysML::Libraries::PrimitiveValueTypes.
- Set the default values of the value properties. This should be in the exact format as the default values set when SysML blocks and value properties are generated from Windchill parts. For example, set the value of estimated mass as 45 kg.
Apply the WC_Part_Attribute stereotype available from the Syndeia Profile to each of the value properties. Set the _windchill_name tag to the internal name of the Windchill attribute, e.g. com.intecax.lpart.mass.estimated. Look up the results in step 2 to get the internal names of Windchill attributes.
Drag and drop the SysML block to a Windchill product or folder in the Connection Manager tab of the Syndeia Dashboard. This will generate a new Windchill part from the SysML block, as shown for the My New Part in the Windchill client (web browser). Note that the name of the Windchill part is the same as SysML block name, the type of the Windchill part is LPart (as set in the stereotype tag), the part number of the Windchill part is MY NEW PART 1 (as set in the stereotype tag), and the value of estimated mass attribute is 45 kg (as set in the stereotype tag).
Compare/Sync SysML block structure with value properties with Windchill part structure with attributes
When a user invokes compare/sync operations on Syndeia connections between SysML blocks and Windchill parts, the Windchill-specific value properties of the SysML blocks and the attributes of the connected Windchill parts are also compared / synchronized. For example, the figure below shows the compare results for a Syndeia connection between a SysML block and a Windchill part. It shows that the value property Mass (estimated) in the SysML block is out-ofsync with the corresponding attribute on the Windchill part.