国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于step文件的從cad模型到mcnp幾何模型的轉(zhuǎn)換算法

      文檔序號:8472967閱讀:1189來源:國知局
      基于step文件的從cad模型到mcnp幾何模型的轉(zhuǎn)換算法
      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及物理、核科學(xué)技術(shù)和CAD建模等領(lǐng)域,核心內(nèi)容是基于STEP文件的從 CAD模型到MCNP幾何模型的轉(zhuǎn)換算法。
      【背景技術(shù)】
      [0002] 蒙特卡洛中子-光子輸運程序MCNP(MonteCarloN-ParticleCode)是美國 新墨西哥洛斯阿拉莫斯國家實驗室應(yīng)用理論物理部的MonteCarlo小組經(jīng)過數(shù)十年的 研究開發(fā)的一個基于蒙特卡洛方法的大型多功能MonteCarlo粒子輸運程序。因其良 好的粒子輸運性能在物理、核科學(xué)領(lǐng)域有著廣泛的應(yīng)用。但其輸入文件(INPfile)結(jié) 構(gòu)復(fù)雜,手寫容易出錯等問題,國際上出現(xiàn)了很多解決這一問題的軟件,類似Visual Editor,Moritz,DesignModeler,MCAM等軟件,由于這些軟件有的不能添加材料,有的不能 對導(dǎo)入的模型進行修改等原因不能滿足用戶的需求。另外,能解決上述問題的思路大致有 三類,意思從BREP表示到CSG表示的轉(zhuǎn)換,二是基于大型三維建模軟件的二次開發(fā),三是基 于中性文件的轉(zhuǎn)換。第一種由于兩種轉(zhuǎn)換的表示涉及到大量的數(shù)學(xué)知識和計算機圖形學(xué)的 知識,在轉(zhuǎn)換的過程中會帶來諸多麻煩。第二種太容易受到軟件本身數(shù)據(jù)結(jié)構(gòu)定義的限制, 并在一般大型的三維建模軟件像CATIA和solidworks等都是商業(yè)軟件,版權(quán)很貴。因此我 們提出了基于中性文件STEP(StanderfortheExchangeofProductModelData)的從 CAD模型到MCNP幾何模型的轉(zhuǎn)換算法。因為CAD系統(tǒng)具有強大的幾何建模功能,我們可以 將CAD系統(tǒng)構(gòu)建的模型導(dǎo)出成STEP文件后在轉(zhuǎn)換為INPfile。
      [0003] STEP標準是ISO(國際標準化組織)提出的信息交換標準,通過一種不依賴于任 何系統(tǒng)的中性機制,為解決不同CAX系統(tǒng)間的數(shù)據(jù)交換和共享提供了可行性。STEP可以被 多種CAD建模軟件支持,因此通過設(shè)計STEP文件到INP文件的轉(zhuǎn)換算法以實現(xiàn)CAD模型到 MCNP模型的轉(zhuǎn)換,最終實現(xiàn)MCNP輔助建模,這樣的轉(zhuǎn)換算法具有通用性,可實現(xiàn)多個CAD系 統(tǒng)與MCNP模型的交互。

      【發(fā)明內(nèi)容】

      [0006] 針對INP文件格式,為了實現(xiàn)通用的CAD建模軟件與MCNP模型之間的交互,本發(fā) 明公開一種全新的基于STEP文件的從CAD模型到MCNP幾何模型的轉(zhuǎn)換算法。
      [0007] 本發(fā)明通過對STEP文件進行分析,提取文件中有用的幾何信息,通過進一步幾何 運算,得到INPfile需要的幾何信息和拓撲信息,然后根據(jù)INP文件格式將CAD模型轉(zhuǎn)換 成相應(yīng)的柵元卡和曲面卡形式,完成CAD建模軟件與MCNP模型之間的交互。為了提高算法 的靈活性,在前一階段對體進行分析基礎(chǔ)上進行了改進,改進之后的算法可以直接對模型 中的面進行分析,能夠輸出任意模型的曲面卡。對于柵元卡的輸出則采用構(gòu)造柵元樹的方 法進行。本部分將分為四個部分來介紹
      【發(fā)明內(nèi)容】
      ,主要分為,本算法整體思路,對STEP文件 信息提取算法,構(gòu)造柵元樹算法和柵元樹輸出算法。
      [0008] 本發(fā)明整體算法步驟如下: St印1提取STEP文件中封閉殼(CLOSED_SHELL)信息:根據(jù)不同的曲面卡生成所需參數(shù) 提取STEP文件中相對應(yīng)的法方向、點坐標半徑、角度等信息。根據(jù)不同的柵元卡生成所需 參數(shù)提取STEP文件中相當對應(yīng)體的信息,并將對應(yīng)的字符轉(zhuǎn)換成數(shù)字; St印2組成封閉殼(CLOSED_SHELL)的所有曲面方程求?。焊鶕?jù)STEP文件中的關(guān)鍵字先 判斷出曲面的類型,然后根據(jù)Stepl中提取的信息,通過數(shù)學(xué)幾何計算求出各種曲面的方 程。聲明新的柵元節(jié)點并根據(jù)曲面卡形式,將封閉殼中所包含的所有曲面的參數(shù)以及面信 息均存于該節(jié)點中; St印3STEP文件中封閉殼(CLOSED_SHELL)之間包含關(guān)系判定:若封閉殼A包含封閉殼B,則Produce(A,B) =1;若封閉殼B包含封閉殼A,則Produce(A,B) =-1;若封閉殼A與封閉 殼B不存在包含關(guān)系,則Produce(A,B) =0 ; Step4柵元樹構(gòu)造:根據(jù)Step3中Produce(A,B)函數(shù)的返回值構(gòu)造柵元樹。這里假設(shè)Cl為新加入的柵元節(jié)點,C2為柵元樹中的節(jié)點,將節(jié)點Cl與柵元樹中的所有柵元節(jié)點進行 比較即求對應(yīng)的Produce(Cl,C2)值。當Produce(Cl,C2)=l時,將A作為B的孩子節(jié)點;當 Produce(Cl,C2) =-1,將A作為B的父節(jié)點;當Produce(Cl,C2) =0時,將A作為B的兄弟節(jié) 占. St印5判斷STEP文件中所有封閉殼搜索是否完成:完成時,轉(zhuǎn)Step6 ;若沒有,轉(zhuǎn)Stepl; Step6選擇標號方式對柵兀樹中柵兀進行標號; Step7曲面卡、柵元卡輸出:遍歷柵元樹,按序輸出柵元樹中所有柵元節(jié)點中所包含的 曲面卡的信息于txt文件中,同時將遍歷到的柵元節(jié)點作為根節(jié)點,再次遍歷該節(jié)點下面 所有層的所有節(jié)點,得到它們的柵元號并以"a±fl±f2~#b#c#d..."的形式輸出于同一個 txt文件中(a表示當前柵元節(jié)點柵元號,fl、f2…表示該柵元邊界曲面的曲面號土表示曲 面方向,b、c、d…表示當前柵元節(jié)點下面所有層?xùn)旁?jié)點的柵元號); Step8算法結(jié)束。
      [0009] 由于在STEP文件里的信息包括了產(chǎn)品的整個生命周期,信息豐富,我們只需獲得 我們所需的信息即可。所以本算法在對STEP文件進行信息提取時只提取對柵元卡和曲面 卡輸出有用的信息。
      [0010] 在Stepl中對于STEP文件信息的提取時采用的是按索引號和關(guān)鍵字的方式提取 信息的。
      [0011] 對于一般的STEP文件不能僅僅是按照行的模式讀取,因為可能存在STEP文件不 是以行的形式來進行存儲的,所以本算法采取以分號作為結(jié)束標志進行文件讀取,避免了 格式不同而讀取失敗的情況發(fā)生。
      [0012]STEP文件信息提取算法步驟如下: St印1 令K= "CL0SED_SHELL" ; Step2以分號作為讀取結(jié)束標志讀取STEP文件存于字符數(shù)組chi中; St印3判斷K是否在該字符數(shù)組中,是則轉(zhuǎn)Step4,否則轉(zhuǎn)Step2 ; St印4將字符數(shù)組chi中括號里的索引數(shù)字存
      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1