2016-05-12 3 views
0

Я использовал код dxl для извлечения всех исходящих ссылок, и он работает нормально.Извлечь все Outlinks in Doors DXL

Но, похоже, он извлекает только некоторые ссылки и пренебрегает другими, и я не знаю почему!

здесь фрагмент код

Object o 
string label 
Module m = read(planSpecReportPath_inDoors) 
Link outLink 
for o in m do 
{ 
    for outLink in o -> "*" do 
    { 
     parentModName = target(outLink) 
     iTarget= targetAbsNo(outLink) 

может любой сказать мне, что это общее решение, чтобы получить все внешние ссылки? и чего я не хватает?

благодаря

+0

Думаю, я знал, что происходит, он получает все исходящие ссылки на текущие модули, а не на базовые линии! , может ли кто-нибудь помочь мне в этом? –

ответ

2

прежде всего, ради ясности я, хотя я должен сказать, что ваш комментарий говорит ваш скрипт получает все внешние ссылки на текущие модули, но скрипт вы вывесили только извлечь внешние ссылки из модуля на пути planSpecReportPath_inDoors. Вы можете изменить сценарий для работы для текущего модуля, изменив код на следующее:

Module m = current Module 

Во-вторых, если я правильно понял ваш вопрос и комментарий правильно, вы хотите, чтобы цикл через каждый outlink в модуле, в том числе исходящие из предыдущих исходных условий? это может быть сделано с довольно простым сценарием:

Module baselineM = null 
Module m = read(planSpecReportPath_inDoors) 

Object o  = null 
Link outLink = null 
Baseline b = null 

for b in all m do 
{ 
    // Load the current baseline and display it 
    baselineM = load(m, b, true) 

    for o in entire(m) do 
    { 
     for outLink in o -> "*" do 
     { 
      parentModName = target(outLink) 
      iTarget= targetAbsNo(outLink) 

      // Whatever else you want to do with each link 
     } 
    } 
} 

В принципе, вы должны были бы перебрать каждый базовый уровень по отдельности, а затем цикл через все объекты в этой базовой линии, а затем цикл через каждую ссылку. Надеюсь, это ответит на ваш вопрос!

 Смежные вопросы

  • Нет связанных вопросов^_^