2016-05-12 7 views
0

Ich habe DXL-Code verwendet, um alle Outlinks abzurufen und es funktioniert ok.Alle Outlinks in Doors DXL abrufen

Aber es scheint, dass es nur einige Links abrufen und andere vernachlässigen, und ich weiß nicht warum!

hier ist Code-Schnipsel

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) 

kann jemand mir sagen, was allgemeine Lösung ist, alle outlinks zu bekommen? und was fehlt mir?

dank

+0

Ich denke, ich wusste, was los ist, es bekommt alle Outlinks zu aktuellen Modulen, nicht Baselines! Kann mir irgendjemand dabei helfen? –

Antwort

2

vor allem aus Gründen der Klarheit, die ich, ich sollte allerdings erwähnen, dass Ihr Kommentar sagt Ihr Skript alle outlinks den aktuellen Modulen bekommt, aber das Skript nur geschrieben werden outlinks vom Modul an Pfad planSpecReportPath_inDoors abzurufen. Sie können das Skript ändern für das aktuelle Modul zu arbeiten, indem Sie den Code der folgenden ändern:

Module m = current Module 

Zweitens, wenn ich Ihre Frage verstehen und richtig kommentieren, Sie wollen in einem Modul jeder outlink, um durch, einschließlich der Outlinks von vorherigen Baselines richtig? dies kann mit einem recht einfachen Skript durchgeführt werden:

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

Grundsätzlich Sie individuell, um durch jede Baseline benötigen würde, dann durchlaufen alle Objekte in dieser Basislinie, dann Zyklus durch jeden Link. Ich hoffe das beantwortet deine Frage!