Validate Duplicate and Insert Availability During Smart Place

An opening ID is an entry point used to customize business logic. The Validate Duplicate and Insert availability during Smart Place opening ID is available in the Electrical physical system design resources set. It is used to automate the duplication and instantiation of a reference when you place components.

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 when you use the following commands:

  • Smart Place from Catalog
  • Smart Place from Database
  • Smart Place from Library

For more information, see Electrical 3D Design User's Guide: Using Smart Place.

Definition Description
PLM Opening ID ELBSmartPlace_ValidateDuplicateAndInsertAvailability
Customization intent Validation
Execution context Client

Input Objects

Input objects must be of the following types:

  • ThisObject
  • Parameters corresponds to the context object.
  • Validation

Context Object Parameters

Parameter Name Type Read or Write Comments
FactType Any EKL type Type of ThisObject in the business rule body.
ReferenceToInstantiate Reference Read The reference selected in the data source.
DAIAvailabilityCheck Boolean Write If TRUE, the duplication is allowed.

If FALSE, the duplication is not allowed.

DuplicationString String Write Value used to define the name of the duplicated reference.

Sample

The following sample illustrates how to validate the duplication and instantiation of a reference.

let SelectedReference (PLMEntity)
set SelectedReference = Parameters->GetAttributeObject("ReferenceToInstantiate")
Validation = true

if (SelectedReference.IsSupporting("SharedSupportPart") == true)
{
	if (ThisObject.IsSupporting("VPMReference") == true)
    {
	  Validation  = true
	  Parameters.SetAttributeBoolean("DAIAvailabilityCheck", true)
	  Parameters.SetAttributeString("DuplicationString", "ABC")	
    }
    else
    {
	  Validation  = false
	  Parameters.SetAttributeString("DuplicationString", "XYZ")
    }

	if( false == Validation)
	{
	  Parameters.Message = "Input part is not a flexible support."
	}
}