python OCC獲取模型三角剖分的座標點

2021-10-23 04:10:18 字數 1359 閱讀 1040

occ c++ api

我們可以在brep_tool這個包裡可以找到有關三角座標點的函式triangulation,他的第乙個引數是拓撲形狀中的面型別,我們可以通過拓撲形狀探索類topologyexplorer來遍歷乙個shape的所有面。然後他的第二個引數是location位置類,並且沒有被const,且被&修飾,說明是傳進乙個會被修改的引數。因為我沒有用到,猜測是會返回面或者三角座標某個點。

主要關注的是返回的型別poly_triangulation,裡面有很多關於三角座標節點的函式,我們可以鎖定他的乙個函式********s,他會返回乙個三角座標的迭代器,包含所有在這個面上的三角座標

通過遍歷這個迭代器,並且通過類方法value分別傳參1,2,3就可以獲取三個頂點的座標點了。(注意!如果不先顯示模型將會返回none)

top = toploc_location();

trian = brep_tool.triangulation(a_face,top);

#要顯示模型才有

for n in trian.********s():

pnt1 = trian.node(n.value(1));

pnt2 = trian.node(n.value(2));

pnt3 = trian.node(n.value(3));

然後我們通過display.displayshape將做些座標點列印出來就可以對照了,黃色的十字就是座標點,完全正確。

根據需求,我們也可以改變模型的線性偏差和角度偏差來適當改變三角剖分點的密度,關於怎麼改就需要了解三維圖形的有關知識了,下面是修改**。linearity是線性偏差,angular是角度偏差,其他引數可以檢視下**api了解

#改變線性偏差和角度偏差,影響三角網格的分布

brepmesh_incrementalmesh(shp,linearity,false,angular);

還要提的一點是,對於比較規則的曲面和平面模型,三角剖分點會明顯少很多,比如正方體可能一共只有10幾個點,曲面越多、越複雜的模型點就會越多。

用python獲取楊輝三角

其實,在高中我們就學過楊輝三角,他的原理就是乙個數列元素的值對應上乙個相應數列元素 就是索引相同 的值加上前面乙個數列元素的值 def traingle x 需要列印第幾行的 x int x traingle list if x 1 traingle list 1 elif x 2 traingle...

解析ERP部署的三角模型

在面對快速成長和國際競爭的雙重壓力下,越來越多的中國企業選擇部署erp系統,利用資訊科技改進經營,提公升管理。在面對快速成長和國際競爭的雙重壓力下,越來越多的中國企業選擇部署erp系統,利用資訊科技改進經營,提公升管理。但同時,由於缺乏應用erp系統的成熟經驗,對能否成功實施erp又存在一定的顧慮。...

解析ERP部署的三角模型

在面對快速成長和國際競爭的雙重壓力下,越來越多的中國企業選擇部署erp系統,利用資訊科技改進經營,提公升管理。在面對快速成長和國際競爭的雙重壓力下,越來越多的中國企業選擇部署erp系統,利用資訊科技改進經營,提公升管理。但同時,由於缺乏應用erp系統的成熟經驗,對能否成功實施erp又存在一定的顧慮。...