Standardizing Spec-Driven Fittings, Part 2

In our last post, we went over some of the basics of Spec-Driven Piping requirements concerning parameters and went through the INLINE, INLINE_JOINT, ELBOW, CORNER, and NOBREAK fitting codes (see here). In this post, we will explore BRANCH, FLANGE, and GASKET fittings, and cover some of the other nuances of the “END_TYPE” parameter and “end type compatibility”.


The only required parameters in Creo for BRANCH are FITTING_CODE, SIZE, and END_TYPE. Configuring these fitting parameters is fairly straightforward:

  • Set the value of the model parameter FITTING_CODE as BRANCH
  • Set the feature parameter of the inlet port (PORT0) with the SIZE parameter
    • Creo will search the model tree and find the first feature for the SIZE parameter and assume that is the inlet port. It is critical that the SIZE parameter is applied only to the inlet port and that the inlet port comes first in your model tree!
  • Set the feature parameter of all 3 ports with the END_TYPE parameter
    • It is considered best practice to put the END_TYPE parameter on all the ports, even if they are all the same value, so that your models are richer in metadata!

A standard BRANCH with PORT0, PORT1, and PORT2 highlighted is shown in the picture below.

Branch Fitting with the 3 PORTs highlighted

Instances of BRANCH fittings having ports with different sizes than the inlet port will be covered in future posts under the BRANCH_REDUCING code.


One of the many perks of Spec-Driven Piping is the ability to automatically mate multiple fittings together. Nowhere is this more beneficial than with automatic flange and gasket mating. This allows you to do one fitting insertion for a flange + gasket + flange combination. If you want to insert a stand-alone FLANGE or GASKET, they work similar to the INLINE fitting code covered in our last post. However, if you want to do automatic mating, there are three parts that need to be properly configured:

    1. The End Compatibility Text File
    2. The CAD Parameter Validation
    3. The Spec File Check

The End Compatibility Text File

Inside the master catalog is a “piping_end_compatibility” stand-alone text file that dictates which fittings can mate to which other fittings based on the end type and schedule (see PTC’s out-of-the-box example below). PTC Example of the End Compatibility File

The mated coordinate systems from each fitting must match what is specified in this file. In the above example on line 28, a fitting with “FLRF” END_TYPE will mate directly with a “GKRF” when the schedule of both fittings are 40. This leads us to the next part…

The CAD Parameter Validation

Unlike many of the other feature parameters in Spec-Driven Piping, Creo actually will validate the END_TYPE and SIZE parameters on the PORTs in the fitting CAD model itself! What that means is that these parameter values must match what is specified in the end compatibility and spec file, respectively. If they do not match, Creo will only insert the first flange and not do the gasket + second flange automatic mate. Below is an example of the “FLRF” and “GKRF” END_TYPE parameters being applied in mated coordinate systems of the CAD model.

PIcture of Flange + Gasket combination in Creo with parameters

The Spec File Check

The final rule is that the data from the first two rules must be correctly reflected in the spec text file. To realize the flange and gasket combination, when inserting a flange in Creo make sure the “Automatic flange & gasket” button (shown below) is checked in the Insert Fitting GUI. Creo’s functionality will scan programmatically through the “CODE” column of the spec file for a FLANGE and GASKET value that have matching SIZE and SCHEDULE column value. So long as the first 2 rules have been correctly implemented, it will insert them together!

Insert Fitting GUI with Automatic Flange and Gasket checked


The above are further examples of the diversity of fitting requirements for Spec-Driven Piping that change with each fitting code. In the next post of this series, we will explore the final four codes of INLINE_REDUCING,  CORNER_REDUCING, BRANCH_REDUCING, and BRANCH_LET!

Scroll to Top