Create Route Guide Around Macro

proc gdh_create_macro_side_route_guide {} {
  set all_macros [all_macro_cells]
  set n 0
  set route_guide_prefix macro_side_route_guide_
  remove_route_guide ${route_guide_prefix}*
  foreach_in_collection m $all_macros {
    set bbox [get_attribute $m bbox]
    set llx [ lindex $bbox  0 0 ]
    set lly [ lindex $bbox  0 1 ]
    set trx [ lindex $bbox  1 0 ]
    set try [ lindex $bbox  1 1 ]
    set route_guide_bbox_left "[expr $llx-5] $lly $llx $try"
    set route_guide_bbox_right "$trx $lly [expr $trx + 5] $try"
    create_route_guide \
      -coordinate $route_guide_bbox_left \
      -no_preroute_layers {M5 M6} \
      -name macro_side_route_guide_${n}_left
    create_route_guide \
      -coordinate $route_guide_bbox_right \
      -no_preroute_layers {M5 M6} \
      -name macro_side_route_guide_${n}_right
 
    echo [ join [list $bbox $llx $lly $trx $try] ", " ]
    incr n
    #break
  }
}