■國(guó)家核電上海核工程研究設(shè)計(jì)院有限公司 沈杰
隨著數(shù)字化時(shí)代的到來,數(shù)字孿生、數(shù)字電站等概念越來越深入核電設(shè)計(jì)的方方面面。國(guó)家核電上海核工程研究設(shè)計(jì)院有限公司(以下簡(jiǎn)稱“上海核工院”)一直致力于打造具有全球競(jìng)爭(zhēng)力的核能研發(fā)和AE平臺(tái),將數(shù)字化概念融入設(shè)計(jì)、制造、建造、施工以及運(yùn)維等EPCS全環(huán)節(jié),努力成為國(guó)內(nèi)建設(shè)能力最強(qiáng)和具有全球競(jìng)爭(zhēng)力的一流核能總承包企業(yè)。在最新項(xiàng)目的三維工廠布置設(shè)計(jì)上,上海核工院采用行業(yè)領(lǐng)先的Intergraph Smart 3D 三維工廠設(shè)計(jì)軟件,取代傳統(tǒng)的PDS軟件。相對(duì)于PDS軟件,Smart 3D全部采用結(jié)構(gòu)化的數(shù)據(jù)格式存儲(chǔ)布置設(shè)計(jì)信息,在后續(xù)數(shù)字化集成上具有強(qiáng)大優(yōu)勢(shì)。同時(shí),Smart 3D提供了眾多的API供用戶進(jìn)行自定義功能開發(fā),兼具了靈活性與開放性。
在使用過程中,Smart 3D軟件默認(rèn)提供了非常多的物項(xiàng)關(guān)聯(lián)關(guān)系,但并不提供自定義物項(xiàng)關(guān)聯(lián)關(guān)系的建立途徑。由于核電設(shè)計(jì)項(xiàng)目的特殊性,需要多專業(yè)并行開展設(shè)計(jì)工作,但各專業(yè)設(shè)計(jì)進(jìn)度不同,因此時(shí)常出現(xiàn)專業(yè)間關(guān)聯(lián)物項(xiàng)互相迭代修改的情況,如支架與支架生成的埋板。埋板的修改特別是位置的移動(dòng),必然會(huì)影響到支架的設(shè)計(jì)。為了保證埋板的修改能夠及時(shí)被支架設(shè)計(jì)專業(yè)知曉,從而對(duì)生根支架作出相應(yīng)調(diào)整,必須對(duì)埋板和生根支架進(jìn)行關(guān)聯(lián)關(guān)系的記錄。同時(shí),在后續(xù)計(jì)算分析過程中,關(guān)聯(lián)物項(xiàng)之間也經(jīng)常需要進(jìn)行屬性傳遞,從而保證計(jì)算分析結(jié)果的準(zhǔn)確性。對(duì)于上述情況,僅靠Smart 3D提供的關(guān)聯(lián)關(guān)系顯然無法滿足需求,用戶只能通過線下記錄的方式來保存各物項(xiàng)間的關(guān)聯(lián)關(guān)系,并通過線下提資的方式進(jìn)行關(guān)聯(lián)物項(xiàng)之間的屬性傳遞,不可避免造成了額外工作量的投入以及引入由于人因誤差造成的漏判錯(cuò)判,大大影響設(shè)計(jì)效率與模型質(zhì)量。
針對(duì)上述情況,筆者通過對(duì)Smart 3D內(nèi)部數(shù)據(jù)結(jié)構(gòu)的研究以及提供的API功能的挖掘,實(shí)現(xiàn)了在Automation ToolKit平臺(tái)上開發(fā)可視化用戶界面,對(duì)用戶自定義物項(xiàng)進(jìn)行關(guān)聯(lián)關(guān)系創(chuàng)建以及對(duì)現(xiàn)有自定義關(guān)聯(lián)關(guān)系進(jìn)行管理維護(hù),在Rule Checker框架下開發(fā)對(duì)應(yīng)規(guī)則實(shí)現(xiàn)關(guān)聯(lián)物項(xiàng)關(guān)系的關(guān)聯(lián)屬性自動(dòng)更新,以及通過編寫windows服務(wù)實(shí)現(xiàn)在物項(xiàng)被刪除后該物項(xiàng)相關(guān)的所有自定義關(guān)系自動(dòng)刪除等功能,從而實(shí)現(xiàn)了對(duì)自定義物項(xiàng)關(guān)聯(lián)關(guān)系的全生命周期管理。
Smart 3D軟件提供了Automation ToolKit平臺(tái),用戶可在該平臺(tái)上創(chuàng)建自定義插件實(shí)現(xiàn)各種自定義功能。Automation ToolKit最大的優(yōu)勢(shì)在于只需在服務(wù)器上部署一次,其他客戶端均可以訪問到對(duì)應(yīng)功能插件,極大地簡(jiǎn)便了用戶在自定義插件上部署,減少了維護(hù)上的投入。
本文提到的自定義物項(xiàng)關(guān)聯(lián)關(guān)系創(chuàng)建和管理功能的實(shí)現(xiàn),是通過在Automation ToolKit平臺(tái)上開發(fā)對(duì)應(yīng)插件及部署來實(shí)現(xiàn)。其中,自定義物項(xiàng)關(guān)聯(lián)關(guān)系創(chuàng)建的核心是在Smart 3D的Model數(shù)據(jù)庫(kù)中創(chuàng)建一張自定義關(guān)聯(lián)關(guān)系表,以便記錄用戶定義的關(guān)聯(lián)關(guān)系。用戶通過在開發(fā)完成的界面中選擇需要關(guān)聯(lián)的物項(xiàng),軟件自動(dòng)將關(guān)聯(lián)物項(xiàng)的oid存入自定義關(guān)聯(lián)關(guān)系表中。
在操作過程中,為了防止用戶選錯(cuò)需要關(guān)聯(lián)的物項(xiàng),采用了Step Command功能,其中的每一步均預(yù)先設(shè)置了需要進(jìn)行關(guān)聯(lián)的物項(xiàng)種類。用戶首選物項(xiàng)種類,在后續(xù)選擇過程中軟件自動(dòng)對(duì)選中物項(xiàng)進(jìn)行篩選,只選中對(duì)應(yīng)種類物項(xiàng),便可大幅提高選擇物項(xiàng)的效率和準(zhǔn)確性,防止誤操作產(chǎn)生。同時(shí),在創(chuàng)建關(guān)聯(lián)關(guān)系過程中,會(huì)動(dòng)態(tài)將當(dāng)前選中物項(xiàng)已有的關(guān)聯(lián)物項(xiàng)顯示出來,防止用戶創(chuàng)建冗余關(guān)系,進(jìn)一步提高用戶操作的準(zhǔn)確性。
完成關(guān)系創(chuàng)建后,程序會(huì)根據(jù)用戶的具體需求在建立關(guān)聯(lián)關(guān)系的物項(xiàng)之間進(jìn)行屬性的傳遞,從而方便后續(xù)計(jì)算分析工作的開展。
考慮到對(duì)自定義物項(xiàng)關(guān)聯(lián)關(guān)系的管理,軟件還提供了對(duì)應(yīng)的管理功能,通過點(diǎn)擊主界面中的“關(guān)聯(lián)關(guān)系清單”按鈕,即可喚出關(guān)聯(lián)關(guān)系管理界面。在管理界面中,提供了篩選條件供用戶快速查找關(guān)聯(lián)關(guān)系,同時(shí)還提供了現(xiàn)有關(guān)聯(lián)關(guān)系的導(dǎo)出和批量刪除功能,便于用戶快速對(duì)已有的關(guān)聯(lián)關(guān)系進(jìn)行主動(dòng)管理。
通過Automation ToolKit創(chuàng)建完成自定義物項(xiàng)關(guān)聯(lián)關(guān)系后,對(duì)于需要進(jìn)行屬性傳遞的物項(xiàng)關(guān)聯(lián)關(guān)系,必然會(huì)遇到本來在創(chuàng)建過程中傳遞完畢過一次的屬性被設(shè)計(jì)人員重新修改的情況,但修改后對(duì)應(yīng)設(shè)計(jì)人員可能根本不知道被修改的物項(xiàng)與其他物項(xiàng)有關(guān)聯(lián)關(guān)系以及對(duì)應(yīng)屬性要傳遞給關(guān)聯(lián)物項(xiàng),這就會(huì)造成關(guān)聯(lián)物項(xiàng)屬性的前后不一致,從而為后續(xù)計(jì)算分析結(jié)果的準(zhǔn)確性埋下隱患。對(duì)此,最簡(jiǎn)單的解決辦法就是強(qiáng)制要求用戶在進(jìn)行物項(xiàng)修改過程中,進(jìn)入關(guān)聯(lián)物項(xiàng)管理軟件中確認(rèn)當(dāng)前物項(xiàng)是否存在關(guān)聯(lián)物項(xiàng),如果存在強(qiáng)制就重新更新一次,但這種做法無疑會(huì)給設(shè)計(jì)人員帶來大量的工作投入,并且會(huì)引入因?yàn)檫z忘帶來的人因誤差,這從本質(zhì)上違反了開發(fā)自定義物項(xiàng)關(guān)聯(lián)關(guān)系軟件從減少設(shè)計(jì)人員工作投入到提高設(shè)計(jì)效率與設(shè)計(jì)質(zhì)量的初衷。
Smart 3D軟件提供的Rule Checker框架能夠監(jiān)控到項(xiàng)目中每個(gè)物項(xiàng)的修改情況,因此完全可以使用Rule Checker框架來完成全自動(dòng)的自定義物項(xiàng)關(guān)聯(lián)關(guān)系屬性更新維護(hù)工作。自定義物項(xiàng)關(guān)聯(lián)關(guān)系屬性自動(dòng)更新方法流程圖如圖1所示。
圖1 自定義物項(xiàng)關(guān)聯(lián)關(guān)系屬性自動(dòng)更新方法流程圖
使用了Rule Checker后,自定義物項(xiàng)關(guān)聯(lián)屬性更新工作完全由Rule Checker框架完成,在節(jié)省設(shè)計(jì)人員工作投入的同時(shí),也保證了屬性更新的高效準(zhǔn)確,從而確保了設(shè)計(jì)模型質(zhì)量以及后續(xù)計(jì)算分析的準(zhǔn)確性。
在設(shè)計(jì)過程中,必然存在設(shè)計(jì)物項(xiàng)的刪除操作。對(duì)于存在自定義物項(xiàng)關(guān)聯(lián)關(guān)系的物項(xiàng),如果被刪除之前,尚未刪除其自定義關(guān)系,時(shí)間久了,就會(huì)造成大量不存在的錯(cuò)誤關(guān)系被存儲(chǔ)在數(shù)據(jù)庫(kù)中,為設(shè)計(jì)人員的后續(xù)設(shè)計(jì)工作帶來麻煩。
為此,本研究開發(fā)的軟件提供了兩種針對(duì)關(guān)聯(lián)物項(xiàng)被刪除后其相關(guān)物項(xiàng)關(guān)聯(lián)關(guān)系的刪除方法:一是在自定義物項(xiàng)關(guān)聯(lián)關(guān)系創(chuàng)建及管理軟件界面中提供了“去除冗余關(guān)系”按鈕,用戶可以通過點(diǎn)擊按鈕觸發(fā)式完成已經(jīng)不存在物項(xiàng)的關(guān)聯(lián)關(guān)系的批量刪除;二是通過編寫定時(shí)運(yùn)行的windows服務(wù),自動(dòng)檢測(cè)被刪除對(duì)象的關(guān)聯(lián)關(guān)系并刪除(圖2)。
圖2 檢測(cè)被刪除對(duì)象關(guān)聯(lián)關(guān)系并自動(dòng)刪除流程圖
通過上述兩個(gè)方法,可以實(shí)現(xiàn)全自動(dòng)的物項(xiàng)被刪除后其自定義關(guān)聯(lián)關(guān)系自動(dòng)刪除,從而節(jié)約設(shè)計(jì)人員大量的工作時(shí)間,提高工作效率。
本文主要討論在Smart 3D環(huán)境下用戶自定義物項(xiàng)關(guān)聯(lián)關(guān)系的創(chuàng)建、管理和維護(hù)的方法,同時(shí)通過編寫軟件實(shí)現(xiàn)了上述方法。通過使用軟件,能夠方便根據(jù)用戶實(shí)際需求進(jìn)行物項(xiàng)之間自定義關(guān)系的創(chuàng)建與維護(hù),為后續(xù)設(shè)計(jì)環(huán)節(jié)以及多專業(yè)交叉設(shè)計(jì)的順利進(jìn)行打下基礎(chǔ)。Smart 3D自定義物項(xiàng)關(guān)聯(lián)關(guān)系創(chuàng)建和管理方法的實(shí)現(xiàn),代替了傳統(tǒng)的線下記錄以及提資的工作流程,大幅提高了設(shè)計(jì)人員工作效率以及設(shè)計(jì)模型的準(zhǔn)確性,也避免了設(shè)計(jì)人員手動(dòng)維護(hù)關(guān)系帶來的出錯(cuò)風(fēng)險(xiǎn),為后續(xù)數(shù)字化設(shè)計(jì)工作開展提供了數(shù)據(jù)保障。