Compute Pathway Attributes (L3m_BR_ComputePathwayAttr)

An opening ID is an entry point used to customize business logic. L3m_BR_ComputePathwayAttr computes the set of Pathway attributes during Pathway creation.

Note: For more information about customization by business rules, see Installation and Setup: Customize: Behavior: Data Setup: Customization by Business Rules.

This page discusses:

General Information

This opening ID is invoked at the end of the Auto Pathway Routing command to set the pathway attributes.

The user will be asked to select a proposed value for the pathway attributes.

This opening ID is used to customize:

The table below provides you with information related to the definition of the Opening ID.

PLM Opening ID: L3m_BR_ComputePathwayAttr
Customization intent: Computation
Execution context:

Input Objects

Input objects must be of the following types:

  • ThisObject: Unknown.
  • Parameters: Rule Context.

Context Object Parameters

Parameter NameTypeRead/WriteComments
SectionTypeInteger Integer of the Pathway
Dimension1LengthDimension 1 of the Pathway
Dimension2LengthDimension 2 of the Pathway
BendRadiusRatio BendRadiusRatio of the Pathway
DisciplineStringDiscipline of the Pathway
SegregationStringSegregation of the Pathway

Sample

The following sample gives you the list of the Pathway attributes that can be set when Routing them automatically.

Let PathwaySetName_attr = "PathwaySetName"
Let PathwaySetName_val (String)

Let SectionType_attr = "SectionType"
Let SectionType_val (Integer)

Let Dimension1_attr = "Dimension1"
Let Dimension1_val (Length) /* In Meters */

Let Dimension2_attr      = "Dimension2
Let Dimension2_val (Length) /* In Meters */

Let BendRadiusRatio_attr = "BendRadiusRatio"
Let BendRadiusRatio_val (Real)

Let Discipline_attr = "Discipline"
Let Discipline_val (String)

Let Segregation_attr = "Segregation"
Let Segregation_val (String)

/* CATRule SIGNATURE END ---------------------------------------------------- */

/* LOCAL VARIABLES BEGIN ---------------------------------------------------- */
Let Attr_Length = "Length"

let Severity_val (Integer)    /* 0 = OK, 1 = Warning, 2 = Error */
let Message_val (String)      /* Output user defined message */

/* LOCAL VARIABLES END ------------------------------------------------------ */

/*============================================================================*/
/* BUSINESS RULE BEGIN 
/*============================================================================*/

/* USER ATTRIBUTE VALUES BEGIN ---------------------------------------------- */
/*	PathwaySetName_val       = "Pathway100" /* Pathway Set Name */
/*	SectionType_val          =  1     /* 1 = Round, 2 = Rectangular */
/*	Dimension1_val           = .111m  /* Diameter if Round, Height if Rectangular */
/*	Dimension2_val           = .222m  /* Ignored  if Round, Width  if Rectangular */
/*	BendRadiusRatio_val      = .333	/* Bend radius value */
/*	Discipline_val           = "Discipline100" /* Discipline Value */
/*	Segregation_val          = "Segregation100"   /* Segregation Value */
/* USER ATTRIBUTE VALUES END ------------------------------------------------ */

/*============================================================================*/
/* BUSINESS RULE CRITERIA     
/*============================================================================*/

/* USER BUSINESS RULE CRITERIA START (no message display for Severity = 0)------------*/
        Severity_val = 0
        Message_val = ""
/*	if( Dimension1_val == 0m )
        {
            Severity_val = 2
            Message_val = "Dimension Value should not be zero"
        }
        if( Dimension2_val == 0m )
        {
            Severity_val = 2
            Message_val = "Dimension Value should not be zero"
        }
        if( BendRadiusRatio_val == 0 )
        {
            Severity_val = 2
            Message_val = "Dimension Value should not be zero"
        }
*/
/* USER BUSINESS RULE CRITERIA END (no message display for Severity = 0)------------*/
/* SET VALUES BEGIN --------------------------------------------------------- */

/*	Parameters -> SetAttributeString   ( PathwaySetName_attr,  PathwaySetName_val )
   Parameters -> SetAttributeInteger  ( SectionType_attr,     SectionType_val )
   Parameters -> SetAttributeDimension( Dimension1_attr,      Dimension1_val, Attr_Length )
   Parameters -> SetAttributeDimension( Dimension2_attr,      Dimension2_val, Attr_Length )
   Parameters -> SetAttributeReal     ( BendRadiusRatio_attr, BendRadiusRatio_val )
   Parameters -> SetAttributeString   ( Discipline_attr,      Discipline_val )
   Parameters -> SetAttributeString   ( Segregation_attr,     Segregation_val )
*/
/* SET VALUES END ----------------------------------------------------------- */

/* SET OUTPUT BEGIN --------------------------------------------------------- */
   Parameters.Severity = Severity_val
   Parameters.Message  = Message_val
/* SET OUTPUT END ----------------------------------------------------------- */