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, beams 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 SFDPanel(SldPanel)
let SFDPlate(SldPlate)
let SFDMember(SldMember)
let SFDStiffener(SldStiffener)
let SFDProfile(SldProfile)
let SFDOpening(SldOpening)

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 SFDPanel = Input
set SFDPlate = Input
set SFDMember = Input
set SFDStiffener= Input
set SFDProfile = Input
set SFDOpening = Input

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


if(NULL <> SFDPanel )
{
	set IsPhysicalObject = SFDPanel.IsPhysicalObject
	if(false == IsPhysicalObject)
	{
		NameParameters  = SFDPanel.Category + Dash +SFDPanel.SupportName + Dash + SFDPanel.SupportOffset  +Dash + SFDPanel.Thickness + Dash + SFDPanel.Material
	}
}
else if(NULL <> SFDPlate )
{
	set IsPhysicalObject = SFDPlate.IsPhysicalObject
	if(false == IsPhysicalObject)
	{
		NameParameters = SFDPlate.Category + Dash + SFDPlate.SupportName + Dash + SFDPlate.SupportOffset + Dash +  SFDPlate.Thickness + Dash + SFDPlate.Material
	}
	
}
else if(NULL <> SFDProfile )
{
	set IsPhysicalObject = SFDProfile.IsPhysicalObject
	if(false == IsPhysicalObject)
	{
		if(NULL  <> SFDMember )
		{
			if(  SFDMember->HasAttribute("FirstPlaneSupport") )
			{
				FirstSurfaceValue = Dash + SFDMember.FirstPlaneSupport
				FirstSurfaceOffsetValue = Dash + SFDMember.FirstSupportOffset
			}
			
			if(  SFDMember->HasAttribute("SecondPlaneSupport") )
			{
				SecondSurfaceValue = Dash + SFDMember.SecondPlaneSupport
				SecondSurfaceOffsetValue = Dash + SFDMember.SecondSupportOffset
			}
			
			if(  SFDMember->HasAttribute("StartLimit") )
			{
				StartLimitValue = Dash + SFDMember.StartLimit
			}
			
			if(  SFDMember->HasAttribute("EndLimit") )
			{
				EndLimitValue = Dash + SFDMember.EndLimit
			}
			NameParameters = SFDMember.Category + FirstSurfaceValue + SecondSurfaceValue + FirstSurfaceOffsetValue + SecondSurfaceOffsetValue + StartLimitValue + EndLimitValue + Dash + SFDMember.SectionName + Dash + SFDMember.Material
		}
		else if(NULL <> SFDStiffener)
		{
			if(  SFDStiffener->HasAttribute("FirstPlaneSupport") )
			{
				FirstSurfaceValue = Dash + SFDStiffener.FirstPlaneSupport
			}
			
			if(  SFDStiffener->HasAttribute("SecondPlaneSupport") )
			{
				SecondSurfaceValue = Dash + SFDStiffener.SecondPlaneSupport
				SecondSurfaceOffsetValue = Dash + SFDStiffener.SecondSupportOffset
			}
			
			if(  SFDStiffener->HasAttribute("StartLimit") )
			{
				StartLimitValue = Dash + SFDStiffener.StartLimit
			}
			
			if(  SFDStiffener->HasAttribute("EndLimit") )
			{
				EndLimitValue = Dash + SFDStiffener.EndLimit
			}
			NameParameters = SFDStiffener.Category  + FirstSurfaceValue + SecondSurfaceValue + SecondSurfaceOffsetValue + StartLimitValue + EndLimitValue + Dash + SFDStiffener.SectionName + Dash + SFDStiffener.Material					
		}	
		else 	 
		{
			if(  SFDProfile->HasAttribute("StartLimit") )
			{
				StartLimitValue = Dash + SFDProfile.StartLimit
			}
			
			if(  SFDProfile->HasAttribute("EndLimit") )
			{
				EndLimitValue = Dash + SFDProfile.EndLimit
			}		
			NameParameters = SFDProfile.Category + StartLimitValue + EndLimitValue  + Dash + SFDProfile.SectionName + SFDProfile.Material	
		}	
	}
}

else if(NULL <> SFDOpening)
{
	set IsPhysicalObject = SFDOpening.IsPhysicalObject
	if(false == IsPhysicalObject)
	{
		NameParameters = SFDOpening .Category + Dash + SFDOpening .ParentPanelName + Dash + SFDOpening .StandardNameContour
	}
}