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