General InformationThis opening ID is invoked when you analyze the impacts on your cables using the following commands:
For more information, see Electrical 3D Design User's Guide: Managing Impacts on Cable Routes.
Input ObjectsInput objects must be of the following types:
Context Object Parameters
Sample 1The following sample illustrates how to customize the impact analysis based on the itinerary of your cables.
let idx (INTEGER) let size (INTEGER) let listInfo(LIST) let route(ElecRoute) let Info(ElecRouteImpactInfo) let ComputedItineraryObj(ElecItinerary) let ValidatedItineraryObj(ElecItinerary) let bIsEqual(BOOLEAN) set listInfo = Parameters.GetAttributeObject("ImpactedRoutes") Notify ("BR itinerary compare called") if(NULL <> listInfo) { set size = listInfo.Size() set idx = 1 for idx while idx <= size { set Info = listInfo.GetItem(idx) if(NULL <> Info) { set route = Info.Elec_Route set ComputedItineraryObj = Info.Elec_ComputedItinerary set ValidatedItineraryObj = route.Elec_ValidatedItinerary if ((NULL <> ComputedItineraryObj) and (NULL <> ValidatedItineraryObj)) { set bIsEqual = ComputedItineraryObj.IsEqual(ValidatedItineraryObj) if(bIsEqual == FALSE) { Info->SetAttributeInteger("Elec_IsImpacted", 1) Info->SetAttributeString("Elec_ImpactDetails", "COMPUTED and VALIDATED itinerary are DIFFERENT !!!") } } } } } Sample 2The following sample illustrates how to customize the impact analysis based on the length of your cables.
let idx (INTEGER) let size (INTEGER) let listInfo(LIST) let route(ElecRoute) let Info(ElecRouteImpactInfo) let ComputedItineraryObj(ElecItinerary) let ValidatedItineraryObj(ElecItinerary) let bIsEqual(BOOLEAN) set listInfo = Parameters.GetAttributeObject("ImpactedRoutes") Notify ("BR itinerary compare called") if(NULL <> listInfo) { set size = listInfo.Size() set idx = 1 for idx while idx <= size { set Info = listInfo.GetItem(idx) if(NULL <> Info) { set route = Info.Elec_Route set ComputedItineraryObj = Info.Elec_ComputedItinerary set ValidatedItineraryObj = route.Elec_ValidatedItinerary if ((NULL <> ComputedItineraryObj) and (NULL <> ValidatedItineraryObj)) { set bIsEqual = ComputedItineraryObj.IsEqual(ValidatedItineraryObj) if(bIsEqual == FALSE) { Info->SetAttributeInteger("Elec_IsImpacted", 1) Info->SetAttributeString("Elec_ImpactDetails", "COMPUTED and VALIDATED itinerary are DIFFERENT !!!") } } } } } Sample 3The following sample illustrates how to customize the impact analysis based on the itinerary information of your cable routes.
let idx (INTEGER) let i (INTEGER) let size (INTEGER) let listInfo(LIST) let route(ElecRoute) let listComputedItineraryElems(LIST) let listValidatedItineraryElems(LIST) let sItinerary(STRING) let sMsg(STRING) let sRouteName(STRING) let Info(ElecRouteImpactInfo) let sizeItinerary(INTEGER) let ComputedItineraryObj(ElecItinerary) let ValidatedItineraryObj(ElecItinerary) set listInfo = Parameters.GetAttributeObject("ImpactedRoutes") Notify ("BR Print_Itinerary called") if(NULL <> listInfo) { set size = listInfo.Size() set idx = 1 for idx while idx <= size { set Info = listInfo.GetItem(idx) if(NULL <> Info) { set route = Info.Elec_Route sRouteName = route.Name set ComputedItineraryObj = Info.Elec_ComputedItinerary set ValidatedItineraryObj = route.Elec_ValidatedItinerary if(NULL <> ComputedItineraryObj) { listComputedItineraryElems = ComputedItineraryObj.Elec_ItineraryElements if(NULL <> listComputedItineraryElems) { set sizeItinerary = listComputedItineraryElems.Size() set sItinerary = "" set sMsg = "" set sMsg = sRouteName + " Computed Itinerary is : " set i = 1 for i while i <= sizeItinerary { set sItinerary = "" set sItinerary = listComputedItineraryElems.GetItem(i) sMsg = sMsg + sItinerary + " -- " } Info->SetAttributeInteger("Elec_IsImpacted", 1) Info->SetAttributeString("Elec_ImpactDetails", sMsg) } } } } } |