Action Rule for Naming

This action rule enables you to generate a unique name to structural objects.

This page discusses:

General Information

This action rule is invoked:

  • When you create or edit the structural objects like panels, plates, stiffeners, members and openings, and click OK in their dialog boxes.
  • When you select the structural object in the 3D area or tree, right-click it and select Reset Action Rule.

Arguments

NameType
InputFeature
NameParametersString

Sample

The following sample explains the action rule for applying a unique name to structural objects according to their geometrical properties like limits, offsets, and so on.

let SDD_Panel(SddPanel)
let SDD_Plate(SddPlate)
let SDD_Opening(SddOpening)
let SDD_Member(SddMember)
let SDD_Stiffener(SddStiffener)
let SDD_StiffenerOnFreeEdge(SddStiffenerOnFreeEdge)

let FirstSurface(Feature)
let SecondSurface(Feature)
let StartLimit(Feature)
let EndLimit(Feature)

let FirstSurfaceValue(String)
let FirstSurfaceOffsetValue(String)
let SecondSurfaceValue(String)
let SecondSurfaceOffsetValue(String)
let StartLimitValue(String)
let EndLimitValue(String)
let Dash(String)
let IsPhysicalObject(Boolean)
let oName(String)

set SDD_Panel = Input
set SDD_Plate = Input
set SDD_Member = Input
set SDD_Stiffener = Input
set SDD_StiffenerOnFreeEdge = Input
set SDD_Opening = Input

set FirstSurfaceValue = ""
set FirstSurfaceOffsetValue = ""
set SecondSurfaceValue = ""
set SecondSurfaceOffsetValue = ""
set StartLimitValue = ""
set EndLimitValue = ""
set Dash = "_"

if( NULL <> SDD_Panel)
{
	set IsPhysicalObject = SDD_Panel.IsPhysicalObject
	if(true == IsPhysicalObject)
	{
		NameParameters = SDD_Panel.Category + Dash + SDD_Panel.SupportName + Dash + SDD_Panel.SupportOffset + Dash + SDD_Panel.Thickness + Dash +SDD_Panel.Material
	}
}
else if( NULL <> SDD_Plate)
{
	set IsPhysicalObject = SDD_Plate.IsPhysicalObject
	if(true == IsPhysicalObject)
	{
		NameParameters = SDD_Plate.Category + Dash + SDD_Plate.SupportName + Dash + SDD_Plate.SupportOffset + Dash + SDD_Plate.Thickness + Dash +SDD_Plate.Material 	
	}
}
else  if(NULL <> SDD_Member)
{
	set IsPhysicalObject = SDD_Member.IsPhysicalObject
	if(true == IsPhysicalObject)
	{
		if(  SDD_Member->HasAttribute("FirstPlaneSupport") )
		{
			FirstSurfaceValue = Dash + SDD_Member.FirstPlaneSupport
			FirstSurfaceOffsetValue = Dash + SDD_Member.FirstSupportOffset
		}
		
		if(  SDD_Member->HasAttribute("SecondPlaneSupport") )
		{
			SecondSurfaceValue = Dash + SDD_Member.SecondPlaneSupport
			SecondSurfaceOffsetValue = Dash + SDD_Member.SecondSupportOffset
		}
		
		if(  SDD_Member->HasAttribute("StartLimit") )
		{
			StartLimitValue = Dash + SDD_Member.StartLimit
		}
		
		if(  SDD_Member->HasAttribute("EndLimit") )
		{
			EndLimitValue = Dash + SDD_Member.EndLimit
		}
		NameParameters = SDD_Member.Category  + FirstSurfaceValue + SecondSurfaceValue + FirstSurfaceOffsetValue + SecondSurfaceOffsetValue + StartLimitValue + EndLimitValue + Dash + SDD_Member.SectionName + Dash + SDD_Member.Material
	}
}
else if(NULL <> SDD_Stiffener)
{
	set IsPhysicalObject = SDD_Stiffener.IsPhysicalObject
	if(true == IsPhysicalObject)
	{
		if(  SDD_Stiffener->HasAttribute("SecondPlaneSupport") )
		{
			SecondSurfaceValue = Dash + SDD_Stiffener.SecondPlaneSupport
			SecondSurfaceOffsetValue = Dash + SDD_Stiffener.SecondSupportOffset
		}
		
		if(  SDD_Stiffener->HasAttribute("StartLimit") )
		{
			StartLimitValue = Dash + SDD_Stiffener.StartLimit
		}
		
		if(  SDD_Stiffener->HasAttribute("EndLimit") )
		{
			EndLimitValue = Dash + SDD_Stiffener.EndLimit
		}
		NameParameters = SDD_Stiffener.Category + SecondSurfaceValue + SecondSurfaceOffsetValue + StartLimitValue + EndLimitValue + Dash + SDD_Stiffener.SectionName + SDD_Stiffener.Material	
	}
}
else if(NULL <> SDD_StiffenerOnFreeEdge)
{	
	set IsPhysicalObject = SDD_StiffenerOnFreeEdge.IsPhysicalObject
	if(true == IsPhysicalObject)
	{
		if(  SDD_StiffenerOnFreeEdge->HasAttribute("StartLimit") )
		{
			StartLimitValue = Dash + SDD_StiffenerOnFreeEdge.StartLimit
		}
		
		if(  SDD_StiffenerOnFreeEdge->HasAttribute("EndLimit") )
		{
			EndLimitValue = Dash + SDD_StiffenerOnFreeEdge.EndLimit
		}
		NameParameters = SDD_StiffenerOnFreeEdge.Category + StartLimitValue + EndLimitValue + Dash + SDD_StiffenerOnFreeEdge.SectionName + SDD_StiffenerOnFreeEdge.Material	
	}
}
else if(NULL <> SDD_Opening)
{
	set IsPhysicalObject = SDD_Opening.IsPhysicalObject
	if(true == IsPhysicalObject)
	{
		NameParameters = SDD_Opening .Category + Dash + SDD_Opening .ParentPanelName + Dash + SDD_Opening.StandardNameContour
	}
}