3D列印技術之切片引擎(4)

2021-07-03 14:50:11 字數 2120 閱讀 7382

【此系列文章基於熔融沉積( fused depostion modeling, fdm )成形工藝】

這一篇文章我講一下多邊列印的問題,多邊列印是切片引擎的一項關鍵的技術。

圖1 雙邊列印

首先,它可以保證列印實體表面免受內部填充的衝擊,保證外觀的真實度;其次,在上層在相對於下層傾斜較大時,多邊列印可以很好的起到支撐的作用,避免上層塌陷。

但是,目前來說,我的多邊列印還不夠普適,對一些不規範的模型,以及模型中非常尖銳的特徵效果並不好,對絕大部分的較為平滑的模型是完全沒有問題的。

下面就簡單說一下它的原理:假設邊界中的任意相鄰的向量ab和bc,這裡要找的是點d(角abc中心線上的一點),看下圖:

找出邊界環中每乙個相鄰向量的d點,工作就基本完成了。所以原理非常簡單,只不過是很多瑣碎的細節需要處理好,比如說向量bd的方向問題,b點和d點的歐氏距離等等,不能再說了,再說就有誤導人之嫌,其實這段時間細想,我的切片引擎的這些想法並無優秀可言,可是還是想把那段時間的工作記錄下來,僅此而已,閒話說幾句,這段時間在做與測繪相關的演算法,本來認為可以寫成博文與大家分享的東西,結果硬是變成了核心期刊上的**了,哎,只是覺得那個東西離**水平的創新還有不小的距離啊,看來,國內的**質量……,呵呵。下面呈上**,其中getinnerboundary函式有些不夠規範,用了goto跳轉,而且一些細節也不是最科學,當初主要是趕進度,為了適應公司的建模能力不足。

void getangularbisector(float3 &bisector,float3 point,float3 leftpoint,float3 rightpoint)

else

if(v1[0]==v2[0])

else

}else

else

if(v1[0]==v2[0])

else

}else

}}void getinnerpoint(float3 &innerpoint,float3 point,float3 leftpoint,float3 rightpoint,float margin)

}void getinnerpoint(phasor *innerphasor,phasor *phasor,phasor*leftphasor,phasor *rightphasor,float margin,int fillmaterial)

void getinnerboundary(phasor *&innerphasors,phasor *phasors,int phasor_num,vector

> &closedset

,float lineheight,int fillmaterial,bool *innerboundarystatus)

for(indexmain=0;indexmain!=closedset.size();++indexmain)

else

phasorindexright=closedset[indexmain][(index+1)%closedset[indexmain].size()];

getinnerpoint(innerphasors+phasorindex

,phasors+phasorindex

,phasors+phasorindexleft

,phasors+phasorindexright

,margin,fillmaterial);

for(int i=0;i!=phasor_num;++i)

if(get_vector_distance2(innerphasors[phasorindex].beginpoint,phasors[phasorindex].beginpoint)>

get_vector_distance2(innerphasors[phasorindex].beginpoint,phasors[i].beginpoint))

}if(count>closedset[indexmain].size()/5+1)}}

}

3D列印技術之切片引擎(4)

此系列文章基於熔融沉積 fused depostion modeling,fdm 成形工藝 這一篇文章我講一下多邊列印的問題,多邊列印是切片引擎的一項關鍵的技術。圖1 雙邊列印 首先。它能夠保證列印實體表面免受內部填充的衝擊,保證外觀的真實度 其次,在上層在相對於下層傾斜較大時。多邊列印能夠非常好的...

3D列印技術之切片引擎(5)

此系列文章基於熔融沉積 fused depostion modeling,fdm 成形工藝 從這一篇文章開始,就開始說填充。在3d列印切片技術中,填充演算法是最核心的部分。3d列印技術的經常使用的指標包含 列印速度,穩固性,柔韌性,逼真度,密度 關係著使用列印材料的多少 都與填充演算法有著直接的關係...

3D列印技術之切片引擎(5)

此系列文章基於熔融沉積 fused depostion modeling,fdm 成形工藝 從這一篇文章開始,就開始說填充。在3d列印切片技術中,填充演算法是最核心的部分。3d列印技術的經常使用的指標包含 列印速度,穩固性,柔韌性,逼真度,密度 關係著使用列印材料的多少 都與填充演算法有著直接的關係...