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 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
}
}
| |||||||||||||