General InformationThis action rule is invoked:
Arguments
SampleThe 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
}
}
| |||||||||||||