System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及三維建模的,尤其涉及一種基于cad的墻體模型生成方法、裝置、設備及存儲介質。
技術介紹
1、對于目前建筑設計行業和室內設計行業來說,擁有一個準確的能夠表達樓層或者室內三維空間結構的墻體模型,能夠為設計師提供極大的便捷。
2、目前市面上也存在不少場景編輯平臺存在類似的功能輔助設計師進行場景設計,但是目前這個類型的平臺要么是提前導入用專業建模軟件修改過的模型,要么是導入的cad需要按照固定的規則繪制,不便于即時更新,且對用戶有較高的使用門檻,下面進行具體說明:
3、傳統二維cad圖紙設計:
4、建筑設計領域長期以來依賴于二維cad圖紙。這些圖紙詳細描述了建筑的平面布局、結構和功能區域,但只能在二維平面上展示建筑信息。
5、典型的cad圖紙格式包括dwg和dxf,這些格式被廣泛用于建筑設計、施工圖紙和工程圖紙中。盡管二維cad圖紙能夠提供詳盡的建筑信息,但其平面視角限制了設計師和施工人員對建筑空間的三維理解。
6、三維建模的發展:
7、隨著計算機技術的進步,三維建模技術在建筑設計中得到了越來越廣泛的應用。三維建模可以提供更加直觀和真實的建筑視覺效果,幫助設計師進行空間分析、碰撞檢測和虛擬現實展示。
8、常見的三維建模軟件包括autodesk?revit、sketchup、3ds?max等,這些軟件需要專業的建模師搭建詳細的三維建筑模型,用于展示建筑的空間布局和結構細節。
9、cad圖紙到三維模型的轉換:
10、為了將二
11、然而,常見的建筑圖紙生成墻體模型方法通常將整個墻體作為一個整體來生成,這在遇到復雜的頂面結構時,容易出現錯誤,不利于墻體模型生成的精確性。
12、基于此,如何提升墻體模型生成的精確性,是個亟待解決的技術問題。
技術實現思路
1、為了克服現有技術的不足,本申請提供一種基于cad的墻體模型生成方法、裝置、設備及存儲介質,以將墻體模型拆分為墻側面和墻頂面分別生成,進而實現更加精確地處理墻頂面結構,減少了生成錯誤,提高了模型生成的準確度的有益效果。
2、本申請解決其技術問題所采用的技術方案是:
3、一種基于cad的墻體模型生成方法,所述方法包括:
4、解析目標cad文件,以得到圖形元素組;
5、對所述圖形元素組中每一圖形元素進行轉換,以得到底面頂點數組;
6、獲取外部輸入的高度值,以根據所述高度值和所述底面頂點數組確定頂面頂點數組和總頂點數組;
7、添加索引至所述總頂點數組,以生成墻體側面模型的墻面三角形數組,并根據所述頂面頂點數組對墻體頂面執行三角剖分,以生成墻體頂面的頂面三角形數組;
8、根據所述底面頂點數組、所述總頂點數組、所述墻面三角形數組和所述頂面三角形數組,生成墻體的頂面模型和側面模型。
9、可選的,所述對所述圖形元素組中每一圖形元素進行轉換,以得到底面頂點數組的步驟包括:
10、對所述圖形元素進行解析,以得到對應的圖形元素類型及三維空間坐標信息;
11、根據所述圖形元素類型和所述三維空間坐標信息,確定所述圖形元素對應的底面頂點數組。
12、可選的,所述根據所述圖形元素類型和所述三維空間坐標信息,確定所述圖形元素對應的底面頂點數組的步驟包括:
13、若所述圖形元素為圓,則基于所述三維空間坐標信息,采用以下公式確定所述底面頂點數組:
14、;
15、;
16、其中,、為三維空間坐標信息對應的軸坐標值和軸坐標值,為圓的半徑,為圓邊上的值,為圓邊上的值,用于表示角度。
17、可選的,所述根據所述高度值和所述底面頂點數組確定頂面頂點數組和總頂點數組的步驟包括:
18、遍歷所述底面頂點數組,并基于所述高度值生成頂面頂點數組;
19、將所述頂面頂點數組拼接至所述底面頂點數組,以生成所述總頂點數組。
20、可選的,所述添加索引至所述總頂點數組,以生成墻體側面模型的墻面三角形數組,并根據所述頂面頂點數組對墻體頂面執行三角剖分,以生成墻體頂面的頂面三角形數組的步驟包括:
21、根據預設的第一索引規則,基于所述總頂點數組進行調整,以得到墻面三角形數組;
22、其中,所述根據預設的第一索引規則,基于所述總頂點數組進行調整的步驟包括:
23、判斷所述圖形元素是否為閉合圖形,若所述圖形元素為閉合圖形,則在所述根據預設的第一索引規則,基于所述總頂點數組進行調整的步驟之后,根據預設的第二索引規則,基于經所述第一索引規則調整后的所述總頂點數組進行調整,以得到所述墻面三角形數組;
24、使用耳切法或掃描線法對所述頂面頂點數組進行三角剖分,以得到頂面三角形數組。
25、可選的,所述根據所述底面頂點數組、所述總頂點數組、所述墻面三角形數組和所述頂面三角形數組,生成墻體的頂面模型和側面模型的步驟之后,所述方法包括:
26、根據所述底面頂點數組、所述總頂點數組、所述墻面三角形數組和所述頂面三角形數組,生成結構體映射表;
27、將所述頂面模型和所述側面模型存入所述結構體映射表的對應屬性,并反轉所述結構體映射表的鍵值關系,以得到模型頂點數組表;
28、獲取模型更新指令,以對所述模型頂點數組表進行檢索,得到待更新條目;
29、修改與所述待更新條目對應的頂點坐標數據,以得到更新條目;
30、將所述更新條目添加至對應結構的修改操作表,以對目標墻體模型進行更新,所述目標墻體模型根據所述模型更新指令進行確定。
31、可選的,所述方法還包括:
32、獲取添加墻體頂面指令,并確定多個待生成頂面的墻體側面模型;
33、基于所述模型頂點數組表,確定對應于每一所述墻體側面模型的頂面頂點坐標數組;
34、根據模型選擇順序依次拼接每一所述墻體側面模型的頂面頂點坐標數組,以得到拼接頂點數組;
35、基于所述拼接頂點數組,生成與所述添加墻體頂面指令對應的頂面模型。
36、本申請第二方面提供了一種基于cad的墻體模型生成裝置,包括:
37、cad文件解析模塊,用于解析目標cad文件,以得到圖形元素組;
38、圖形元素轉換模塊,用于對所述圖形元素組中每一圖形元素進行轉換,以得到底面頂點數組;
39、頂點數組計算模塊,用于獲取外部輸入的高度值,以根據所述高度值和所述底面頂點數組確定頂面頂點數組和總頂點數組;
40、三角形數組生成模塊,用于添加索引至所述總頂點數組,以生成墻體側面模型的墻面三角形數組,并根據所述頂面頂點數組對墻體頂本文檔來自技高網...
【技術保護點】
1.一種基于CAD的墻體模型生成方法,其特征在于,所述方法包括:
2.根據權利要求1所述的基于CAD的墻體模型生成方法,其特征在于,所述對所述圖形元素組中每一圖形元素進行轉換,以得到底面頂點數組的步驟包括:
3.根據權利要求2所述的基于CAD的墻體模型生成方法,其特征在于,所述根據所述圖形元素類型和所述三維空間坐標信息,確定所述圖形元素對應的底面頂點數組的步驟包括:
4.根據權利要求1所述的基于CAD的墻體模型生成方法,其特征在于,所述根據所述高度值和所述底面頂點數組確定頂面頂點數組和總頂點數組的步驟包括:
5.根據權利要求4所述的基于CAD的墻體模型生成方法,其特征在于,所述添加索引至所述總頂點數組,以生成墻體側面模型的墻面三角形數組,并根據所述頂面頂點數組對墻體頂面執行三角剖分,以生成墻體頂面的頂面三角形數組的步驟包括:
6.根據權利要求1所述的基于CAD的墻體模型生成方法,其特征在于,所述根據所述底面頂點數組、所述總頂點數組、所述墻面三角形數組和所述頂面三角形數組,生成墻體的頂面模型和側面模型的步驟之后,所述方法包
7.根據權利要求6所述的基于CAD的墻體模型生成方法,其特征在于,所述方法還包括:
8.一種基于CAD的墻體模型生成裝置,其特征在于,包括:
9.一種電子設備,其特征在于,包括:至少一個處理器以及至少一個存儲器,其中,所述存儲器上存儲有計算機可讀指令;
10.一種存儲介質,其上存儲有計算機可讀指令,其特征在于,所述計算機可讀指令被處理器執行,以實現如權利要求1至7中任一項所述的基于CAD的墻體模型生成方法。
...【技術特征摘要】
1.一種基于cad的墻體模型生成方法,其特征在于,所述方法包括:
2.根據權利要求1所述的基于cad的墻體模型生成方法,其特征在于,所述對所述圖形元素組中每一圖形元素進行轉換,以得到底面頂點數組的步驟包括:
3.根據權利要求2所述的基于cad的墻體模型生成方法,其特征在于,所述根據所述圖形元素類型和所述三維空間坐標信息,確定所述圖形元素對應的底面頂點數組的步驟包括:
4.根據權利要求1所述的基于cad的墻體模型生成方法,其特征在于,所述根據所述高度值和所述底面頂點數組確定頂面頂點數組和總頂點數組的步驟包括:
5.根據權利要求4所述的基于cad的墻體模型生成方法,其特征在于,所述添加索引至所述總頂點數組,以生成墻體側面模型的墻面三角形數組,并根據所述頂面頂點數組對墻體頂面執行...
【專利技術屬性】
技術研發人員:黃圣峻,葉頌洪,黃亞平,黃海濱,
申請(專利權)人:啟迪數字科技深圳有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。