2015-10-02 60 views
0

我目前在處理兩個具有不同基線的模塊之間的鏈接時遇到問題。DOORS DXL鏈接到模塊中不存在的對象基線

例如: 我有一個模塊A有10條基線,模塊B有10條基線。 鏈接從A => B鏈接出來。模塊A的最後一個基線已經在模塊B的最後一個基線之後1個月完成。與此同時,模塊B中的更多對象已經創建並從模塊A鏈接到它們。

所以,現在我在模塊A的最後一個基線中有一些鏈接,它們鏈接到模塊B中最後一個基線中不存在的對象(僅存在於最後一個基線++)。

當我運行我的DXL腳本以獲取所有鏈接的對象時,我也會得到這些不存在的對象事件的ID(儘管它們不存在於最後一個基線中)。我打開這兩個模塊並用加載(模塊,基線,假)函數加載最後一個基線。基線工程的名稱和我的調試表明我真的在研究最新的基準線。但不知何故,這些不存在的對象因爲鏈接而被列出。我已閱讀了一些關於回顯鏈接的內容,但它們不適合我。

可能的解決方案是獲取模塊A的基線日期並將其與鏈接對象的創建日期進行比較。但是,必須有一種更簡單,更清潔的方式...任何想法?

回答

0

對不起,我沒有直接回答你的問題。我嘗試了兩個模塊(A和B)之間的腳本,就像你介紹的那樣。我鏈接了這些對象,創建了一個新的基線,並添加了一些也被鏈接起來的對象。

我沒有遇到您在運行以下腳本時出現的問題。我希望能有一些東西給你一個新想法。基本上,我打開模塊B的基線並計入鏈路。較新的對象(我在當前版本中找到的)不包含在此計數中。

Module modB = read("/Testmappe/ModuleB", false) 
Module baselineModuleB 
Object objB 
Link l 
string linkModName = "*" 
int countLinks = 0 

    // baseline(MAJ, MIN, SUFFIX) 
Baseline myBaseline = baseline(0, 1, "") 

if(baselineExists(modB, myBaseline)) 
{ 
    baselineModuleB = load(modB, myBaseline, false) 

    for objB in baselineModuleB Module do { 
    for l in all(objB<-linkModName) do { 
    countLinks++ 
    } 
    } 
    print "Number of in-links are: " countLinks "" 
} 
+0

感謝您的腳本。它應該實際上工作,但只計算模塊的鏈接。問題更多的是,如果我遵循一個出去的鏈接,它會導致一個不存在的對象。我現在做了一個解決方法,我檢查了「創建者」屬性,並將其與模塊A的基線日期進行比較。看起來鏈接的日期目前是我唯一的機會。 – Cleese

相關問題