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